Configuración de AWS PrivateLink para exponer una instancia de RDS privada a ClickPipes
Esto utiliza AWS Endpoint Service y está pensado principalmente para el acceso entre regiones. Si necesita acceso dentro de la misma región,
se recomienda crear un recurso de VPC
en su lugar.
Creación de Private Link
-
Localice su VPC y cree un NLB
- Vaya a la VPC de destino y cree un Network Load Balancer (NLB). Tenga en cuenta que el NLB debe ser interno (privado) y no estar expuesto a Internet (público).
-
Configure el grupo de destino
- El grupo de destino debe apuntar a la IP y al puerto del endpoint de la instancia de RDS (normalmente 5432 para PostgreSQL o 3306 para MySQL).
Si desea automatizar el proceso de actualización del grupo de destino con la nueva IP del endpoint de RDS, puede usar funciones Lambda de AWS u otras herramientas de automatización.
Uno de los módulos de Terraform que pueden usarse para este fin es este.
- IMPORTANTE: Asegúrese de que el endpoint de la instancia de RDS usado en el caso de DB Cluster/Aurora sea ÚNICAMENTE el endpoint del escritor y NO el endpoint general.
- Asegúrese de usar el protocolo TCP para evitar que el NLB termine TLS.
-
Establezca el puerto del listener
- El puerto del listener del balanceador de carga debe coincidir con el puerto usado por el grupo de destino (normalmente 5432 para PostgreSQL o 3306 para MySQL).
-
Cree el servicio de endpoint de VPC
- En la VPC, cree un servicio de endpoint que apunte al NLB.
- Habilite la aceptación de solicitudes de conexión de cuentas específicas.
-
Autorice a ClickPipes a usar el servicio de endpoint
- Conceda permiso a la cuenta de ClickPipes para solicitar este servicio de endpoint.
- Configure los principals permitidos agregando el siguiente ID de principal:
- Configure los principals permitidos agregando el siguiente ID de principal:
- Conceda permiso a la cuenta de ClickPipes para solicitar este servicio de endpoint.
-
Deshabilite “Enforce Security Group Inbound Rules on Private Link Traffic” en el NLB (si hay un grupo de seguridad asociado al NLB)
- Vaya a la configuración del NLB y deshabilite la opción “Enforce Security Group Inbound Rules on Private Link Traffic” si hay un grupo de seguridad asociado al NLB.
- Si usa Terraform, establezca el atributo
enforce_security_group_inbound_rules_on_private_link_trafficenoffpara el NLB - Esta configuración es obligatoria para permitir el tráfico desde la VPC de ClickPipes hacia el NLB.
-
Opcional: Habilite la compatibilidad entre regiones si la región de su base de datos es diferente de la región de ClickPipes
- En
Endpoint Servicesde la consola de VPC, seleccione su servicio de endpoint. - Haga clic en el botón
Actionsy seleccioneModify supported Regions. - Agregue las regiones en las que desea permitir el acceso al servicio de endpoint; consulte aquí la lista de regiones de ClickPipes.
- En
-
Recomendado para MySQL
- Si está usando MySQL, se recomienda establecer
skip_name_resolve=1como parámetro en la base de datos de origen. Debido a las comprobaciones de estado repetidas del NLB, MySQL bloqueará los hosts del NLB. Establecer este parámetro evita por completo la resolución DNS de nombres de host y, por tanto, MySQL nunca bloqueará los hosts del NLB. Si usa RDS, esto requerirá reiniciar la instancia.
- Si está usando MySQL, se recomienda establecer
Iniciar la conexión
Ready en la consola, puedes seguir la siguiente sección para crear tu ClickPipe.