Utilizzo dell’inoltro di scrittura locale per Aurora PostgreSQL - Amazon Aurora

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à.

Utilizzo dell’inoltro di scrittura locale per Aurora PostgreSQL

Le seguenti sezioni spiegano come verificare se in un cluster di database è abilitato l’inoltro di scrittura locale, come visualizzare le considerazioni sulla compatibilità e come vedere i parametri configurabili e l’impostazione dell’autenticazione. Queste informazioni forniscono i dettagli per utilizzare in modo efficace la funzionalità di inoltro di scrittura locale in Aurora PostgreSQL.

Nota

Quando un'istanza di scrittura in un cluster che utilizza l'inoltro di scrittura locale viene riavviata, le eventuali transazioni e query attive, inoltrate sulle istanze di lettura che utilizzano l'inoltro di scrittura locale vengono chiuse automaticamente. Dopo che l'istanza di scrittura sarà nuovamente disponibile, è possibile riprovare a eseguire queste transazioni.

Verifica dell’abilitazione dell’inoltro di scrittura locale in un cluster di database

Per scoprire se è possibile utilizzare l’inoltro di scrittura locale in un cluster di database, controllare se l’attributo LocalWriteForwardingStatus del cluster è impostato su enabled.

In Console di gestione AWS, nella scheda Configurazione della pagina dei dettagli del cluster, viene visualizzato lo stato Abilitato per Inoltro di scrittura locale di replica di lettura.

Per visualizzare lo stato dell’impostazione di inoltro di scrittura locale per tutti i cluster, utilizzare il comando seguente dell’AWS CLI.

aws rds describe-db-clusters \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,LocalWriteForwardingStatus:LocalWriteForwardingStatus}' [ { "LocalWriteForwardingStatus": "enabled", "DBClusterIdentifier": "write-forwarding-test-cluster-1" }, { "LocalWriteForwardingStatus": "disabled", "DBClusterIdentifier": "write-forwarding-test-cluster-2" }, { "LocalWriteForwardingStatus": "requested", "DBClusterIdentifier": "test-global-cluster-2" }, { "LocalWriteForwardingStatus": "null", "DBClusterIdentifier": "aurora-postgresql-v2-cluster" } ]

Un cluster database può avere i seguenti valori per LocalWriteForwardingStatus:

  • disabled: l’inoltro di scrittura locale è disabilitato.

  • disabling: l’inoltro di scrittura locale è in fase di disabilitazione.

  • enabled: l’inoltro di scrittura locale è abilitato.

  • enabling: l’inoltro di scrittura locale è in fase di abilitazione.

  • null: l’inoltro di scrittura locale non è disponibile per questo cluster di database.

  • requested: l’inoltro di scrittura locale è stato richiesto, ma non è ancora attivo.

Impostazioni predefinite dei parametri per l’inoltro di scrittura

I gruppi di parametri del cluster Aurora contengono delle impostazioni per la funzionalità di inoltro di scrittura locale. Poiché si tratta di parametri cluster, tutte le istanze database in ogni cluster hanno gli stessi valori per queste variabili. I dettagli su questi parametri sono riepilogati nella tabella seguente, con note di utilizzo dopo la tabella.

Parametro Ambito Tipo Valore predefinito Valori validi
apg_write_forward.connect_timeout Sessione secondi 30 0–2147483647
apg_write_forward.consistency_mode Sessione enum Sessione SESSION, EVENTUAL, GLOBAL, e OFF
apg_write_forward.idle_in_transaction_session_timeout Sessione millisecondi 86400000 0–2147483647
apg_write_forward.idle_session_timeout Sessione millisecondi 300000 0–2147483647
apg_write_forward.max_forwarding_connections_percent Globale int 25 1-100

Il parametro apg_write_forward.max_forwarding_connections_percent rappresenta il limite superiore degli slot di connessione al database che possono essere utilizzati per gestire le query inoltrate dalle istanze di lettura. Viene espresso come percentuale dell’impostazione max_connections per l’istanza database di scrittura. Ad esempio, se max_connections è 800 e apg_write_forward.max_forwarding_connections_percent è 10, allora l'istanza di scrittura consente un massimo di 80 sessioni inoltrate simultanee. Queste connessioni provengono dallo stesso pool di connessioni gestito dall'impostazione max_connections. Questa impostazione si applica solo all’istanza database di scrittura quando l’inoltro di scrittura locale è abilitato nel cluster.

Utilizzare le seguenti impostazioni per controllare le richieste di inoltro di scrittura locale:

  • apg_write_forward.consistency_mode: un parametro a livello di sessione che controlla il grado di coerenza di lettura sulla replica di lettura. I valori validi sono SESSION, EVENTUAL, GLOBAL o OFF. Per impostazione predefinita, il valore è impostato su SESSION. L’impostazione del valore su OFF disabilita l’inoltro di scrittura locale nella sessione. Per ulteriori informazioni sui livelli di coerenza, consulta Coerenza e isolamento per l’inoltro di scrittura locale in Aurora PostgreSQL. Questo parametro è rilevante solo nelle istanze di lettura con l’inoltro di scrittura locale abilitato.

  • apg_write_forward.connect_timeout: il numero massimo di secondi di attesa della replica di lettura per stabilire una connessione all’istanza database di scrittura prima di rinunciare. Il valore 0 indica un tempo di attesa infinito.

  • apg_write_forward.idle_in_transaction_session_timeout: numero di millisecondi per cui l’istanza database di scrittura resta in attesa di attività su una connessione inoltrata da una replica di lettura con una transazione aperta prima di chiuderla. Se la sessione continua ad avere una transazione inattiva oltre questo periodo, Aurora la chiude. Il valore 0 disabilita il timeout.

  • apg_write_forward.idle_session_timeout: numero di millisecondi per cui l’istanza database di scrittura resta in attesa di attività su una connessione inoltrata da una replica di lettura prima di chiuderla. Se la sessione rimane inattiva oltre questo periodo, Aurora la chiude. Il valore 0 disabilita il timeout.

rdswriteforwarduser

rdswriteforwarduser è l’utente utilizzato per stabilire una connessione tra la replica di lettura e l’istanza database di scrittura.

Nota

rdswriteforwarduser eredita i privilegi CONNECT nei database dei clienti tramite il ruolo PUBLIC. Se i privilegi per il ruolo PUBLIC vengono revocati, saranno necessari privilegi GRANT CONNECT per i database a cui inoltrare le scritture.