Utilizzo delle repliche di lettura del cluster di database multi-AZ - Amazon Relational Database Service

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 delle repliche di lettura del cluster di database multi-AZ

Una replica di lettura del cluster di database è un tipo speciale di cluster che viene creato da un'istanza database di origine. Dopo aver creato una replica di lettura, gli aggiornamenti applicati all'istanza database primaria vengono copiati in modo asincrono nella replica di lettura del cluster di database Multi-AZ. Puoi ridurre il carico sull'istanza database di database primaria instradando le query di lettura dalle applicazioni alla replica di lettura. Tramite le repliche di lettura puoi dimensionare in modo elastico la capacità oltre i vincoli di una singola istanza database per carichi di lavoro di database particolarmente gravosi in lettura.

Puoi anche creare una o più repliche di lettura dell'istanza database da un cluster database Multi-AZ. Le repliche di lettura delle istanze database consentono di superare la capacità di calcolo o di I/O del cluster database Multi-AZ di origine indirizzando il traffico di lettura in eccesso verso le repliche di lettura. Al momento, non è possibile creare una replica di lettura del cluster database Multi-AZ da un cluster database Multi-AZ esistente.

Migrazione a un cluster database multi-AZ tramite una replica di lettura

Per eseguire la migrazione di un'implementazione single-AZ o di un'implementazione di istanza database multi-AZ a un'implementazione di cluster database multi-AZ con tempi di inattività ridotti, è possibile creare una replica di lettura del cluster database multi-AZ. Per l'origine, si specifica l'istanza database nell'implementazione single-AZ o l'istanza database primaria nell'implementazione di istanza database multi-AZ. L'istanza database può elaborare le transazioni di scrittura durante la migrazione a un cluster database multi-AZ.

Di seguito sono indicati i requisiti da considerare prima di creare la replica di lettura del cluster di database multi-AZ:

  • La versione dell'istanza database di origine deve supportare il cluster database multi-AZ. Per ulteriori informazioni, consulta Regioni e motori DB supportati per cluster DB Multi-AZ in Amazon RDS.

  • La replica di lettura del cluster database multi-AZ deve avere la stessa versione principale dell'origine e la stessa versione secondaria o successiva.

  • Attiva i backup automatici nell'istanza database di origine impostando il periodo di conservazione dei backup su un valore diverso da zero.

  • Lo spazio di archiviazione allocato dell'istanza database di origine deve essere pari o superiore a 100 GiB.

  • Per RDS per MySQL, i parametri gtid-mode e enforce_gtid_consistency devono entrambi essere impostati su ON per l'istanza database di origine. È necessario utilizzare un gruppo di parametri personalizzati e non il gruppo parametri predefiniti. Per ulteriori informazioni, consulta Gruppi di parametri DB per RDSistanze.

  • Una transazione attiva a esecuzione prolungata può rallentare il processo di creazione della replica di lettura. Ti consigliamo di attendere il completamento delle transazioni a esecuzione prolungata prima di creare una replica di lettura.

  • Se elimini l'istanza database di origine per una replica di lettura del cluster database multi-AZ, la replica di lettura viene promossa a cluster database multi-AZ autonomo.

Creazione e promozione della replica di lettura del cluster database multi-AZ

È possibile creare e promuovere una replica di lettura del cluster DB Multi-AZ utilizzando AWS Management Console AWS CLI, o l'API RDS.

Nota

Ti consigliamo vivamente di creare tutte le repliche di lettura nello stesso cloud privato virtuale (VPC) utilizzando Amazon VPC come istanza database di origine.

Se crei una replica di lettura in un VPC diverso dall'istanza DB di origine, gli intervalli CIDR (Classless Inter-Domain Routing) possono sovrapporsi tra la replica e il sistema Amazon RDS. La sovrapposizione CIDR rende la replica instabile, influendo negativamente sulle applicazioni che si connettono. Se viene visualizzato un errore durante la creazione della replica di lettura, scegli un gruppo di sottoreti DB di destinazione diverso. Per ulteriori informazioni, consulta Lavorare con un di istanze DB in un VPC.

