Salta al contenuto

Come posso risolvere gli errori di timeout della connessione che ricevo quando provo a connettermi al mio cluster di database Aurora compatibile con PostgreSQL?

7 minuti di lettura
0

Desidero risolvere gli errori di timeout della connessione che ricevo quando provo a connettermi al mio cluster di database Amazon Aurora compatibile con PostgreSQL.

Risoluzione

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

I problemi di configurazione della rete spesso causano errori di timeout della connessione quando ti connetti a un cluster di database Aurora compatibile con PostgreSQL. Per identificare e risolvere i problemi di timeout della connessione, intraprendi le seguenti azioni.

Controlla lo stato dell'istanza database

Completa i seguenti passaggi:

  1. Apri la console Amazon Relational Database Service (Amazon RDS).
  2. Nel pannello di navigazione, scegli Database.
  3. Nella colonna Stato, assicurati che l'istanza database Aurora compatibile con PostgreSQL sia nello stato Disponibile.<br id=hardline_break/> Importante: se l'istanza non è disponibile, attendi che diventi disponibile prima di procedere con l'ulteriore risoluzione dei problemi.

Controlla le configurazioni dei gruppi di sicurezza

Per controllare le regole in entrata e in uscita, completa i seguenti passaggi:

  1. Apri la console Amazon Elastic Compute Cloud (Amazon EC2).
  2. Nel pannello di navigazione, scegli Gruppi di sicurezza.
  3. Seleziona il gruppo di sicurezza associato al cluster di database Aurora compatibile con PostgreSQL.
  4. Scegli Regole in entrata.
  5. Assicurati che esista una regola che consenta il traffico dall'indirizzo IP o dal gruppo di sicurezza del client sulla porta 5432 o sulla porta personalizzata.<br id=hardline_break/> Nota: scegli Modifica le regole in entrata per aggiungere o modificare le regole che accettano il traffico richiesto.
  6. Se ti connetti da un'istanza Amazon EC2, scegli Regole in uscita.
  7. Assicurati che il gruppo di sicurezza dell'istanza Amazon EC2 consenta il traffico in uscita verso il gruppo di sicurezza del cluster Aurora compatibile con PostgreSQL sulla porta 5432.<br id=hardline_break/> Nota: scegli Modifica le regole in uscita per aggiungere o modificare le regole che accettano il traffico richiesto.

Controlla le configurazioni dell'ACL

Per verificare le configurazioni della lista di controllo degli accessi alla rete (ACL), completa i seguenti passaggi:

  1. Apri la console Amazon Virtual Private Cloud (Amazon VPC).
  2. Nel pannello di navigazione, scegli Liste di controllo degli accessi alla rete.
  3. Seleziona l'ACL associata alla sottorete del cluster di database Aurora compatibile con PostgreSQL.
  4. Scegli sia Regole in entrata che Regole in uscita, quindi verifica che le regole consentano il traffico sulla porta 5432 tra il client e il database.

Controlla la configurazione della tabella di routing

Per verificare la configurazione della tabella di routing, completa i seguenti passaggi:

  1. Apri la console di Amazon VPC.
  2. Nel pannello di navigazione, scegli Tabelle di routing.
  3. Seleziona la tabella di routing associata alla sottorete del cluster di database Aurora compatibile con PostgreSQL.
  4. Verifica che esista una route per il CIDR (Classless Inter-domain Routing) che punti verso la destinazione corretta.

Ad esempio, la destinazione può essere il gateway Internet, il gateway NAT o la connessione peering. Se ti connetti da un altro VPC o da una rete on-premises, assicurati che siano presenti le route necessarie.

Verifica le configurazioni del gateway di transito o del peering VPC

Se ti connetti da VPC diversi tramite peering VPC, completa i seguenti passaggi:

  1. Segui la procedura di peering VPC per verificare che il peering tra i VPC sia impostato correttamente.
  2. Verifica che le tabelle di routing in entrambi i VPC abbiano le route necessarie per indirizzare il traffico tra loro.
  3. Verifica che i gruppi di sicurezza di entrambi i VPC accettino il traffico richiesto.

Se ti connetti da diversi VPC tramite un gateway di transito, completa i seguenti passaggi:

  1. Segui le best practice per la progettazione in modo da assicurarti che il gateway di transito tra i VPC sia configurato correttamente.
  2. Verifica che le tabelle di routing per tutti i collegamenti VPC contengano le route necessari per indirizzare il traffico tra loro.
  3. Verifica che i gruppi di sicurezza di entrambi i VPC accettino il traffico richiesto.

