Come posso risolvere gli errori di connessione ad Amazon Redshift?

6 minuti di lettura
0

Non riesco a connettermi al mio cluster Amazon Redshift. Come posso risolvere questo problema?

Soluzione

Il cluster Amazon Redshift è stato recentemente ridimensionato o ripristinato da uno snapshot

Se il tuo cluster Amazon Redshift è stato recentemente ridimensionato o ripristinato da uno snapshot, controlla la sottorete del cluster. Prima del ridimensionamento o del ripristino dallo snapshot, il cluster deve essere avviato nella stessa sottorete.

Se il cluster Amazon Redshift non è stato di recente ridimensionato o ripristinato, verifica le configurazioni di rete. Le configurazioni di rete devono essere le stesse sia per la vecchia che per la nuova sottorete.

Il cluster Amazon Redshift risiede in una sottorete pubblica

Se stai cercando di connetterti a un cluster Amazon Redshift che risiede in una sottorete pubblica, verifica quanto segue:

  • Verifica che il cluster Amazon Redshift sia impostato su "Accessibile pubblicamente". Per ulteriori informazioni sulle opzioni accessibili al pubblico, vedere Gestione dei cluster in un VPC.
  • Verifica di avere un gateway Internet collegato alla tabella di routing.

Per testare la connettività, usa telnet per verificare la connessione al cluster Amazon Redshift:

telnet <cluster endpoint> <cluster port>

Il cluster Amazon Redshift risiede in una sottorete privata

Se il tuo cluster Amazon Redshift risiede in una sottorete privata, verifica quanto segue:

  • Assicurati di collegare il gateway NAT alla tabella di routing della sottorete pubblica. Il gateway NAT consente ai cluster in una sottorete privata di connettersi a Internet.
  • Assicurati che il tuo cluster non sia impostato su Accessibile pubblicamente.

Per verificare che il tuo client possa raggiungere l'indirizzo IP privato del nodo principale del cluster Amazon Redshift, usa il comando dig:

dig <cluster endpoint>

Per testare la connessione al cluster Amazon Redshift, usa il comando telnet:

telnet <cluster endpoint><cluster port>

Telnet non funziona o il cluster Amazon Redshift resta inaccessibile

Se il comando telnet indica che la connessione al cluster Amazon Redshift non è riuscita, verifica che le seguenti condizioni siano vere:

  • La porta Amazon Redshift (predefinita 5439) di tipo TCP è consentita nella regola in entrata del gruppo di sicurezza.
  • L'intervallo CIDR o l'IP da cui ti connetti al cluster Amazon Redshift è stato aggiunto nella regola di ingresso del gruppo di sicurezza.

Se il comando telnet indica che la connessione al cluster Amazon Redshift è riuscita ma il cluster rimane inaccessibile, verifica il firewall della rete. Il firewall potrebbe bloccare la porta Amazon Redshift (la porta predefinita è 5439).

Errore di connessione operativa non valida

Se il cluster Amazon Redshift richiede che SSL sia abilitato per qualsiasi connessione, potresti ricevere il seguente errore di connessione:

Error: [Amazon](500310) Invalid operation: no pg_hba.conf entry for host "::ffff:205.xxx.xxx.xxx", user "username", database "dbname", SSL off;

Per verificare se il parametro require_ssl è impostato su true, esegui le seguenti operazioni:

1.    Apri la console Amazon Redshift.

2.    Scegli la scheda Config.

3.    Modifica il gruppo di parametri associato al cluster Amazon Redshift.

4.    (Facoltativo) Verifica la configurazione SSL utilizzando l'interfaccia della riga di comando AWS (AWS CLI):

describe-cluster-parameters

Se la configurazione SSL è impostata su true, considera i seguenti approcci:

  • Aggiorna il parametro require_ssl su false, che è il valore predefinito del parametro. Puoi cambiare la configurazione SSL modificando il gruppo di parametri associato al cluster Amazon Redshift. Il gruppo di parametri può essere modificato dalla scheda Parametri della console Amazon Redshift.
  • Se la connessione SSL costituisce un requisito per il tuo caso d'uso o ambiente, assicurati che la stringa di connessione includa il parametro SSL richiesto.

Ad esempio:

jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev?ssl=true

Errore irreversibile di connessione

Quando ci sono troppe connessioni aperte nel tuo cluster Amazon Redshift, ricevi il seguente messaggio di errore:

Error: FATAL:  connection limit [500]/[2000] exceeded for user

Come indica il messaggio di errore, in Amazon Redshift 500 è il limite massimo di connessioni per i tipi di nodi dc2.large e ds2.xlarge. Per i nodi ds2.8xlarge, dc2.8xlarge, ra3.xlplus, ra3.4xlarge e ra3.16xlarge, il limite massimo di connessioni è 2.000.

Per verificare il numero di connessioni aperte nel cluster Amazon Redshift, procedi come segue:

1.    Apri la console Amazon CloudWatch.

2.    Cerca il parametro DatabaseConnections nelle voci dei file di log Amazon CloudWatch.

3.    Usa la tabella STL_CONNECTION_LOG per controllare le connessioni aperte:

select recordtime, username, dbname, remotehost, remoteport
from stl_connection_log
where event = 'initiating session'
and pid not in
(select pid from stl_connection_log
where event = 'disconnecting session')
order by 1 desc;

4.    Utilizza la tabella STV_SESSIONS per visualizzare informazioni sulle sessioni utente attive per Amazon Redshift:

select * from stv_sessions;

Se disponi di un numero elevato di connessioni aperte, considera i seguenti approcci:

  • Usa il comando PG_TERMINATE_BACKEND per chiudere tutte le sessioni inattive.
  • Modifica le impostazioni di timeout TCP/IP sul lato client in base al sistema operativo utilizzato per connetterti al cluster Amazon Redshift. L'aggiornamento delle impostazioni di timeout TCP/IP può aiutare a evitare che le sessioni inattive restino aperte.

Errore connessione rifiutata

Se il cluster Amazon Redshift non riesce a stabilire una connessione, potresti ricevere il seguente messaggio di errore Connessione rifiutata:

Error:  amazon 500150 error setting/closing connection: operation timed out/ connection refused.

Questo errore può indicare un problema di autorizzazioni all'accesso al cluster Amazon Redshift. Per risolvere questo errore di connessione, considera i seguenti approcci:

  • Se hai creato il cluster in un Amazon Virtual Private Cloud (Amazon VPC), aggiungi l'indirizzo CIDR/IP del client al gruppo di sicurezza VPC. Per ulteriori informazioni sulla configurazione dei gruppi di sicurezza VPC per il cluster, consulta Gestione dei cluster in un VPC.
  • Se hai creato il cluster all'esterno di un VPC, aggiungi il CIDR o l'indirizzo IP del client al gruppo di sicurezza del cluster. Per ulteriori informazioni sulla configurazione dei gruppi di sicurezza del cluster, consulta Gruppi di sicurezza dei cluster Amazon Redshift.

Informazioni correlate

Come posso rendere accessibile pubblicamente un cluster Amazon Redshift privato?

Non riesco a connettermi al mio cluster Amazon Redshift

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa