View a markdown version of this page

Risoluzione dei problemi in Aurora DSQL - Amazon Aurora DSQL

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi in Aurora DSQL

Nota

Negli argomenti seguenti vengono forniti suggerimenti per la risoluzione dei problemi relativi a errori e problemi che potrebbero verificarsi durante l’utilizzo di Aurora DSQL. Se riscontri un problema non elencato qui di seguito, contatta il servizio di assistenza AWS

Risoluzione dei problemi legati agli errori di connessione

errore: codice di errore SSL non riconosciuto: 6 o impossibile accettare la connessione, sni non è stato ricevuto

È possibile che tu stia utilizzando una versione di psql precedente alla versione 14, che non supporta Server Name Indication (SNI). Il supporto di SNI è necessario per la connessione ad Aurora DSQL.

È possibile verificare la versione del client con il comando psql --version.

errore: NetworkUnreachable

Un errore NetworkUnreachable durante i tentativi di connessione potrebbe indicare che il client non supporta le connessioni IPv6, anziché segnalare un vero problema di rete. Questo errore si verifica in genere nelle IPv4-only istanze a causa del modo in cui i client PostgreSQL gestiscono le connessioni dual-stack. Quando un server supporta la modalità dual-stack, questi client risolvono innanzitutto i nomi host in indirizzi IPv4 e IPv6. Tentano prima una connessione IPv4, quindi provano IPv6 se la connessione iniziale fallisce. Se il sistema non supporta IPv6, sarà visualizzato un generico errore NetworkUnreachable anziché un chiaro messaggio “IPv6 non supportato”.

Risoluzione dei problemi legati agli errori di autenticazione

Autenticazione IAM non riuscita per l’utente “...”

Quando si genera un token di autenticazione Aurora DSQL IAM, la durata massima che è possibile impostare è di 1 settimana. Dopo una settimana, non è più possibile autenticarsi con quel token.

Inoltre, Aurora DSQL rifiuta la richiesta di connessione se il ruolo assunto è scaduto. Ad esempio, se si prova a connettersi con un ruolo IAM temporaneo, Aurora DSQL rifiuterà la richiesta di connessione anche se il token di autenticazione non è scaduto.

Per maggiori informazioni su come IAM funziona con Aurora DSQL, consulta Comprendere l’autenticazione e l’autorizzazione per Aurora DSQL e AWS Identity and Access Management in Aurora DSQL.

Si è verificato un errore (InvalidAccessKeyId) durante la chiamata all' GetObjectoperazione: l'ID della chiave di AWS accesso che hai fornito non esiste nei nostri registri

IAM ha rifiutato la richiesta. Per informazioni, consulta Perché le richieste sono firmate.

Il ruolo IAM <ruolo> non esiste

Aurora DSQL non è riuscita a trovare il ruolo IAM. Per maggiori informazioni, consulta Ruoli IAM.

Il ruolo IAM deve assumere la forma di un ARN IAM

Per maggiori informazioni, consulta Identificatori IAM - ARN IAM.

Mappatura errata tra utente e azione

Questo errore si verifica quando il tipo di token di autenticazione non corrisponde al ruolo del database. Aurora DSQL utilizza due tipi di token: DbConnectAdmin per il admin ruolo e DbConnect per i ruoli personalizzati del database.

  • Se vediWrong user to action mapping. user: admin, action: DbConnect, usa generate-db-connect-admin-auth-token invece di. generate-db-connect-auth-token

  • Se vediWrong user to action mapping. user: myusername, action: DbConnectAdmin, usa generate-db-connect-auth-token al posto digenerate-db-connect-admin-auth-token.

Risoluzione dei problemi legati agli errori di autorizzazione

Ruolo <ruolo> non supportato

Aurora DSQL non supporta l’operazione GRANT. Vedi Sottoinsiemi di comandi SQL supportati in Aurora DSQL.

Impossibile stabilire un rapporto di fiducia con il ruolo <ruolo>

Aurora DSQL non supporta l’operazione GRANT. Vedi Sottoset supportati di comandi SQL in Aurora DSQL.

Il ruolo <ruolo> non esiste

Aurora DSQL non è riuscita a trovare l’utente del database specificato. Consulta Autorizzare i ruoli di database personalizzati per la connessione a un cluster.

ERRORE: autorizzazione negata nella concessione della fiducia IAM con il ruolo <ruolo>

Per concedere l’accesso a un ruolo del database, bisogna essere connessi al cluster con il ruolo di amministratore. Per maggiori informazioni, consulta Autorizzare i ruoli del database all’utilizzo di SQL in un database.

ERRORE: il ruolo <ruolo> deve possedere l’attributo LOGIN

Tutti i ruoli del database creati devono possedere l’autorizzazione LOGIN.

Per risolvere questo errore, assicurati di aver creato il ruolo PostgreSQL con l'autorizzazione. LOGIN Per maggiori informazioni, consulta CREATE ROLE e ALTER ROLE nella documentazione di PostgreSQL.

ERRORE: il ruolo <ruolo> non può essere eliminato perché alcuni oggetti dipendono da esso

Aurora DSQL restituisce un errore se si elimina un ruolo di database con una relazione IAM finché non si revoca la relazione utilizzando AWS IAM REVOKE. Per maggiori informazioni, consulta Revoca dell’autorizzazione.

Risoluzione degli errori SQL

Errore: Non supportato

Aurora DSQL non supporta tutti i dialetti. PostgreSQL-based Per informazioni su ciò che è supportato, consulta Funzionalità PostgreSQL supportate in Aurora DSQL.

Errore: utilizzare invece CREATE INDEX ASYNC

