Come faccio a creare una replica di lettura per un'istanza database MySQL di Amazon Aurora?

6 minuti di lettura
0

Ho un cluster Amazon Aurora MySQL. Vorrei creare una replica di lettura locale o interregionale o aggiungere regioni per il mio cluster di database Aurora. Come posso farlo?

Breve descrizione

Le repliche Aurora aumentano la capacità di elaborazione all'interno del cluster di database Aurora MySQL. Aiutano a distribuire il carico di lavoro di lettura (scalabilità di lettura) all'interno della regione e fungono anche da obiettivi di failover. Ciò significa che se l'istanza database primaria fallisce, una replica Aurora viene promossa all'istanza principale.

Una replica di lettura interregionale utilizza la registrazione binaria MySQL per replicare i dati su un cluster in un'altra area geografica. Ciò consente di dimensionare le operazioni di lettura in un'area geografica secondaria più vicina agli utenti. Aiuta a migliorare le capacità di ripristino di emergenza. e semplifica la migrazione da una regione AWS all'altra.

I database globali di Amazon Aurora possono estendersi su più regioni AWS. Consentono letture globali a bassa latenza e forniscono il ripristino dalla rara interruzione che potrebbe interessare un'intera regione AWS. Aurora replica i dati nelle regioni AWS secondarie utilizzando il proprio protocollo di replica e l'infrastruttura dedicata, con latenze in genere inferiori a un secondo.

Utilizza i seguenti passaggi per creare una replica di lettura locale o interregionale o aggiungere una nuova regione al tuo cluster di database Aurora MySQL.

Oltre alla registrazione binaria gestita da Aurora, puoi configurare e gestire il tuo ambiente di replica dei log binari. In questo ambiente, Aurora può essere l'origine o la destinazione.

Nota: questi passaggi non si applicano ai cluster Aurora Serverless o Aurora multi-master.

Risoluzione

Nota: se visualizzi errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI.

Crea una replica di lettura locale per un cluster Aurora MySQL

Usare la console Amazon RDS

1.    Apri la console Amazon RDS, e scegli Databases dal pannello di navigazione.

2.    Scegli il cluster di database a cui desideri aggiungere la nuova istanza database.

3.    Nella sezione Azioni, scegli Aggiungi lettore.

4.    Nella pagina Aggiungi lettore, personalizza le opzioni per la tua replica Aurora.

5.    Scegli Aggiungi lettore per creare la replica.

Usare l'interfaccia della linea di comando AWS

Per creare una replica Aurora nel tuo cluster di database utilizzando l'interfaccia della linea di comando AWS, esegui il comando create-db-instance. Includi il nome del cluster DB utilizzando l'opzione --db-cluster-identifier. È inoltre possibile specificare una zona di disponibilità (AZ) per la replica Aurora utilizzando il parametro availability-zone.

Questo comando di esempio crea una replica di lettura per Aurora MySQL (stessa regione e compatibile con Aurora MySQL 5.7 e Aurora MySQL 8.0).

Linux, macOS o Unix:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a \
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large \
    --availability-zone us-west-2a

Windows:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a ^
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large ^
    --availability-zone us-west-2a

Nota: se desideri creare una replica di lettura per un cluster compatibile con Aurora MySQL 5.6, modifica il parametro --engine in --engine aurora in questo comando.

Crea una replica di lettura interregionale per un cluster Aurora MySQL

Prima di poter creare una replica di lettura interregionale, è necessario attivare la registrazione binaria per il cluster di database Aurora MySQL di origine. La replica interregionale utilizza la replica binaria MySQL per riprodurre le modifiche sul cluster di replica di lettura interregionale. Quindi, crea un cluster interregionale utilizzando la console Amazon RDS o l'interfaccia della linea di comando AWS. 

Nota: non puoi creare una replica Aurora crittografata per un cluster di database Aurora non crittografato. Non puoi creare una replica Aurora non crittografata per un cluster di database Aurora crittografato.

Attiva la registrazione binaria per il tuo cluster di database