Per eseguire la migrazione di un'implementazione single-AZ o di un'implementazione di istanza database multi-AZ a un cluster database multi-AZ tramite una replica di lettura, completa i seguenti passaggi utilizzando la AWS Management Console.

  1. Accedi AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Crea la replica di lettura del cluster database multi-AZ.

    1. Nel riquadro di navigazione, scegliere Databases (Database).

    2. Scegli l'istanza database da usare come origine per la replica di lettura.

    3. Per Actions (Operazioni), scegliere Create read replica (Crea replica di lettura).

    4. Per Availability and durability (Disponibilità e durabilità), scegli Multi-AZ database cluster (Cluster di database multi-AZ).

    5. Per DB instance identifier (Identificatore istanze DB) inserire un nome per la replica di lettura.

    6. Per le restanti sezioni, specifica le impostazioni del cluster di database. Per informazioni sull'impostazione, consulta Impostazioni per la creazione di cluster di database Multi-AZ.

    7. Scegli Create read replica (Crea replica di lettura).

  3. A questo punto, è possibile promuovere la replica di lettura a cluster database multi-AZ autonomo:

    1. Arresta la scrittura delle transazioni nell'istanza database di origine e quindi attendi l'applicazione di tutti gli aggiornamenti alla replica di lettura.

      Gli aggiornamenti del database vengono eseguiti nella replica di lettura dopo essere stati completati nell'istanza database primaria. Questo ritardo della replica può variare in modo significativo. Utilizzare il parametro ReplicaLag per determinare quando sono stati applicati tutti gli aggiornamenti alla replica di lettura. Per ulteriori informazioni sul ritardo della replica, consulta Monitoraggio della replica di lettura.

    2. Accedi AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

    3. Nella console Amazon RDS scegliere Databases (Database).

      Verrà visualizzato il riquadro Databases (Database). Ogni replica di lettura mostra la Replica nella colonna Role (Ruolo).

    4. Scegli la replica di lettura del cluster database multi-AZ che desideri promuovere.

    5. In Actions (Operazioni), seleziona Promote (Promuovi).

    6. Nella pagina Promote read replica (Promuovi replica di lettura) immetti il periodo di conservazione dei backup e la finestra di backup per il nuovo cluster database multi-AZ promosso.

    7. Dopo aver definito tutte le impostazioni desiderate, scegli Promote read replica (Promuovi replica di lettura).

    8. Attendi che lo stato del cluster database multi-AZ promosso diventi Available.

    9. Configura le applicazioni in modo che utilizzino il cluster database multi-AZ promosso.

    Facoltativamente, elimina l'implementazione single-AZ o l'implementazione di istanza database multi-AZ, se non è più necessaria. Per istruzioni, consulta Eliminazione di un'istanza database.

Per eseguire la migrazione di un'implementazione single-AZ o di un'implementazione di istanza database multi-AZ a un cluster database multi-AZ tramite una replica di lettura, completa i seguenti passaggi utilizzando la AWS CLI.

  1. Crea la replica di lettura del cluster database multi-AZ.

    Per creare una replica di lettura dall'istanza DB di origine, usa il AWS CLI comando. create-db-cluster Per --replication-source-identifier, specifica il nome della risorsa Amazon (ARN) dell'istanza database di origine.

    Per LinuxmacOS, oUnix:

    aws rds create-db-cluster \ --db-cluster-identifier mymultiazdbcluster \ --replication-source-identifier arn:aws:rds:us-east-2:123456789012:db:mydbinstance --engine postgres \ --db-cluster-instance-class db.m5d.large \ --storage-type io1 \ --iops 1000 \ --db-subnet-group-name defaultvpc \ --backup-retention-period 1

    Per Windows:

    aws rds create-db-cluster ^ --db-cluster-identifier mymultiazdbcluster ^ --replication-source-identifier arn:aws:rds:us-east-2:123456789012:db:mydbinstance --engine postgres ^ --db-cluster-instance-class db.m5d.large ^ --storage-type io1 ^ --iops 1000 ^ --db-subnet-group-name defaultvpc ^ --backup-retention-period 1
  2. Arresta la scrittura delle transazioni nell'istanza database di origine e quindi attendi l'applicazione di tutti gli aggiornamenti alla replica di lettura.

    Gli aggiornamenti del database vengono eseguiti nella replica di lettura dopo essere stati completati nell'istanza database primaria. Questo ritardo della replica può variare in modo significativo. Utilizzare il parametro Replica Lag per determinare quando sono stati applicati tutti gli aggiornamenti alla replica di lettura. Per ulteriori informazioni sul ritardo della replica, consulta Monitoraggio della replica di lettura.

  3. A questo punto, è possibile promuovere la replica di lettura a cluster database multi-AZ autonomo.

    Per promuovere una replica di lettura del cluster database multi-AZ, utilizza il comando AWS CLI promote-read-replica-db-cluster. Per --db-cluster-identifier, specifica l'identificatore della replica di lettura del cluster database multi-AZ.

    aws rds promote-read-replica-db-cluster --db-cluster-identifier mymultiazdbcluster
  4. Attendi che lo stato del cluster database multi-AZ promosso diventi Available.

  5. Configura le applicazioni in modo che utilizzino il cluster database multi-AZ promosso.

