Quiero conectar una instancia de cuaderno de Amazon SageMaker a una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) que se encuentra en otra nube virtual privada (VPC).
Resolución
1. Cree una conexión de emparejamiento de VPC.
2. Una vez que la conexión de emparejamiento de VPC esté activa, actualice las tablas de enrutamiento. La subred de la instancia de base de datos de RDS y la subred de la instancia de cuaderno de SageMaker deben tener una ruta común. Por ejemplo, para los siguientes bloques de CIDR:
Bloque de CIDR de la VPC de SageMaker: 192.168.0.0/16
Bloque de CIDR de la VPC de la instancia de base de datos de RDS: 10.0.0.0/24
La tabla de enrutamiento de subred de la instancia de base de datos de Amazon RDS tiene el siguiente aspecto:
| |
---|
Destino | Objetivo |
10.0.0.0/24 | local |
192.168.0.0/16 | Selección de la conexión de emparejamiento de VPC en la lista desplegable |
La tabla de enrutamiento de subred de la instancia del cuaderno de SageMaker tiene el siguiente aspecto:
| |
---|
Destino | Objetivo |
10.0.0.0/24 | Selección de la conexión de emparejamiento de VPC en la lista desplegable |
192.168.0.0/16 | local |
3. Confirme que ambos grupos de seguridad estén configurados correctamente. Para permitir el tráfico desde la instancia del cuaderno a la instancia de base de datos de RDS:
En el grupo de seguridad de la instancia de cuaderno: Asegúrese de que haya una regla de salida que permita el tráfico a la instancia de base de datos de RDS.
En el grupo de seguridad de la instancia de base de datos: Asegúrese de que haya una regla de entrada que permita el grupo de seguridad, el bloque de CIDR de la VPC o el bloque de CIDR de la subred de la instancia del cuaderno.
4. Para probar la conexión, ejecute el siguiente comando en un terminal de la instancia de cuaderno de SageMaker. Sustituya los valores siguientes en el ejemplo:
mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com: el punto de conexión de la instancia de base de datos
3306: el puerto de la instancia de base de datos
curl -v mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com:3306
Solución de problemas
Si la instancia de cuaderno tiene activado el acceso directo a Internet, es posible que se produzca un error en el comando test (por ejemplo, «Connection timed out»). Si esto ocurre, ejecute el siguiente comando para comprobar la tabla de enrutamiento de la instancia de cuaderno a nivel del sistema operativo:
route -n
Cuando se activa el acceso directo a Internet, la tabla de enrutamiento tiene un aspecto similar al siguiente:
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
En este ejemplo, el bloque de CIDR de la VPC de instancia de base de datos es 10.0.0.0/24. La tabla de enrutamiento del sistema operativo no tiene una ruta a 10.0.0.0/24. En cambio, el tráfico al bloque de CIDR de la VPC de RDS utiliza la interfaz de red principal (eth0), que gestiona el tráfico público. Para resolver el problema de conexión, modifique la tabla de enrutamiento para que utilice eth2, que es la interfaz de red elástica de la VPC de la instancia de cuaderno:
1. Anote la dirección del enrutador de la VPC de SageMaker. En este ejemplo, 192.168.0.0/16 (el bloque de CIDR de la VPC de la instancia de cuaderno) se enruta a 192.168.0.1. Esto significa que 192.168.0.1 es la dirección del enrutador de la VPC.
2. Añada la ruta a la tabla de enrutamiento del terminal de instancia de cuaderno. Sustituya estos valores en el ejemplo:
10.0.0.0/24: el bloque de CIDR de la VPC de la instancia de base de datos de RDS
192.168.0.1: la dirección del enrutador de la VPC de la instancia de cuaderno de SageMaker
sudo ip route add 10.0.0.0/24 via 192.168.0.1 dev eth2
3. Confirme que la nueva ruta se encuentra en la tabla de enrutamiento:
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. Vuelva a probar la conexión.
Nota: Los cambios en la tabla de enrutamiento del sistema operativo no persisten entre las sesiones de instancia de cuaderno. Esto significa que, al detener e iniciar la instancia de cuaderno de SageMaker, se pierden los cambios. Para mitigar este problema, utilice una configuración de ciclo de vida para añadir la ruta cada vez que inicie la instancia de cuaderno.
Información relacionada
Connect a notebook instance to resources in a VPC
Connect to SageMaker through a VPC interface endpoint