Saltar al contenido

¿Cómo puedo conectarme a una instancia de base de datos de Amazon RDS desde una instancia de cuaderno de Amazon SageMaker que se encuentra en una VPC diferente?

5 minutos de lectura
0

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

Para conectar una instancia de cuaderno de SageMaker a una instancia de base de datos de Amazon RDS que se encuentra en una VPC diferente, sigue estos pasos:

  1. Crea o elimina una conexión de emparejamiento de VPC.

  2. Una vez que la conexión de emparejamiento de VPC esté activa, actualiza las tablas de enrutamiento. La subred de la instancia de base de datos de Amazon 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 Amazon 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:

    DestinoObjetivo
    10.0.0.0/24local
    192.168.0.0/16Selecció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:

    DestinoObjetivo
    10.0.0.0/24Selección de la conexión de emparejamiento de VPC en la lista desplegable
    192.168.0.0/16local

     

  3. Para permitir el tráfico desde la instancia de cuaderno a la instancia de base de datos de Amazon RDS, confirma que ambos grupos de seguridad estén configurados correctamente.
    En el grupo de seguridad de la instancia de cuaderno, confirma que haya una regla de salida que permita el tráfico a la instancia de base de datos de Amazon RDS.
    En el grupo de seguridad de la instancia de base de datos, confirma que haya una regla de entrada que permita el grupo de seguridad de la instancia del cuaderno, el bloque de CIDR de la VPC o el bloque de CIDR de la subred.

  4. Para probar la conexión, ejecuta el siguiente comando en un terminal de la instancia de cuaderno de SageMaker.
    Nota: Sustituye mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com en el ejemplo por el punto de enlace de la instancia de base de datos. Sustituye 3306 por 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 el error Connection timed out en el comando test. Si se produce este error, ejecuta 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 contenido:

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

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 Amazon RDS utiliza la interfaz de red principal (eth0) que gestiona el tráfico público.

Para resolver el problema de conexión, modifica 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. Anota 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. Agrega la ruta a la tabla de enrutamiento del terminal de instancia de cuaderno.
    Nota: En el siguiente ejemplo, sustituye 10.0.0.0/24 por el bloque de CIDR de la VPC para tu instancia de base de datos de Amazon RDS. Sustituye 192.168.0.1 por la dirección del enrutador de la VPC de tu instancia de cuaderno de SageMaker.

    sudo ip route add 10.0.0.0/24 via 192.168.0.1 dev eth2
  3. Confirma que la nueva ruta se encuentra en la tabla de enrutamiento:

    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.

Nota: Los cambios en la tabla de enrutamiento del sistema operativo no persisten entre las sesiones de instancia de cuaderno. Esta falta de persistencia significa que pierdes los cambios cada vez que detienes e inicias la instancia de cuaderno de SageMaker. Para mitigar esta situación, utiliza una configuración de ciclo de vida para agregar la ruta cada vez que inicies la instancia de cuaderno.

Información relacionada

Conectar una instancia de cuaderno en una VPC a recursos externos

Conexión a SageMaker desde la VPC