Comment puis-je me connecter à une instance de base de données Amazon RDS à partir d'une instance de bloc-notes Amazon SageMaker qui se trouve dans un autre VPC ?

Lecture de 5 minute(s)
0

Je voudrais connecter une instance de bloc-notes Amazon SageMaker à une instance de base de données Amazon Relational Database Service (Amazon RDS) qui se trouve dans un autre VPC.

Solution

1.    Créez une connexion d'appairage de VPC.

2.    Une fois la connexion d'appairage de VPC active, mettez à jour les tables de routage. Le sous-réseau de l'instance de base de données RDS et le sous-réseau de l'instance de bloc-notes SageMaker doivent avoir une route vers l'autre. Par exemple, pour les blocs CIDR suivants :

Bloc CIDR VPC SageMaker : 192.168.0.0/16

Bloc CIDR VPC d'instance de base de données RDS : 10.0.0.0/24

La table de routage de sous-réseau de l'instance de base de données Amazon RDS ressemble à ceci :

DestinationCible
10.0.0.0/24local
192.168.0.0/16Sélectionnez la connexion d'appairage de VPC dans la liste déroulante

La table de routage de sous-réseau de l'instance de bloc-notes SageMaker ressemble à ceci :

DestinationCible
10.0.0.0/24Sélectionnez la connexion d'appairage de VPC dans la liste déroulante
192.168.0.0/16local

3.    Vérifiez que les deux groupes de sécurité sont correctement configurés. Pour autoriser le trafic de l'instance de bloc-notes vers l'instance de base de données RDS :

Sur le groupe de sécurité de l'instance de bloc-notes : assurez-vous qu'il existe une règle sortante qui autorise le trafic vers l'instance de base de données RDS.

Sur le groupe de sécurité de l'instance de base de données : assurez-vous qu'il existe une règle entrante qui autorise le groupe de sécurité, le bloc CIDR VPC ou le bloc CIDR de sous-réseau de l'instance de bloc-notes.

4.    Pour tester la connexion, exécutez la commande suivante dans un terminal de l'instance de bloc-notes SageMaker. Remplacez les valeurs suivantes dans l'exemple :

mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com : le point de terminaison de l'instance de base de données

3306 : le port de l'instance de base de données

curl -v mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com:3306

Dépannage

Si l'accès direct à Internet est activé sur l'instance de bloc-notes, la commande test peut échouer (par exemple, « Connexion expirée »). Si cela se produit, exécutez la commande suivante pour vérifier la table de routage de l'instance de bloc-notes au niveau du système d'exploitation :

route -n

Lorsque l'accès direct à Internet est activé, la table de routage ressemble à ce qui suit :

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
10.0.32.0       0.0.0.0         255.255.224.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.255.0   U     0      0        0 veth_def_agent
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.224.0   U     0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-5a785eca34a3
192.168.0.0     0.0.0.0         255.255.128.0   U     0      0        0 eth2
192.168.0.0     192.168.0.1     255.255.0.0     UG    0      0        0 eth2

Dans cet exemple, le bloc CIDR VPC de l'instance de base de données est 10.0.0.0/24. La table de routage du système d'exploitation n'a pas de route vers 10.0.0.0/24. Au lieu de cela, le trafic vers le bloc CIDR VPC RDS utilise l'interface réseau principale (eth0), qui gère le trafic public. Pour résoudre le problème de connexion, modifiez la table de routage pour utiliser eth2, qui est l'interface réseau Elastic de VPC de l'instance de bloc-notes :

1.    Notez l'adresse du routeur VPC SageMaker. Dans cet exemple, 192.168.0.0/16 (le bloc CIDR VPC de l'instance de bloc-notes) est routé vers 192.168.0.1. Cela signifie que 192.168.0.1 est l'adresse du routeur VPC.

2.    Ajoutez la route à la table de routage dans le terminal de l'instance de bloc-notes. Remplacez ces valeurs dans l'exemple :

10.0.0.0/24 : le bloc CIDR VPC de l'instance de base de données RDS

192.168.0.1 : l'adresse du routeur VPC de l'instance de bloc-notes SageMaker

sudo ip route add 10.0.0.0/24 via 192.168.0.1 dev eth2

3.    Vérifiez que la nouvelle route se trouve dans la table de routage :

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
10.0.0.0        192.168.0.1     255.255.255.0   UG    0      0        0 eth2
10.0.32.0       0.0.0.0         255.255.224.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.255.0   U     0      0        0 veth_def_agent
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.224.0   U     0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-5a785eca34a3
192.168.0.0     0.0.0.0         255.255.128.0   U     0      0        0 eth2
192.168.0.0     192.168.0.1     255.255.0.0     UG    0      0        0 eth2

4.    Testez à nouveau la connexion.

Remarque : les modifications apportées à la table de routage du système d'exploitation ne persistent pas entre les sessions de l'instance de bloc-notes. Cela signifie que vous perdez les modifications lorsque vous arrêtez et démarrez l'instance de bloc-notes SageMaker. Pour atténuer ce problème, utilisez une configuration de cycle de vie pour ajouter la route chaque fois que vous démarrez l'instance de bloc-notes.


Informations connexes

Connexion d'une instance de bloc-notes aux ressources d'un VPC

Connexion à Amazon SageMaker via un point de terminaison d'interface VPC

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an