Salta al contenuto

Come posso connettermi a un'istanza database Amazon RDS da un'istanza notebook Amazon SageMaker che si trova in un cloud privato virtuale diverso?

5 minuti di lettura
0

Desidero connettere un'istanza notebook Amazon SageMaker a un'istanza database Amazon Relational Database Service (Amazon RDS) che si trova in un altro cloud privato virtuale (VPC).

Risoluzione

Per connettere un'istanza notebook SageMaker a un'istanza database Amazon RDS che si trova in un VPC diverso, completa questi passaggi:

  1. Crea o elimina una connessione peering VPC.

  2. Dopo che la connessione peering VPC è attiva, aggiorna le tabelle di routing. La sottorete dell'istanza database Amazon RDS e la sottorete dell'istanza notebook SageMaker devono avere una route che le collega.

    Ad esempio, per i seguenti intervalli CIDR:

    Intervallo CIDR del VPC di SageMaker: 192.168.0.0/16
    Intervallo CIDR del VPC dell'istanza database Amazon RDS: 10.0.0.0/24

    La tabella di routing della sottorete dell'istanza database Amazon RDS ha il seguente aspetto:

    DestinazioneDestinazione
    10.0.0.0/24locale
    192.168.0.0/16Seleziona la connessione peering VPC dall'elenco a discesa

    La tabella di routing della sottorete dell’istanza notebook SageMaker ha il seguente aspetto:

    DestinazioneDestinazione
    10.0.0.0/24Seleziona la connessione peering VPC dall'elenco a discesa
    192.168.0.0/16locale

     

  3. Per consentire il traffico dall'istanza notebook all'istanza database Amazon RDS, verifica che entrambi i gruppi di sicurezza siano configurati correttamente.
    Nel gruppo di sicurezza dell’istanza notebook, verifica che esista una regola in uscita che consente il traffico verso l'istanza database Amazon RDS.
    Nel gruppo di sicurezza dell'istanza database, verifica che esista una regola in entrata che consente il gruppo di sicurezza dell'istanza notebook, l’intervallo CIDR del VPC o l’intervallo CIDR della sottorete.

  4. Per eseguire un test della connessione, utilizza questo comando su un terminale dell'istanza notebook SageMaker.
    Nota: sostituisci mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com nell'esempio con l'endpoint della tua istanza database. Sostituisci 3306 con la porta della tua istanza database.

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

Risolvi i problemi che riscontri

Se l'istanza notebook ha l'accesso diretto a Internet attivato, il comando di test ha esito negativo e viene visualizzato un errore Connection timed out. In tal caso, esegui questo comando per controllare la tabella di routing dell'istanza notebook a livello di sistema operativo:

route -n

Quando l'accesso diretto a Internet è attivato, la tabella di routing è simile alla seguente:

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

In questo esempio, l’intervallo CIDR del VPC dell'istanza database è 10.0.0.0/24. La tabella di routing del sistema operativo non dispone di una route verso 10.0.0.0/24. Invece, il traffico verso l’intervallo CIDR del VPC di Amazon RDS utilizza l'interfaccia di rete primaria (eth0) che gestisce il traffico pubblico.

Per risolvere il problema di connessione, modifica la tabella di routing in modo da utilizzare eth2, l'interfaccia di rete elastica del VPC per l'istanza notebook:

  1. Annota l'indirizzo del router VPC di SageMaker. In questo esempio, 192.168.0.0/16 (l’intervallo CIDR del VPC dell'istanza notebook) viene instradato verso 192.168.0.1. Ciò significa che 192.168.0.1 è l'indirizzo del router VPC.

  2. Aggiungi la route alla tabella di routing nel terminale dell'istanza notebook.
    Nota: nel seguente esempio, sostituisci 10.0.0.0/24 con l’intervallo CIDR del VPC per l’istanza database Amazon RDS. Sostituisci 192.168.0.1 con l'indirizzo del router VPC per l’istanza notebook SageMaker.

    sudo ip route add 10.0.0.0/24 via 192.168.0.1 dev eth2
  3. Verifica che la nuova route sia nella tabella di routing:

    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: le modifiche alla tabella di routing del sistema operativo non persistono tra le sessioni dell’istanza notebook. Questa mancanza di persistenza comporta la perdita delle modifiche ogni volta che arresti e avvii l'istanza notebook SageMaker. Per ovviare al problema, utilizza una configurazione del ciclo di vita per aggiungere la route ogni volta che avvii l'istanza notebook.

Informazioni correlate

Connessione di un'istanza notebook in un VPC a risorse esterne

Connettiti a SageMaker AI all'interno del tuo VPC