Per creare un indice su una tabella con righe esistenti, è necessario utilizzare il comando CREATE INDEX ASYNC. Per maggiori informazioni, consulta Creazione di indici in modo asincrono in Aurora DSQL.

Errore: server non disponibile (SQLSTATE XX000)

Un errore relativo al server non disponibile indica una condizione di servizio temporanea. La connessione rimane attiva, quindi puoi riprovare senza riconnetterti.

Riprova sempre l'intera transazione dall'inizio, incluso il COMMIT comando, con backoff e jitter esponenziali.

Risultato del commit incerto

Se l'errore si verifica durante il commit di una transazione, è possibile che la transazione sia stata eseguita anche se l'applicazione ha ricevuto un errore.

Progetta le transazioni in modo che siano idempotenti quando possibile. Per le transazioni non idempotenti, verificate se Aurora DSQL ha applicato la scrittura prima di riprovare la transazione.

Monitora la frequenza degli errori non disponibili sul server. Aspettatevi nuovi tentativi occasionali. Se gli errori persistono o influiscono sulle prestazioni dell'applicazione, contatta l'assistenza. AWS

Risoluzione dei problemi relativi al controllo della concorrenza

OC000 «ERRORE: la modifica è in conflitto con un'altra transazione (OC000)»

Questa transazione ha tentato di modificare le stesse tuple di un'altra transazione concorrente. Ciò indica una contesa sulle tuple modificate. Per saperne di più, fate riferimento a Controllo della concorrenza in Aurora DSQL.

OC001 «ERRORE: lo schema è stato aggiornato da un'altra transazione (OC001)»

Nella sessione era presente una copia memorizzata nella cache del catalogo degli schemi nella versione V1, caricata all'ora T1.

Una transazione separata ha aggiornato il catalogo alla versione V2 all'ora T2.

Al momento T3, quando la sessione esegue una query, rileva che è in ritardo e tenta di ribasarsi sulle nuove modifiche al catalogo. In alcune situazioni il rebase non può avere esito positivo e Aurora DSQL restituisce una risposta OC001. 40001 Il tempo tra T2 e T3 può variare da millisecondi a minuti, perché i processori di query rilevano le modifiche al catalogo in modo reattivo anziché ricevere aggiornamenti proattivi.

Quando si riprova dalla stessa sessione, Aurora DSQL aggiorna la cache del catalogo. La transazione ritentata utilizza il catalogo V2 e ha esito positivo se non sono state apportate ulteriori modifiche al catalogo dopo T2.

SSL/TLS Risoluzione dei problemi relativi alle connessioni

Errore SSL: verifica del certificato non riuscita

Questo errore indica che il client non è in grado di verificare il certificato del server. Verifica che:

  1. Il certificato Amazon Root CA 1 sia installato correttamente. Consulta SSL/TLS Configurazione dei certificati per le connessioni Aurora DSQL per le istruzioni su come convalidare e installare questo certificato.

  2. La variabile di ambiente PGSSLROOTCERT punti al file di certificato corretto.

  3. Il file del certificato disponga delle autorizzazioni corrette.

Codice di errore SSL non riconosciuto: 6

Questo errore si verifica con i client PostgreSQL precedenti alla versione 14. Aggiornare il client PostgreSQL alla versione 17 per risolvere questo problema.

Errore SSL: schema non registrato (Windows)

Si tratta di un problema noto del client Windows psql quando si utilizzano i certificati di sistema. Utilizza il metodo del file di certificato scaricato descritto nelle istruzioni di Connessione da Windows.

Risoluzione dei problemi relativi alle metriche mancanti dalla console Amazon CloudWatch Database Insights

Il cluster DSQL Aurora non viene visualizzato nella console di Amazon CloudWatch Database Insights

Amazon CloudWatch Database Insights compila il selettore di cluster utilizzando i dati delle attività provenienti da Aurora DSQL Database Insights. Per ulteriori informazioni su Aurora DSQL Database Insights, consulta. Monitoraggio dei cluster Aurora DSQL con Aurora DSQL Database Insights Un cluster diventa visibile in Database Insights solo dopo che il cluster ha generato il carico acquisito dal sampler Aurora DSQL active session history (DASH) negli ultimi otto giorni.

DASH utilizza un campionamento di 1 secondo, che potrebbe comportare la perdita di transazioni rapide e poco frequenti che vengono completate in millisecondi.

Usa i seguenti passaggi per confermare se questo spiega ciò che stai vedendo:

  1. Conferma di aver eseguito transazioni sul cluster negli ultimi otto giorni. Un cluster che è rimasto inattivo per più tempo non viene visualizzato in Database Insights indipendentemente da come lo hai utilizzato in precedenza. Per verificare le attività recenti, visualizza la TotalTransactions metrica relativa al cluster in. CloudWatch Per ulteriori informazioni su questa metrica, consulta Osservabilità e prestazioni.

  2. Esegui un carico di lavoro sostenuto sul cluster in modo che almeno una sessione rimanga attiva. Gli esempi includono uno script di test del carico, un batch di inserimenti o una query di lunga durata. Poiché DASH esegue i campionamenti una volta al secondo, è possibile che un breve carico di lavoro non venga acquisito, quindi più è continua l'attività, più è probabile che appaia.

  3. Attendi qualche minuto dopo aver eseguito il carico di lavoro, quindi aggiorna la console Database Insights.

  4. Verifica di visualizzare la stessa AWS regione e lo stesso account in cui è stato creato il cluster. La selezione della regione o dell'account errati è un motivo comune per cui un cluster sembra mancare.