1.    Aggiorna il parametro binlog_format per il tuo cluster di database di origine. Si tratta di un parametro a livello di cluster che si trova nel gruppo di parametri del cluster predefinito.

2.    Se il tuo cluster di database utilizza il gruppo di parametri del cluster di database predefinito, crea un nuovo gruppo di parametri del cluster di database per modificare le impostazioni binlog_format. È consigliabile impostare binlog_format su MIXED. Puoi anche impostare binlog_format su ROW o STATEMENT se hai bisogno di un formato binlog specifico.

3.    Riavvia il tuo cluster di database Aurora per rendere effettive le modifiche.

Crea un cluster interregionale utilizzando la console Amazon RDS

1.    Apri la console Amazon RDS e scegli la regione AWS che ospita il tuo cluster di database di origine.

2.    Nel riquadro di navigazione, scegli Istanze.

3.    Scegli la casella di controllo per l'istanza database per la quale desideri creare una replica di lettura interregionale.

4.    Per Azioni, scegli Crea replica di lettura interregionale.

5.    Nella pagina Crea replica di lettura interregionale, scegli le impostazioni delle opzioni per il tuo cluster di database di replica di lettura interregionale.

Crea un cluster interregionale utilizzando l'interfaccia della linea di comando AWS

Per creare un cluster interregionale utilizzando l'interfaccia della linea di comando AWS, crea innanzitutto il cluster stesso nella regione di destinazione utilizzando la chiamata create-db-cluster. Quindi, utilizza la chiamata create-db-instance per creare l'istanza del lettore.

Questo esempio crea una replica interregionale utilizzando Linux, macOS o Unix ed è compatibile con Aurora MySQL 5.7 e Aurora MySQL 8.0.

1.    Crea il cluster eseguendo un comando simile al seguente:

aws rds create-db-cluster \
  --db-cluster-identifier sample-replica-cluster \
  --engine aurora-mysql \
  --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-source-cluster

2.    Verifica se il cluster è disponibile:

aws rds describe-db-clusters --db-cluster-identifier sample-replica-cluster

3.    Crea un'istanza nel cluster:

aws rds create-db-instance \
  --db-cluster-identifier sample-replica-cluster \
  --db-instance-class db.r6g.large \
  --db-instance-identifier sample-replica-instance \
  --engine aurora-mysql

Per creare lo stesso utilizzando CLI su Windows, segui gli stessi passaggi, ma usa il simbolo ^ come delimitatore di riga anziché ****.

Aggiungi una regione AWS a un cluster fornito da Aurora per creare un database globale Aurora

Usare la console Amazon RDS

  1. Apri la console Amazon RDS.

  2. Nel riquadro di navigazione, scegli Database.

  3. Scegli il database globale Aurora che necessita di un cluster di database Aurora secondario. Assicurati che il cluster di database Aurora primario abbia lo stato Disponibile.

  4. Da Azioni, scegli Aggiungi regione.

  5. Scegli la regione AWS che desideri aggiungere. 

**Nota: **non puoi scegliere una regione AWS che dispone già di un cluster di database Aurora secondario per lo stesso database globale Aurora. Inoltre, non puoi scegliere la stessa regione AWS della regione del cluster di database Aurora primario. 

  1. Completa i campi rimanenti per il cluster Aurora secondario nella nuova regione AWS. Quindi, scegli Aggiungi regione

Usare l'interfaccia della linea di comando AWS

Esegui il seguente script nell'interfaccia della linea di comando AWS.

Nota: se usi Windows, sostituisci il delimitatore \ line con il simbolo ^.

aws rds --region us-east-2 \
  create-db-cluster \
    --db-cluster-identifier secondary_cluster_id \
    --global-cluster-identifier global_database_id \
    --engine aurora-mysql \
    --engine-version version

aws rds --region us-east-2 \
  create-db-instance \
    --db-instance-class db.r6g.large \
    --db-cluster-identifier secondary_cluster_id \
    --db-instance-identifier db_instance_id \
    --engine aurora-mysql

Informazioni correlate

Aggiungere repliche Aurora a un cluster di database

Replicare cluster di database Amazon Aurora MySQL nelle regioni AWS

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa