Come posso risolvere i problemi che si presentano durante la connessione all'istanza database di Amazon RDS?

7 minuti di lettura
0

Non riesco a connettermi alla mia istanza database di Amazon Relational Database Service (Amazon RDS).

Breve descrizione

L'impossibilità di connettersi a un'istanza database di Amazon RDS è dovuta a diversi motivi. Ecco alcuni dei motivi più comuni:

  • L'istanza database di RDS non è nello stato disponibile, quindi non può accettare connessioni.
  • L'origine da collegare all'istanza database non dispone di un accesso autorizzato al gruppo di sicurezza, alle liste di controllo degli accessi di rete (ACL) o ai firewall locali.
  • Per connettersi all'istanza database viene utilizzato il nome DNS o l'endpoint errato.
  • L'istanza database Multi-AZ ha avuto esito negativo e l'istanza database secondaria utilizza una sottorete o una tabella di routing che non consente connessioni in entrata.
  • L'autenticazione dell'utente non è corretta per uno dei seguenti motivi:
    Stai utilizzando un nome utente o una password errati a livello di database per accedere all'istanza dal client del database.
    Non disponi delle autorizzazioni per il database necessarie per accedere all'istanza.
    Il client è in esecuzione su una versione incompatibile con la versione del database.

Suggerimento: è possibile utilizzare i seguenti passaggi di risoluzione dei problemi per identificare l'origine del problema di connettività. In alternativa, puoi utilizzare il documento AWSSupport-TroubleshootConnectivityToRDS di Automazione AWS Systems Manager per far diagnosticare il problema. Questo documento di automazione può diagnosticare le ACL di rete in base all'indirizzo IP primario dell'istanza Amazon Elastic Compute Cloud (Amazon EC2). Tuttavia, le porte effimere non vengono verificate. Il documento di automazione controlla anche i gruppi di sicurezza in base all'indirizzo IP primario dell'istanza EC2, ma tale automazione non controlla le porte specifiche. Per ulteriori informazioni, consulta la sezione Eseguire un'automazione.

Risoluzione

Assicurati che l'istanza database sia nello stato disponibile

Se hai avviato o riavviato di recente l'istanza database, conferma che l'istanza database sia nello stato Disponibile nella console Amazon RDS. A seconda delle dimensioni dell'istanza database, possono essere necessari fino a 20 minuti prima che l'istanza database diventi disponibile per le connessioni di rete.

Se la tua istanza database si presenta nello stato Non riuscito, consulta la sezione Perché la mia istanza Amazon RDS DB è in stato Non riuscito?

Assicurati che la tua istanza database consenta le connessioni

Assicurati che il traffico proveniente dall'origine che si connette alla tua istanza database non sia gestito da uno o più dei seguenti elementi:

  • Gruppi di sicurezza Amazon Virtual Private Cloud (Amazon VPC) associati all'istanza database. Se necessario, aggiungi regole al gruppo di sicurezza associato al VPC che consentano il traffico relativo all'origine in entrata e in uscita dall'istanza database. È possibile specificare un indirizzo IP, un intervallo di indirizzi IP o un altro gruppo di sicurezza VPC. Per informazioni generali su VPC e istanze database, consulta la sezione Scenari per accedere a un'istanza database in un VPC.
  • Gruppi di sicurezza DB associati all'istanza database. Se l'istanza database non si trova in un VPC, è possibile che l'istanza utilizzi un gruppo di sicurezza database per gestire il traffico. Aggiorna il tuo gruppo di sicurezza DB per consentire il traffico proveniente dall'intervallo di indirizzi IP o dal gruppo di sicurezza Amazon EC2 che usi per connetterti.
  • Connessioni esterne a un VPC. Assicurati che l'istanza database sia accessibile a livello pubblico e associata a una sottorete pubblica (ad esempio, la tabella di routing consente l'accesso da un gateway Internet). Per ulteriori informazioni, consulta la sezione Scenari per accedere a un'istanza database in un VPC.
    Se la tua istanza database si trova in una sottorete privata, assicurati di utilizzare il peering VPC o la modalità VPN sito-sito AWS per connetterti all'istanza in modo sicuro. Con la modalità VPN sito-sito viene configurato un gateway del cliente che consente di connettere il VPC a una rete remota. Puoi utilizzare il peering VPC creando una connessione peering tra il tuo VPC di origine e il VPC della tua istanza per accedere all'istanza dall'esterno del suo VPC. Puoi anche utilizzare un'istanza Amazon EC2 come host bastione (jump).
  • ACL di rete. Le ACL di rete fungono da firewall per le risorse presenti in una sottorete specifica in un VPC. Se usi le ACL di rete nel tuo VPC, assicurati che abbiano regole che consentano il traffico in entrata e in uscita da e verso l'istanza database.
  • Firewall di rete o locali. Chiedi al tuo amministratore di rete se la tua rete consente il traffico da e verso le porte utilizzate dall'istanza database per le comunicazioni in entrata e in uscita.
    Nota: Amazon RDS non accetta il traffico ICMP (Internet Control Message Protocol), incluso il comando ping.