Facoltativamente, elimina l'implementazione single-AZ o l'implementazione di istanza database multi-AZ, se non è più necessaria. Per istruzioni, consulta Eliminazione di un'istanza database.

Per eseguire la migrazione di un'implementazione single-AZ o di un'implementazione di istanza database multi-AZ a un cluster database multi-AZ tramite una replica di lettura, completa i seguenti passaggi utilizzando l'API RDS.

  1. Crea la replica di lettura del cluster database multi-AZ.

    Per creare una replica di lettura del cluster database multi-AZ, utilizza l'operazione CreateDBCluster con il parametro DBClusterIdentifier richiesto. Per ReplicationSourceIdentifier, specifica il nome della risorsa Amazon (ARN) dell'istanza database di origine.

  2. Arresta la scrittura delle transazioni nell'istanza database di origine e quindi attendi l'applicazione di tutti gli aggiornamenti alla replica di lettura.

    Gli aggiornamenti del database vengono eseguiti nella replica di lettura dopo essere stati completati nell'istanza database primaria. Questo ritardo della replica può variare in modo significativo. Utilizzare il parametro Replica Lag per determinare quando sono stati applicati tutti gli aggiornamenti alla replica di lettura. Per ulteriori informazioni sul ritardo della replica, consulta Monitoraggio della replica di lettura.

  3. A questo punto, è possibile promuovere la replica di lettura a cluster database multi-AZ autonomo.

    Per promuovere una replica di lettura del cluster database multi-AZ, utilizza l'operazione PromoteReadReplicaDBCluster con il parametro DBClusterIdentifier richiesto. Specifica l'identificatore della replica di lettura del cluster database multi-AZ.

  4. Attendi che lo stato del cluster database multi-AZ promosso diventi Available.

  5. Configura le applicazioni in modo che utilizzino il cluster database multi-AZ promosso.

Facoltativamente, elimina l'implementazione single-AZ o l'implementazione di istanza database multi-AZ, se non è più necessaria. Per istruzioni, consulta Eliminazione di un'istanza database.

Limitazioni alla creazione di una replica di lettura del cluster database multi-AZ

Le seguenti limitazioni si applicano alla creazione di una replica di lettura del cluster database multi-AZ da un'implementazione di istanza database single-AZ o multi-AZ.

  • Non è possibile creare una replica di lettura del cluster DB Multi-AZ in un Account AWS ambiente diverso da quello Account AWS che possiede l'istanza DB di origine.

  • Non è possibile creare una replica di lettura del cluster DB Multi-AZ in un'istanza DB diversa Regione AWS da quella di origine.

  • Non è possibile eseguire il ripristino point-in-time di una replica di lettura del cluster database multi-AZ.

  • La crittografia di archiviazione deve avere le stesse impostazioni per l'istanza database di origine e il cluster database multi-AZ.

  • Se l'istanza database di origine è crittografata, la replica di lettura del cluster database multi-AZ deve essere crittografata utilizzando la stessa chiave KMS.

  • Se l'istanza DB di origine utilizza lo storage General Purpose SSD (gp3) e dispone di meno di 400 GiB di storage allocato, non è possibile modificare gli IOPS assegnati per la replica di lettura del cluster DB Multi-AZ.

  • Per eseguire un aggiornamento della versione secondaria nell'istanza database di origine, è necessario innanzitutto eseguire l'aggiornamento della versione secondaria nella replica di lettura del cluster database multi-AZ.

  • Quando si esegue un aggiornamento di versione minore su una replica di lettura del cluster DB RDS for PostgreSQL Multi-AZ, l'istanza DB reader non passa all'istanza DB writer dopo l'aggiornamento. Pertanto, il tuo cluster DB potrebbe subire tempi di inattività durante l'aggiornamento dell'istanza writer da parte di Amazon RDS.

  • Non è possibile eseguire un aggiornamento di versione principale su una replica di lettura del cluster DB Multi-AZ.

  • È possibile eseguire un aggiornamento della versione principale nell'istanza database di origine di una replica di lettura del cluster database multi-AZ, ma l'esecuzione della replica di lettura si arresta e non può essere riavviata.

  • La replica di lettura del cluster database multi-AZ non supporta le repliche di lettura a cascata.

  • In RDS per PostgreSQL, le repliche di lettura del cluster database multi-AZ non possono eseguire il failover.

Creazione di una replica di lettura di un'istanza database da un cluster database Multi-AZ

Puoi creare una replica di lettura dell'istanza database da un cluster database Multi-AZ per superare la capacità di calcolo o di I/O del cluster per i carichi di lavoro di database con un uso intensivo delle operazioni di lettura. Puoi indirizzare questo traffico in lettura in eccesso a una o più repliche di lettura dell'istanza database. Puoi anche utilizzare le repliche di lettura per eseguire la migrazione da un cluster database Multi-AZ a un'istanza database.

Per creare una replica di lettura, specifica un cluster database Multi-AZ come origine della replica. Una delle istanze di lettura del cluster database Multi-AZ è sempre l'origine della replica e non l'istanza di scrittura. Questa condizione garantisce che la replica sia sempre sincronizzata con il cluster di origine, anche in caso di failover.

Confronto tra istanza database di lettura e repliche di lettura dell'istanza database

Una replica di lettura di un'istanza database di un cluster database Multi-AZ è diversa dalle istanze database di lettura del cluster database Multi-AZ per i seguenti motivi:

  • A differenza delle repliche di lettura dell'istanza database, le istanze database di lettura fungono da destinazioni del failover automatico.

  • Le istanze database di lettura devono confermare una modifica proveniente dall'istanza database di scrittura prima che venga eseguito il commit di tale modifica. Per le repliche di lettura dell'istanza database, tuttavia, gli aggiornamenti vengono copiati in modo asincrono nella replica di lettura senza richiedere la conferma.

  • Le istanze database di lettura condividono sempre la stessa classe di istanza, lo stesso tipo di archiviazione e la stessa versione di motore dell'istanza database di scrittura del cluster database Multi-AZ. Le repliche di lettura delle istanze database, tuttavia, non devono necessariamente condividere le stesse configurazioni del cluster di origine.

  • Puoi promuovere una replica di lettura dell'istanza database a istanza database autonoma. Non è possibile promuovere un'istanza database di lettura di un cluster database Multi-AZ a istanza autonoma.

  • L'endpoint di lettura indirizza solo le istanze database di lettura del cluster database Multi-AZ. Non indirizza mai le richieste a una replica di lettura dell'istanza database.

Per ulteriori informazioni sulle istanze database di lettura e scrittura, consulta Panoramica dei cluster di database Multi-AZ.

Considerazioni

Di seguito sono indicati i requisiti da considerare prima di creare una replica di lettura dell'istanza database da un cluster database Multi-AZ:

  • Quando crei la replica di lettura dell'istanza database, tale replica deve avere la stessa versione principale del cluster di origine e la stessa versione secondaria o successiva. Dopo averlo creato, puoi facoltativamente aggiornare la replica di lettura a una versione secondaria successiva rispetto a quella usata dal cluster di origine.

  • Quando crei la replica di lettura dell'istanza database, lo spazio di archiviazione allocato deve essere uguale allo spazio di archiviazione allocato del cluster database Multi-AZ di origine. Puoi modificare lo spazio di archiviazione allocato dopo aver creato la replica di lettura.

  • Per RDS per MySQL, il parametro gtid-mode deve essere impostato su ON per il cluster database Multi-AZ di origine. Per ulteriori informazioni, consulta Utilizzo di gruppi di parametri cluster di database per cluster database Multi-AZ.

  • Una transazione attiva a esecuzione prolungata può rallentare il processo di creazione della replica di lettura. Ti consigliamo di attendere il completamento delle transazioni a esecuzione prolungata prima di creare una replica di lettura.

  • Se elimini il cluster database Multi-AZ di origine per una replica di lettura dell'istanza database, tutte le repliche di lettura su cui sta scrivendo vengono promosse a istanze database autonome.

Creazione di una replica di lettura dell'istanza database

È possibile creare una replica di lettura di un'istanza DB da un cluster DB Multi-AZ utilizzando AWS Management Console AWS CLI, o l'API RDS.

Nota

Ti consigliamo vivamente di creare tutte le repliche di lettura nello stesso cloud privato virtuale (VPC) utilizzando Amazon VPC come cluster database Multi-AZ di origine.

Se crei una replica di lettura in un VPC diverso da quello del cluster database Multi-AZ di origine, gli intervalli di routing interdominio senza classi (CIDR) possono sovrapporsi tra la replica e il sistema RDS. La sovrapposizione CIDR rende la replica instabile, influendo negativamente sulle applicazioni che si connettono. Se viene visualizzato un errore durante la creazione della replica di lettura, scegli un gruppo di sottoreti DB di destinazione diverso. Per ulteriori informazioni, consulta Lavorare con un di istanze DB in un VPC.