Controlla la risoluzione DNS

Se ti connetti tramite VPC, verifica di aver attivato la risoluzione DNS per la connessione peering VPC.

Completa i seguenti passaggi:

  1. Apri la console di Amazon VPC.
  2. Nel pannello di navigazione, scegli Connessioni peering.
  3. Seleziona la connessione peering.
  4. Scegli Operazioni, quindi Modifica impostazioni DNS.
  5. Nella sezione Modifica impostazioni DNS, consenti la risoluzione DNS sia per il VPC richiedente che per il VPC accettante.

Controlla l'indirizzo IP del gateway Internet

Se provi a connetterti dall'esterno del VPC e il cluster è accessibile pubblicamente, completa i seguenti passaggi:

  1. Apri la console di Amazon VPC.
  2. Nel pannello di navigazione, scegli Gateway Internet.
  3. Individua il gateway Internet per il VPC, quindi verifica che sia nello stato Collegato.
  4. Seleziona l'ID del VPC per il gateway Internet.
  5. In ** Dettagli**, seleziona Tabella di routing principale.
  6. Seleziona Route, quindi verifica che esista una route con indirizzo IP di destinazione 0.0.0.0/0 che punti verso il gateway Internet di destinazione.

Esegui un test della connessione all'istanza database

Esegui un test della connessione per verificare se hai un problema relativo alla rete o all'autenticazione. Se il test della connessione ha esito positivo, è probabile che il problema riguardi le credenziali del database.

Per i test della connettività di rete con telnet, esegui questo comando:

telnet CLUSTER-ENDPOINT 5432

Nota: sostituisci CLUSTER-ENDPOINT con l'endpoint del tuo cluster Aurora compatibile con PostgreSQL e 5432 con la porta del tuo database. La porta del database predefinita per PostgreSQL è 5432.

Per il test della connettività di rete quando telnet non è disponibile, esegui questo comando:

nc -zv CLUSTER-ENDPOINT 5432

Nota: sostituisci CLUSTER-ENDPOINT con l'endpoint del tuo cluster Aurora compatibile con PostgreSQL e 5432 con la porta del tuo database.

Se la connessione ha esito positivo, il gruppo di sicurezza è configurato correttamente.

Nota: Amazon RDS non accetta il traffico ICMP (Internet Control Message Protocol), incluso il comando ping.

Controlla la configurazione dell'opzione Accessibile pubblicamente

Se provi a connetterti al cluster dall'esterno del VPC, il cluster deve essere accessibile pubblicamente. In alternativa, puoi utilizzare altri metodi di connessione come un bastion host o AWS Direct Connect.

Per verificare se il cluster è accessibile pubblicamente, completa i seguenti passaggi:

  1. Apri la console Amazon RDS.
  2. Nel pannello di navigazione, scegli Database.
  3. Seleziona il cluster Aurora compatibile con PostgreSQL, quindi scegli Modifica.
  4. Nella sezione Connettività, scegli Configurazione aggiuntiva.
  5. Verifica di aver impostato il cluster su Accessibile pubblicamente.

Verifica la presenza di conflitti tra indirizzi IP

Verifica che non siano presenti conflitti di indirizzi IP tra la rete locale e l'intervallo CIDR del VPC. Se sono presenti conflitti, potrebbe essere necessario utilizzare il NAT o modificare la configurazione di rete.

Per controllare il CIDR del VPC, completa i seguenti passaggi:

  1. Apri la console di Amazon VPC.
  2. Nel pannello di navigazione, scegli I tuoi VPC, quindi seleziona il VPC che utilizzi per la connessione della rete locale.
  3. Scegli la scheda CIDR, quindi assicurati che l'intervallo CIDR non si sovrapponga a nessun indirizzo IP nella rete locale.

Controlla il CIDR del VPC utilizzando AWS CLI

Per descrivere gli intervalli CIDR del VPC utilizzando AWS CLI, esegui questo comando AWS CLI describe-vpcs:

aws ec2 describe-vpcs \
    --vpc-ids VPC-ID \
    --region REGION

Nota: sostituisci VPC-ID con l'ID del tuo VPC e REGION con la tua Regione AWS.

Informazioni correlate

Connessione a un cluster di database Amazon Aurora

Controlla il traffico verso le tue risorse AWS utilizzando i gruppi di sicurezza

Controllo del traffico della sottorete con le liste di controllo degli accessi alla rete

Gestione delle tabelle di routing delle sottoreti

Che cos'è il peering VPC?

AWS UFFICIALEAggiornata 6 mesi fa