Configuração do AWS PrivateLink para expor um RDS privado ao ClickPipes
Etapas para expor um RDS privado ao ClickPipes via AWS PrivateLink, com suporte também a acesso entre regiões.
Criação do Private Link
Siga estas etapas para criar um serviço de endpoint da VPC para sua instância do RDS. Repita estas etapas se você tiver várias instâncias do RDS que exijam serviços de endpoint (OU se usar portas de listener diferentes para instâncias diferentes):
-
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).
- 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:
arn:aws:iam::072088201116:root
- 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
Quando isso estiver concluído, você poderá seguir o guia para iniciar a conexão
Assim que o status aparecer como Ready no Console, você poderá seguir para a próxima seção e criar seu ClickPipe.
Criando ClickPipes
Use o nome DNS obtido na etapa anterior para criar seu ClickPipe.
Atualização dinâmica do IP do endpoint do RDS
Quando o IP do endpoint do RDS mudar (em caso de reinicializações/failover/atualizações), você precisará atualizar o grupo de destino do NLB com o novo IP. Você pode automatizar esse processo usando função AWS Lambda ou outras ferramentas de automação.