Per creare una replica di lettura di un'istanza database da un cluster database Multi-AZ, completa i seguenti passaggi utilizzando la AWS Management Console.

  1. Accedi AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli Databases (Database).

  3. Scegli il cluster database Multi-AZ da usare come origine della replica di lettura.

  4. Per Actions (Operazioni), scegliere Create read replica (Crea replica di lettura).

  5. In Origine replica, verifica che sia selezionato il cluster DB Multi-AZ corretto.

  6. In Identificatore DB, specifica il nome della replica di lettura.

  7. Per le restanti sezioni, specifica le impostazioni dell'istanza database. Per informazioni sull'impostazione, consulta Impostazioni per istanze database.

    Nota

    Lo spazio di archiviazione allocato per la replica di lettura dell'istanza database deve essere uguale allo spazio di archiviazione allocato per il cluster database Multi-AZ di origine.

  8. Scegli Create read replica (Crea replica di lettura).

Per creare una replica di lettura di un'istanza DB da un cluster DB Multi-AZ, usa il comando. AWS CLI create-db-instance-read-replica Per --source-db-cluster-identifier, specifica l'identificatore del cluster database Multi-AZ.

PerLinux, omacOS: Unix

aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --source-db-cluster-identifier mymultiazdbcluster

Per Windows:

aws rds create-db-instance-read-replica ^ --db-instance-identifier myreadreplica ^ --source-db-cluster-identifier mymultiazdbcluster

Per creare una replica di lettura di un'istanza database da un cluster database Multi-AZ, utilizza l'operazione CreateDBInstanceReadReplica.

Promozione della replica di lettura dell'istanza database

Se non hai più bisogno della replica di lettura dell'istanza database, puoi promuoverla in un'istanza database autonoma. Quando promuovi una replica di lettura, l'istanza database viene riavviata prima di diventare disponibile. Per istruzioni, consulta Promozione di una replica di lettura a istanza database standalone.

Se utilizzi la replica di lettura per eseguire la migrazione di un'implementazione Multi-AZ di cluster database a un'implementazione di istanza database Single-AZ o Multi-AZ, assicurati di interrompere tutte le transazioni in fase di scrittura nel cluster database di origine. Attendi quindi il completamento di tutti gli aggiornamenti nella replica di lettura. Gli aggiornamenti del database vengono eseguiti nella replica di lettura dopo essere stati completati in una delle istanze database di lettura del cluster database Multi-AZ. Questo ritardo della replica può variare in modo significativo. Utilizzare il parametro ReplicaLag per determinare quando sono stati applicati tutti gli aggiornamenti alla replica di lettura. Per ulteriori informazioni sul ritardo della replica, consulta Monitoraggio della replica di lettura.

Dopo aver promosso la replica di lettura, attendi che lo stato dell'istanza database promossa indichi Available prima di impostare le applicazioni per l'uso dell'istanza database promossa. Facoltativamente, elimina l'implementazione Multi-AZ del cluster database se non ne hai più bisogno. Per istruzioni, consulta Per eliminare un cluster di database Multi-AZ.

Limitazioni alla creazione di una replica di lettura di un'istanza database da un cluster database Multi-AZ

Le seguenti limitazioni si applicano alla creazione di una replica di lettura di un'istanza database da un'implementazione Multi-AZ di un cluster database.

  • Non è possibile creare una replica di lettura di un'istanza DB in un cluster DB diverso da Account AWS quello Account AWS che possiede il cluster DB Multi-AZ di origine.

  • Non è possibile creare una replica di lettura di un'istanza DB in un cluster DB Multi-AZ diverso Regione AWS da quello di origine.

  • Non puoi eseguire il ripristino point-in-time di una replica di lettura di un'istanza database.

  • La crittografia di archiviazione deve avere le stesse impostazioni per il cluster database Multi-AZ di origine e la replica di lettura dell'istanza database.

  • Se il cluster database Multi-AZ di origine è crittografata, la replica di lettura dell'istanza database deve essere crittografata utilizzando la stessa chiave KMS.

  • Per eseguire un aggiornamento della versione secondaria nel cluster database Multi-AZ di origine, è innanzitutto necessario eseguire l'aggiornamento della versione secondaria nella replica di lettura dell'istanza database.

  • La replica di lettura dell'istanza database non supporta le repliche di lettura a cascata.

  • Per RDS per PostgreSQL, il cluster database Multi-AZ di origine deve eseguire PostgreSQL versione 13.11, 14.8 o 15.2.R2 o successive per creare una replica di lettura dell'istanza database.

  • È possibile eseguire un aggiornamento della versione principale nel cluster database Multi-AZ di origine di una replica di lettura dell'istanza database, ma l'esecuzione della replica di lettura si arresta e non può essere riavviata.