Configuração do AWS PrivateLink para expor um RDS privado ao ClickPipes
Isto usa o AWS Endpoint Service e é mais indicado para acesso entre regiões. Se você precisar de acesso na mesma região,
recomenda-se criar um recurso de VPC.
Criação do Private Link
-
Localize sua VPC e crie um NLB
- Acesse a VPC de destino e crie um Network Load Balancer (NLB). Observe que o NLB deve ser interno (privado), e não voltado para a internet (público).
-
Configure o grupo de destino
- O grupo de destino deve apontar para o IP do endpoint e a porta da instância do RDS (normalmente 5432 para PostgreSQL ou 3306 para MySQL).
Se quiser automatizar o processo de atualização do grupo de destino com o novo IP do endpoint do RDS, você pode usar funções AWS Lambda ou outras ferramentas de automação.
Um dos módulos do Terraform que podem ser usados para essa finalidade é este.
- IMPORTANTE: Certifique-se de que o endpoint da instância do RDS usado no caso de cluster de DB/Aurora seja APENAS o endpoint WRITER, e NÃO o endpoint comum.
- Garanta que o protocolo TCP seja usado para evitar a terminação de TLS pelo NLB.
-
Defina a porta do listener
- A porta do listener do balanceador de carga deve corresponder à porta usada pelo grupo de destino (normalmente 5432 para PostgreSQL ou 3306 para MySQL).
-
Crie o serviço de endpoint da VPC
- Na VPC, crie um serviço de endpoint que aponte para o NLB.
- Habilite a aceitação de solicitações de conexão de contas específicas.
-
Autorize o ClickPipes a usar o serviço de endpoint
- Conceda permissão à conta do ClickPipes para solicitar este serviço de endpoint.
- Configure os principals permitidos adicionando o seguinte ID de principal:
- Configure os principals permitidos adicionando o seguinte ID de principal:
- Conceda permissão à conta do ClickPipes para solicitar este serviço de endpoint.
-
Desative “Enforce Security Group Inbound Rules on Private Link Traffic” no NLB (se houver um Security Group anexado ao NLB)
- Acesse as configurações do NLB e desative a opção “Enforce Security Group Inbound Rules on Private Link Traffic” se houver um Security Group anexado ao NLB.
- Se estiver usando Terraform, defina o atributo
enforce_security_group_inbound_rules_on_private_link_trafficcomooffpara o NLB - Essa configuração é obrigatória para permitir tráfego da VPC do ClickPipes para o NLB.
-
Opcional: Habilite o suporte entre regiões caso a região do seu banco de dados seja diferente da região do ClickPipes
- Em
Endpoint Servicesno console da VPC, selecione seu serviço de endpoint. - Clique no botão
Actionse selecioneModify supported Regions. - Adicione as regiões nas quais você deseja permitir acesso ao serviço de endpoint; consulte aqui a lista de regiões do ClickPipes.
- Em
-
Recomendado para MySQL
- Se você estiver usando MySQL, é recomendável definir
skip_name_resolve=1como um parâmetro no banco de dados de origem. Devido às verificações de integridade repetidas do NLB, o MySQL bloqueará os hosts do NLB. Definir esse parâmetro evita completamente a resolução de nomes de host por DNS e, assim, ele nunca bloqueia os hosts do NLB. Se estiver usando RDS, isso exigirá a reinicialização da instância.
- Se você estiver usando MySQL, é recomendável definir
Iniciando a conexão
Ready no Console, você poderá seguir para a próxima seção e criar seu ClickPipe.