Come posso risolvere i problemi di connessione a un'istanza database Amazon RDS che utilizza una sottorete pubblica o privata di un VPC?

5 minuti di lettura
0

Non riesco a connettermi alla mia istanza database di Amazon Relational Database Service (Amazon RDS). Come posso risolvere i problemi di connettività in una sottorete pubblica o privata di Amazon Virtual Private Cloud (Amazon VPC)?

Breve descrizione

È possibile avviare i database Amazon RDS nella sottorete pubblica o privata di un VPC. Tuttavia, una configurazione VPC errata sul lato dell’istanza RDS può causare problemi di connessione. Questi possono essere causati anche da problemi di configurazione o connettività sul client da cui ci si connette.

Per risolvere questi problemi consulta le seguenti risoluzioni, a seconda del tuo ambiente.

Risoluzione

Nota: Se ricevi messaggi di errore durante l'esecuzione dei comandi dell’Interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di tale interfaccia.

La mia istanza database si trova in una sottorete pubblica e non riesco a connettermi ad essa tramite Internet dal mio computer locale

Questo problema può verificarsi quando la proprietà Accessibile pubblicamente dell'istanza database è impostata su No. Per verificare se un'istanza database è accessibile pubblicamente:

Apri la console Amazon RDS, seleziona Database dal riquadro di navigazione e seleziona la tua istanza database. Consulta poi la sezione Connettività e sicurezza della tua istanza.

-oppure-

Usa il comando describe-db-instances in AWS CLI.

Per impostare la proprietà Accessibile pubblicamente dell'istanza Amazon RDS su :

1.    Apri la console Amazon RDS.

2.    Scegli Database dal riquadro di navigazione, poi seleziona l'istanza database.

3.    Scegli Modifica.

4.    In Connettività estendi la sezione Configurazione aggiuntiva, quindi scegli Accessibile pubblicamente.

5.    Scegli Continua.

6.    Scegli Modifica l’istanza database.

**Nota:**Questa modifica viene applicata immediatamente anche senza selezionare l'opzione Applica immediatamente. Si verificano tempi di inattività solo se con questa modifica è stata impostata un'azione di manutenzione in sospeso che richiede tempi di inattività, e si sceglie Applica immediatamente.

Se hai impostato la proprietà Accessibile pubblicamentesu ma non riesci ancora a connetterti alla tua istanza RDS, controlla questi dettagli:

  • Verifica che al tuo VPC sia collegato un gateway Internet.
  • Assicurati che le regole in entrata per il gruppo di sicurezza dell’istanza RDS consentano le connessioni dal tuo IP di origine.

La mia istanza database si trova in una sottorete privata e non riesco a connettermi ad essa dal mio computer locale

È possibile risolvere questo problema utilizzando una sottorete pubblica. Quando si utilizza una sottorete pubblica, tutte le risorse della sottorete sono accessibili da Internet. Se questa soluzione non soddisfa i tuoi requisiti di sicurezza, utilizza la VPN sito-sito AWS. Con la VPN sito-sito viene configurato un gateway del cliente che consente di connettere un VPC a una rete remota.

Un altro metodo per risolvere questo problema consiste nell'utilizzare un'istanza Amazon EC2 come host bastione (jump). Per ulteriori informazioni, consulta l’articolo Come posso connettermi a un'istanza database Amazon RDS privata da un computer locale utilizzando un'istanza Amazon EC2 come host bastione?

Per passare a una sottorete pubblica:

1.    Apri la console Amazon RDS.

2.    Scegli Database dal riquadro di navigazione, quindi scegli l'istanza database.

3.    Dalla sezione Connettività e sicurezza copia l'endpoint dell'istanza database.

4.    Esegui nslookup sull'endpoint dell'istanza database da un'istanza EC2 all'interno del VPC. Considera il seguente output di esempio:

nslookup myexampledb.xxxx.us-east-1.rds.amazonaws.com
Server: xx.xx.xx.xx
Address: xx.xx.xx.xx#53

Non-authoritative answer:
Name: myexampledb.xxxx.us-east-1.rds.amazonaws.com
Address: 172.31.xx.x

5.    Dopo aver ottenuto l'indirizzo IP privato dell'istanza database RDS, puoi associare l'indirizzo IP privato a una particolare sottorete del VPC. La sottorete del VPC si basa sull'intervallo CIDR e sull'indirizzo IP privato della sottorete.

6.    Apri la console Amazon VPC, quindi scegli Sottoreti dal riquadro di navigazione.

7.    Scegli la sottorete associata all'istanza database trovata nel passaggio 5.

8.    Nel riquadro Descrizione scegli la Tabella di routing.

9.    Scegli Azioni, quindi scegli Modifica route.

10.    Scegli Aggiungi route. Per il traffico IPv4 e IPv6 inserisci nella casella Destinazione i percorsi per la tua rete esterna o on-premise. Seleziona quindi l'ID del gateway Internet nell'elenco Destinazione.

Nota: Assicurati che la regola del Gruppo di sicurezza in entrata per la tua istanza limiti il traffico agli indirizzi della tua rete esterna o locale.    

11.    Scegli Salva.

**Importante:**Se modifichi una sottorete in pubblica, anche le altre istanze database della sottorete diventano accessibili da Internet. Le istanze database sono accessibili da Internet se ad esse è associato un indirizzo pubblico.

Se dopo aver seguito questi passaggi l'istanza database resta non accessibile, verifica che sia Accessibile pubblicamente. A tale scopo, segui i passaggi indicati nella sezione La mia istanza database si trova in una sottorete privata e non riesco a connettermi ad essa dal mio computer locale.

Non è possibile accedere alla mia istanza database da un'istanza Amazon EC2 che si trova in un altro VPC

Crea una connessione peering VPC tra i VPC. Una connessione peering VPC consente a due VPC di comunicare tra loro utilizzando indirizzi IP privati.

1.    Crea e accetta una connessione peering VPC.

**Importante:**Se i VPC si trovano nello stesso account AWS, accertati che i blocchi CIDR IPv4 non si sovrappongano. Per ulteriori informazioni, consulta VPC peering limitations.

2.    Aggiorna entrambe le tabelle di routing.

3.    Aggiorna i tuoi gruppi di sicurezza in modo che facciano riferimento a gruppi del VPC in peering.

4.    Attiva il supporto per la risoluzione DNS per la connessione peering VPC.

5.    Sull'istanza Amazon Elastic Compute Cloud (Amazon EC2), effettua il test della connessione peering VPC utilizzando un'utilità di rete. Considera il seguente esempio:

nc -zv <hostname> <port>

Se la connessione funziona, l'output è simile al seguente:

$ nc -zv myexampledb.xxxx.us-east-1.rds.amazonaws.com 5439
found 0 associations
found 1 connections:
     1:    flags=82<CONNECTED,PREFERRED>
    outif en0
    src xx.xxx.xxx.xx port 53396
    dst xx.xxx.xxx.xxx port 5439
    rank info not available
    TCP aux info available

Connection to myexampledb.xxxx.us-east-1.rds.amazonaws.com port 5439 [tcp/*] succeeded!

Informazioni correlate

Scenari per accedere a un'istanza database in un VPC

Uso di un'istanza database in un VPC