Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso risolvere gli errori di connessione ad Amazon Redshift?
Desidero risolvere i problemi di connessione al mio cluster Amazon Redshift.
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.
Di recente hai ridimensionato o ripristinato il cluster Amazon Redshift da uno snapshot
Se di recente hai ridimensionato il cluster Amazon Redshift o lo hai ripristinato da uno snapshot, controlla la sottorete del cluster. Devi avviare il cluster nella stessa sottorete prima del ridimensionamento o del ripristino dallo snapshot.
Se di recente non hai ridimensionato o ripristinato il cluster Amazon Redshift, 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 si trova in una sottorete pubblica, verifica che il cluster sia impostato su Accessibile pubblicamente. Per ulteriori informazioni sulle opzioni di accessibilità pubblica, consulta Risorse Redshift in un VPC.
Verifica che la tabella di routing abbia un gateway Internet collegato.
Per verificare la connessione al cluster Amazon Redshift, esegui il comando telnet:
telnet cluster_endpoint cluster_port
Nota: sostituisci cluster_endpoint e cluster_port con i tuoi valori.
Il cluster Amazon Redshift risiede in una sottorete privata
Se il cluster Amazon Redshift risiede in una sottorete privata, 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. Verifica che il cluster non sia impostato su Accessibile pubblicamente.
Per verificare che il client possa raggiungere l'indirizzo IP privato del nodo principale del cluster Amazon Redshift, esegui il comando dig:
dig cluster_endpoint
Nota: sostituisci cluster_endpoint con l'endpoint del tuo cluster.
Per verificare la connessione al cluster Amazon Redshift, esegui il comando telnet:
telnet cluster_endpoint cluster_port
Nota: sostituisci cluster_endpoint e cluster_port con i tuoi valori.
Telnet ha esito negativo o il cluster Amazon Redshift è ancora inaccessibile
Se l'output del comando telnet indica che la connessione al cluster Amazon Redshift non è riuscita, verifica le seguenti condizioni:
- La regola in entrata del gruppo di sicurezza consente la porta Amazon Redshift 5439 di tipo TCP.
- La regola in entrata del gruppo di sicurezza include l'intervallo CIDR o l'indirizzo IP che utilizzi per connetterti al cluster Amazon Redshift.
Se l'output mostra che la connessione al cluster Amazon Redshift è riuscita, ma il cluster è ancora inaccessibile, controlla il firewall della rete. Il firewall potrebbe bloccare la porta 5439 di Amazon Redshift.
Errore di connessione Invalid operation
Se il cluster Amazon Redshift richiede l'attivazione di SSL 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, completa i seguenti passaggi:
- Apri la console Amazon Redshift.
- Nel pannello di navigazione, scegli Configurazione.
- Scegli Gestione del carico di lavoro.
- Modifica il gruppo di parametri associato al cluster Amazon Redshift.
- (Facoltativo) Esegui il comando AWS CLI describe-cluster-parameters per verificare la configurazione SSL:
aws redshift describe-cluster-parameters --parameter-group-name exampleparametergroupname
Se la configurazione SSL è impostata su true, aggiorna il parametro require_ssl al valore predefinito del parametro false. Per modificare la configurazione SSL, modifica il gruppo di parametri associato al cluster Amazon Redshift. Puoi modificare il gruppo di parametri dalla scheda Parametri della console Amazon Redshift.
Tuttavia, se la connessione SSL è necessaria per il caso d'uso o l'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 di connessione Fatal
Se ci sono troppe connessioni aperte nel cluster Amazon Redshift, potresti ricevere il seguente errore:
"Error: FATAL: connection limit [500]/[2000] exceeded for user"
Come mostra il messaggio di errore, 500 è il limite massimo di connessioni per i tipi di nodi dc2.large in Amazon Redshift. Per i nodi 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, completa i seguenti passaggi:
-
Apri la console Amazon CloudWatch.
-
Cerca la metrica DatabaseConnections nelle voci di Amazon CloudWatch Logs.
-
Utilizza la tabella STL_CONNECTION_LOG per verificare le connessioni aperte:
select recordtime, username, dbname, remotehost, remoteportfrom 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; -
Utilizza la tabella STV_SESSIONS per visualizzare informazioni sulle sessioni utente attive per Amazon Redshift:
select * from stv_sessions;
Se hai un numero elevato di connessioni aperte, esegui una di queste azioni:
- Utilizza 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 che utilizzi per connetterti al cluster Amazon Redshift. L'aggiornamento delle impostazioni di timeout TCP/IP può aiutare a evitare che le sessioni inattive rimangano aperte.
Errore Connection refused
Se il cluster Amazon Redshift non riesce a stabilire una connessione, potresti ricevere il seguente errore Connection refused:
"Error: amazon 500150 error setting/closing connection: operation timed out/ connection refused."
Quando provi ad accedere al cluster Amazon Redshift, un problema di autorizzazioni può causare l'errore precedente. Per risolvere questo errore di connessione, esegui una di queste azioni:
- 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, consulta Gruppi di sicurezza 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, consulta Configurazione delle impostazioni di comunicazione dei gruppi di sicurezza per i cluster Amazon Redshift o per un gruppo di lavoro di Amazon Redshift serverless.
Informazioni correlate
Come posso rendere accessibile pubblicamente un cluster Amazon Redshift privato?
- Argomenti
- Analytics
- Lingua
- Italiano
