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

4 minuti di lettura
0

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

Risoluzione

1.    Crea una connessione peering VPC.

2.    Dopo che la connessione peering VPC è attiva, aggiorna le tabelle dei percorsi. La sottorete dell'istanza database RDS e la sottorete dell'istanza del notebook SageMaker devono avere un percorso reciproco. Ad esempio, per i seguenti blocchi CIDR:

Blocco CIDR VPC SageMaker: 192.168.0.0/16

Blocco CIDR VPC dell'istanza database RDS: 10.0.0.0/24

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

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

La tabella di routing della sottorete delle istanze del notebook SageMaker ha il seguente aspetto:

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

3.    Verifica che entrambi i gruppi di sicurezza siano configurati correttamente. Per consentire il traffico dall'istanza del notebook all'istanza database RDS:

Nel gruppo di sicurezza dell'istanza del notebook: Assicurati che esista una regola in uscita che consenta il traffico verso l'istanza database RDS.

Nel gruppo di sicurezza dell'istanza database: Assicurati che esista una regola in entrata che consenta il gruppo di sicurezza dell'istanza del notebook, il blocco CIDR VPC o il blocco CIDR della sottorete.

4.    Per testare la connessione, esegui il seguente comando in un terminale sull'istanza del notebook SageMaker. Sostituisci i seguenti valori nell'esempio:

mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com: l’endpoint dell’istanza database

3306: la porta dell'istanza database

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

Risoluzione dei problemi

Se l'istanza del notebook ha l'accesso diretto a Internet attivato, il comando di test potrebbe fallire (ad esempio, "Connessione scaduta"). In tal caso, esegui il seguente comando per controllare la tabella di routing dell'istanza del 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 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

In questo esempio, il blocco VPC CIDR dell'istanza database è 10.0.0.0/24. La tabella di routing del sistema operativo non dispone di un percorso verso 10.0.0.0/24. Invece, il traffico verso il blocco RDS VPC CIDR utilizza l'interfaccia di rete primaria (eth0), che gestisce il traffico pubblico. Per risolvere il problema di connessione, modifica la tabella di routing per utilizzare eth2, che è l'interfaccia di rete elastica VPC dell'istanza notebook:

1.    Annota l'indirizzo del router VPC SageMaker. In questo esempio, 192.168.0.0/16 (il blocco CIDR VPC dell'istanza del notebook) viene indirizzato a 192.168.0.1. Ciò significa che 192.168.0.1 è l'indirizzo del router VPC.

2.    Aggiungi il percorso alla tabella di routing nel terminale dell'istanza del notebook. Sostituisci questi valori nell'esempio:

10.0.0.0/24: il blocco VPC CIDR dell'istanza RDS database

192.168.0.1: l'indirizzo del router VPC dell'istanza del notebook SageMaker

sudo ip route add 10.0.0.0/24 via 192.168.0.1 dev eth2

3.    Conferma che il nuovo percorso è nella tabella di routing:

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.    Prova nuovamente la connessione.

**Nota:**le modifiche alla tabella di routing del sistema operativo non persistono tra le sessioni di istanze del notebook. Ciò significa che le modifiche vengono perse quando si arresta e si avvia l'istanza del notebook SageMaker. Per ovviare a questo problema, utilizza una configurazione del ciclo di vita per aggiungere il percorso ogni volta che avvii l'istanza del notebook.


Informazioni correlate

Connetti un'istanza di notebook alle risorse in un VPC

Connettiti a SageMaker tramite un endpoint di interfaccia VPC

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa