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à.
Connessione al database globale di Amazon Aurora
Ogni Aurora Global Database è dotato di un endpoint writer che viene aggiornato automaticamente da Aurora per instradare le richieste all'istanza di scrittura corrente del cluster DB primario. Con l'endpoint writer, non è necessario modificare la stringa di connessione dopo aver cambiato la posizione della regione primaria utilizzando le funzionalità gestite di switchover e failover di Aurora Global Database. Per ulteriori informazioni sull'utilizzo dell'endpoint writer insieme allo switchover e al failover di Aurora Global Database, vedere. Utilizzo dello switchover o del failover in Amazon Aurora Global Database Per informazioni sulla connessione a un database globale Aurora con proxy RDS, vedere Utilizzo del proxy RDS con database globali Aurora.
Argomenti
Scelta dell'endpoint che soddisfa le esigenze dell'applicazione
La connessione a un database globale Aurora dipende dalla necessità di leggere o scrivere dal database e dalla AWS regione verso cui si desidera indirizzare le richieste. Ecco alcuni casi d'uso tipici:
-
Instradamento delle richieste all'istanza writer: Connettiti all'endpoint di scrittura Aurora Global Database se devi eseguire istruzioni DML (Data Manipulation Language) e DDL (Data Definition Language) o se hai bisogno di una forte coerenza tra letture e scritture. Tale endpoint indirizza le richieste all'istanza writer nel cluster primario del database globale. Questo endpoint viene aggiornato automaticamente per indirizzare le richieste all'istanza di writer, eliminando la necessità di aggiornare l'applicazione ogni volta che si modifica la posizione del writer nel cluster globale. Puoi anche utilizzare l'endpoint globale per inviare read/write richieste interregionali al tuo writer.
Nota
Se hai configurato il database globale prima che l'endpoint Aurora Global Database writer fosse disponibile, l'applicazione potrebbe connettersi all'endpoint cluster del cluster primario. In questo caso, consigliamo di modificare le impostazioni di connessione per utilizzare invece l'endpoint global writer. In questo modo si evita la necessità di modificare le impostazioni di connessione dopo ogni switchover o failover di Aurora Global Database.
La prima parte del nome dell'endpoint writer è il nome dell'Aurora Global Database. Pertanto, se rinomini il tuo Aurora Global Database, il nome dell'endpoint writer cambia e qualsiasi codice che lo utilizza deve essere aggiornato con il nuovo nome.
-
Ridimensionamento delle letture più vicino alla regione dell'applicazione: per ridimensionare le richieste di sola lettura nella stessa AWS regione o nelle vicinanze dell'applicazione, connettiti all'endpoint di lettura dei cluster Aurora primari o secondari.
-
Ridimensionamento delle letture con scritture occasionali tra aree geografiche: per istruzioni DML occasionali, ad esempio per la manutenzione e la pulizia dei dati, connettiti all'endpoint di lettura di un cluster secondario con l'inoltro di scrittura abilitato. Con l'inoltro di scrittura, Aurora inoltra automaticamente le istruzioni di scrittura all'autore nella regione principale del database globale di Aurora. L'inoltro delle scritture offre i seguenti vantaggi:
-
Non è necessario fare il lavoro pesante per stabilire la connettività tra i cluster secondari e primari per inviare scritture tra regioni.
-
Non è necessario dividere le richieste di lettura e scrittura nell'applicazione.
-
Non è necessario sviluppare una logica complessa per gestire la coerenza read-after-write delle richieste.
Tuttavia, con l'inoltro di scrittura, è necessario aggiornare il codice o la configurazione dell'applicazione per connettersi all'endpoint di lettura principale della nuova regione promossa dopo aver eseguito un failover o uno switchover tra regioni. Ti consigliamo di monitorare la latenza delle operazioni eseguite tramite l'inoltro di scrittura per controllare il sovraccarico di elaborazione delle richieste di scrittura. Infine, l'inoltro della scrittura non supporta determinate operazioni di MySQL o PostgreSQL, come apportare modifiche o istruzioni al Data Definition Language (DDL).
SELECT FOR UPDATE
Per ulteriori informazioni sull'utilizzo dell'inoltro di scrittura tra regioni, consulta. AWS Utilizzo dell'inoltro di scrittura in un database globale Amazon Aurora
-
Per dettagli sui diversi tipi di endpoint Aurora, consulta. Connessione a un cluster database Amazon Aurora
Visualizzazione degli endpoint di un database globale Amazon Aurora
Quando visualizzi un Aurora Global Database nella console, puoi vedere tutti gli endpoint associati a tutti i suoi cluster. La figura seguente mostra un esempio dei tipi di endpoint visualizzati quando si visualizzano i dettagli del cluster DB primario:
-
Global writer: il singolo read/write endpoint che punta sempre all'istanza DB Writer corrente per il cluster di database globale.
-
Writer: l'endpoint di connessione per read/write le richieste al cluster DB primario nel cluster di database globale.
-
Reader: l'endpoint di connessione per le richieste di sola lettura a un cluster DB primario o secondario nel cluster di database globale. Per ridurre al minimo la latenza, scegli l'endpoint di lettura presente nel tuo dispositivo o quello più vicino a te Regione AWS . Regione AWS

Per visualizzare gli endpoint di un database globale
-
Accedi a AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. -
Nel riquadro di navigazione, scegliere Databases (Database).
-
Nell'elenco, scegli il database globale o il cluster DB primario o secondario di cui desideri visualizzare gli endpoint.
-
Scegli la scheda Connettività e sicurezza per visualizzare i dettagli dell'endpoint. Gli endpoint visualizzati dipendono dal tipo di cluster selezionato, come segue:
-
Database globale: l'endpoint Global Writer.
-
Cluster DB primario: l'endpoint global writer e l'endpoint cluster e l'endpoint di lettura per il cluster primario.
-
Cluster DB secondario: l'endpoint del cluster e l'endpoint di lettura per il cluster secondario. In un cluster secondario, l'endpoint del cluster mostra lo stato di inattivo perché non gestisce le richieste di scrittura. È ancora possibile connettersi all'endpoint del cluster, ma solo per le query di lettura.
-
Per visualizzare l'endpoint writer del cluster globale, utilizzate il AWS CLI describe-global-clusterscomando, come nell'esempio seguente.
aws rds describe-global-clusters --region
aws_region
{ "GlobalClusters": [ { "GlobalClusterIdentifier": "global_cluster_id
", "GlobalClusterResourceId": "cluster-unique_string
", "GlobalClusterArn": "arn:aws:rds::123456789012:global-cluster:global_cluster_id
", "Status": "available", "Engine": "aurora-mysql", "EngineVersion": "5.7.mysql_aurora.2.11.2", "GlobalClusterMembers": [ ... ], "Endpoint": "global_cluster_id
.global-unique_string
.global.rds.amazonaws.com" } ] }
Per visualizzare gli endpoint del cluster e del lettore per i cluster DB membri del cluster globale, utilizzate il AWS CLI
describe-db-clusterscomando, come nell'esempio seguente. I valori restituiti per Endpoint
e ReaderEndpoint
sono rispettivamente gli endpoint cluster e reader.
aws rds describe-db-clusters --region
primary_region
--db-cluster-identifierdb_cluster_id
{ "DBClusters": [ { "AllocatedStorage": 1, "AvailabilityZones": [ "az_1
", "az_2
", "az_3
" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "db_cluster_id
", "DBClusterParameterGroup": "default.aurora-mysql5.7", "DBSubnetGroup": "default", "Status": "available", "EarliestRestorableTime": "2023-08-01T18:21:11.301Z", "Endpoint": "db_cluster_id
.cluster-unique_string
.primary_region
.rds.amazonaws.com", "ReaderEndpoint": "db_cluster_id
.cluster-ro-unique_string
.primary_region
.rds.amazonaws.com", "MultiAZ": false, "Engine": "aurora-mysql", "EngineVersion": "5.7.mysql_aurora.2.11.2", "ReadReplicaIdentifiers": [ "arn:aws:rds:secondary_region
:123456789012:cluster:db_cluster_id
" ], "DBClusterMembers": [ { "DBInstanceIdentifier": "db_instance_id
", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 } ], ... "TagList": [], "GlobalWriteForwardingRequested": false } ] }
Per visualizzare l'endpoint writer del cluster globale, utilizzate l'operazione API RDS. DescribeGlobalClusters Per visualizzare gli endpoint del cluster e dei lettori per i cluster DB membri del cluster globale, utilizzate l'operazione RDS API Descrive. DBClusters
Considerazioni sull'utilizzo degli endpoint Global writer
Puoi fare un uso efficace degli endpoint Aurora Global Database Writer seguendo queste linee guida e best practice:
-
Per ridurre al minimo le interruzioni dopo un failover o uno switchover tra regioni, puoi configurare la connettività VPC tra l'elaborazione dell'applicazione e le regioni primarie e secondarie. AWS Ad esempio, supponiamo di avere applicazioni o sistemi client in esecuzione nello stesso VPC del cluster primario. Se viene promosso il cluster secondario, l'endpoint global writer cambia automaticamente per puntare a quel cluster. Sebbene l'endpoint global writer consenta di evitare di modificare le impostazioni di connessione per l'applicazione, le applicazioni non possono accedere agli indirizzi IP nel VPC della AWS regione primaria appena promossa finché non si configura la rete tra i due. VPCs Consulta le opzioni di connettività di Amazon VPC-to-Amazon VPC per valutare diverse opzioni per configurare questa connettività.
-
L'aggiornamento dell'endpoint global writer dopo un failover o uno switchover del database globale può richiedere molto tempo a seconda della durata della memorizzazione nella cache DNS (Domain Name Service). Per ulteriori informazioni, consulta il Manuale dell'amministratore del database MySQL di Amazon Aurora. Aurora Global Database emette un evento RDS quando rileva la modifica del DNS sull'endpoint Global Writer. È possibile utilizzare l'evento per elaborare strategie per garantire che la cache DNS non si estenda oltre il periodo successivo alla generazione dell'evento. Per ulteriori informazioni, consulta Eventi di cluster di database.
-
Aurora Global Database replica i dati in modo asincrono. I metodi di failover interregionale possono far sì che alcuni dati delle transazioni di scrittura non siano stati replicati sul secondario scelto prima dell'inizio del failover. Sebbene Aurora tenti con il massimo impegno di bloccare le scritture nella AWS regione primaria originale, il failover può essere soggetto a problemi di split-brain. Le considerazioni per ridurre al minimo la perdita di dati e il rischio di split-brain si applicano anche agli endpoint Aurora Global Database Writer. Per ulteriori informazioni, consulta Esecuzione di failover gestiti per database globali Aurora.