Configuration d’AWS PrivateLink pour rendre un RDS privé accessible à ClickPipes
Cette méthode utilise AWS Endpoint Service et convient principalement à l’accès interrégional. Si vous avez besoin d’un accès dans la même région,
la création d’une ressource VPC est
recommandée à la place.
Création du lien privé
-
Localisez votre VPC et créez un NLB
- Accédez au VPC cible et créez un Network Load Balancer (NLB). Notez que le NLB doit être interne (privé) et non exposé à Internet (public).
-
Configurez le groupe cible
- Le groupe cible doit pointer vers l’IP du point de terminaison de l’instance RDS et son port (généralement 5432 pour PostgreSQL ou 3306 pour MySQL).
Si vous souhaitez automatiser la mise à jour du groupe cible avec la nouvelle IP du point de terminaison RDS, vous pouvez utiliser des fonctions AWS Lambda ou d’autres outils d’automatisation.
L’un des modules Terraform pouvant être utilisés à cette fin est celui-ci.
- IMPORTANT : assurez-vous que le point de terminaison de l’instance RDS utilisé dans le cas d’un cluster DB/Aurora est UNIQUEMENT le point de terminaison WRITER, et NON le point de terminaison commun.
- Assurez-vous que le protocole TCP est utilisé afin d’éviter la terminaison TLS par le NLB.
-
Définissez le port d’écoute
- Le port d’écoute du load balancer doit correspondre au port utilisé par le groupe cible (généralement 5432 pour PostgreSQL ou 3306 pour MySQL).
-
Créez le service de point de terminaison VPC
- Dans le VPC, créez un service de point de terminaison pointant vers le NLB.
- Activez l’acceptation des demandes de connexion provenant de comptes spécifiques.
-
Autorisez ClickPipes à utiliser le service de point de terminaison
- Accordez au compte ClickPipes l’autorisation de demander ce service de point de terminaison.
- Configurez les Principals autorisés en ajoutant l’ID de principal suivant :
- Configurez les Principals autorisés en ajoutant l’ID de principal suivant :
- Accordez au compte ClickPipes l’autorisation de demander ce service de point de terminaison.
-
Désactivez « Enforce Security Group Inbound Rules on Private Link Traffic » sur le NLB (si un Security Group est associé au NLB)
- Accédez aux paramètres du NLB et désactivez le paramètre « Enforce Security Group Inbound Rules on Private Link Traffic » si un Security Group est associé au NLB.
- Si vous utilisez Terraform, définissez l’attribut
enforce_security_group_inbound_rules_on_private_link_trafficsuroffpour le NLB - Ce paramètre est requis pour autoriser le trafic du VPC ClickPipes vers le NLB.
-
Facultatif : activez la prise en charge interrégionale si la région de votre base de données est différente de celle de ClickPipes
- Sous
Endpoint Servicesdans la console VPC, sélectionnez votre service de point de terminaison. - Cliquez sur le bouton
Actions, puis sélectionnezModify supported Regions. - Ajoutez les régions dans lesquelles vous souhaitez autoriser l’accès au service de point de terminaison ; voir ici la liste des régions ClickPipes.
- Sous
-
Recommandé pour MySQL
- Si vous utilisez MySQL, il est recommandé de définir
skip_name_resolve=1comme paramètre dans la base de données source. En raison des vérifications d’état répétées du NLB, MySQL bloquera les hôtes du NLB. La définition de ce paramètre désactive complètement la résolution DNS des noms d’hôte et empêche donc tout blocage des hôtes du NLB. Si vous utilisez RDS, cela nécessitera un redémarrage de l’instance.
- Si vous utilisez MySQL, il est recommandé de définir
Établir la connexion
Ready dans la Console, vous pouvez suivre la section suivante pour créer votre ClickPipe.