Je souhaite 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 cloud privé virtuel (VPC).
Résolution
Pour connecter une instance de bloc-notes SageMaker à une instance de base de données Amazon RDS qui se trouve dans un autre VPC, procédez comme suit :
-
Créez ou supprimez une connexion d'appairage de VPC.
-
Une fois la connexion d'appairage de VPC active, mettez à jour les tables de routage. Le sous-réseau d'instance de base de données Amazon RDS et le sous-réseau d'instance de bloc-notes SageMaker doivent disposer d'une route pour communiquer entre eux.
Par exemple, pour les blocs CIDR suivants :
Bloc CIDR de VPC SageMaker : 192.168.0.0/16
Bloc CIDR de VPC de l'instance de base de données Amazon RDS : 10.0.0.0/24
La table de routage des sous-réseaux de l'instance de base de données Amazon RDS se présente comme suit :
| |
|---|
| Destination | Cible |
| 10.0.0.0/24 | local |
| 192.168.0.0/16 | Sélectionner la connexion d'appairage de VPC dans la liste déroulante |
La table de routage des sous-réseaux des instances de bloc-notes SageMaker se présente comme suit :
| |
|---|
| Destination | Cible |
| 10.0.0.0/24 | Sélectionner la connexion d'appairage de VPC dans la liste déroulante |
| 192.168.0.0/16 | local |
-
Pour autoriser le trafic de l'instance de bloc-notes vers l'instance de base de données Amazon RDS, vérifiez que les deux groupes de sécurité sont correctement configurés.
Dans le groupe de sécurité de l'instance de bloc-notes, vérifiez l’existence d’une règle sortante qui autorise le trafic vers l'instance de base de données Amazon RDS.
Sur le groupe de sécurité de l'instance de base de données, vérifiez l’existence d’une règle entrante qui autorise le groupe de sécurité, le bloc CIDR de VPC ou le bloc CIDR de sous-réseau de l'instance de bloc-notes.
-
Pour tester la connexion, exécutez la commande suivante dans un terminal de l'instance de bloc-notes SageMaker.
Remarque : Remplacez mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com dans l'exemple par le point de terminaison de votre instance de base de données. Remplacez 3306 par le port de votre instance de base de données.
curl -v mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com:3306
Résoudre des problèmes
Si l'accès direct à Internet est activé sur l'instance du bloc-notes, la commande de test échoue avec une erreur Connection timed out (Expiration du délai de connexion). Si cet échec 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 au contenu suivant :
Kernel IP routing tableDestination 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 de VPC de l'instance de base de données est 10.0.0.0/24. La table de routage du système d'exploitation ne dispose pas d’une route vers 10.0.0.0/24. À la place, le trafic vers le bloc CIDR de VPC Amazon 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 afin d'utiliser eth2, l'interface réseau élastique de VPC pour l'instance de bloc-notes :
-
Notez l'adresse du routeur de VPC SageMaker. Dans cet exemple, 192.168.0.0/16 (le bloc CIDR de VPC pour l'instance de bloc-notes) est acheminé vers 192.168.0.1. Cela signifie que 192.168.0.1 est l'adresse du routeur de VPC.
-
Ajoutez la route à la table de routage dans le terminal d'instance du bloc-notes.
Remarque : Dans l'exemple suivant, remplacez 10.0.0.0/24 par le bloc CIDR de VPC pour votre instance de base de données Amazon RDS. Remplacez 192.168.0.1 par l'adresse du routeur de VPC de votre instance de bloc-notes SageMaker.
sudo ip route add 10.0.0.0/24 via 192.168.0.1 dev eth2
-
Vérifiez que la nouvelle route figure dans la table de routage :
Kernel IP routing tableDestination 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
Test the connection again.
Remarque : Les modifications apportées à la table de routage du système d'exploitation ne persistent pas entre les sessions d'instance de bloc-notes. Ce manque de persistance signifie que vous perdez les modifications chaque fois que vous arrêtez et démarrez l'instance de bloc-notes SageMaker. Pour remédier à cette situation, utilisez une configuration de cycle de vie pour ajouter la route chaque fois que vous démarrez l'instance de bloc-notes.
Informations connexes
Connecter une instance de bloc-notes dans un VPC à des ressources externes
Se connecter à SageMaker au sein de votre VPC