Risolvi i potenziali problemi relativi ai nomi DNS o agli endpoint

Quando ti connetti alla tua istanza database, usi un nome DNS (endpoint) fornito dalla console Amazon RDS. Assicurati di utilizzare l'endpoint corretto. Inoltre, fornisci l'endpoint nel formato corretto al client che utilizzi per connetterti all'istanza database. Per ulteriori informazioni sulle connessioni al motore database e su come utilizzare un endpoint in varie applicazioni client, consulta la sezione Nozioni di base su Amazon RDS.

Ad esempio, puoi usare nslookup sull'endpoint dell'istanza database da un'istanza Amazon EC2 presente all'interno del VPC:

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

Vedi il seguente esempio di risposta non autorevole:

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

Risolvi i problemi a livello di database

  • Assicurati di utilizzare il nome utente e la password corretti per accedere all'istanza dal tuo client database.
  • Assicurati che l'utente disponga delle autorizzazioni del database per connettersi all'istanza database.
  • Verifica la presenza di limitazioni delle risorse in Amazon RDS (ad esempio, conflitti relativi alla CPU o alla memoria). Questi conflitti potrebbero causare problemi nello stabilire nuove connessioni all'istanza.
  • Assicurati che l'istanza non abbia raggiunto il limite max_connections.

Controlla le tabelle di routing associate alla tua istanza

Quando crei un'implementazione multi-AZ vengono avviate più istanze database di replica in diverse zone di disponibilità al fine di migliorare la tolleranza agli errori dell'applicazione. Assicurati che le sottoreti associate a ciascuna istanza database siano associate alla stessa tabella di routing o a tabelle di routing simili. Se l'istanza database principale esegue il failover su una replica in standby associata a una tabella di routing diversa, il traffico potrebbe non essere indirizzato correttamente. Anche se il traffico era stato precedentemente instradato senza problemi, potrebbe non essere più indirizzato correttamente.

Per ulteriori informazioni sulla configurazione delle tabelle di routing, consulta la sezione Configurare le tabelle di routing. Per ulteriori informazioni sulle implementazioni multi-AZ, consulta la sezione Configurazione e gestione di un'implementazione multi-AZ.

Nota: se riesci a connetterti alla tua istanza database, ma ricevi errori di autenticazione, consulta la sezione Come faccio a reimpostare la password amministratore per la mia istanza database Amazon RDS?

Verifica la connettività

Verifica la tua connessione eseguendo uno di questi comandi:

telnet <RDS endpoint> <port number>
nc -zv <RDS endpoint> <port number>

Se il comando telnet o nc ha esito positivo significa che è stata stabilita una connessione di rete. Ciò indica che il problema è probabilmente causato dall'autenticazione dell'utente nel database (ad esempio, nome utente e password).

Informazioni correlate

Impossibile connettersi all'istanza database di Amazon RDS

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

Sicurezza in Amazon RDS

Utilizzo di SSL/TLS per crittografare una connessione a un'istanza database