Le repliche di lettura di Amazon RDS forniscono prestazioni e durabilità elevate per le istanze database. Questa caratteristica semplifica il dimensionamento elastico delle risorse oltre la capacità di una singola istanza database per i carichi di lavoro di database particolarmente gravosi in lettura. È possibile creare una o più repliche di un'istanza database sorgente e assegnare elevati volumi di traffico in lettura delle applicazioni da più copie dei dati, incrementando così il throughput totale in lettura. Le repliche di lettura inoltre anche essere convertite in istanze database autonome. Le repliche di lettura sono disponibili in Amazon RDS for MySQL, MariaDB e PostgreSQL nonché Amazon Aurora.

Per i motori di database MySQL, MariaDB e PostgreSQL, Amazon RDS crea una seconda istanza database utilizzando uno snapshot dell'istanza database sorgente. In seguito utilizza la replica asincrona nativa dei motori per aggiornare la replica di lettura ogni qualvolta ci sia una modifica all'istanza database sorgente. La replica di lettura funziona come istanza database che consente solo connessioni in lettura; le applicazioni possono connettersi alla replica di lettura come si connettono a qualsiasi altra istanza database. Amazon RDS replica tutti i database che si trovano nell'istanza database di origine.

Amazon Aurora impiega un layer di storage virtualizzato su SSD creato appositamente per i carichi di lavoro di database. Le repliche di Amazon Aurora condividono lo stesso storage iniziale dell'istanza di origine, riducendo i costi ed eliminando l'esigenza di copiare i dati nei nodi replica. Per ulteriori informazioni sulla caratteristica di replica con Amazon Aurora, consulta la documentazione online.

Inizia a usare AWS gratis

Crea un account gratuito

Il piano gratuito di AWS include 750 ore di istanze database Micro ogni mese per un anno, 20 GB di storage e 20 GB di backup con Amazon Relational Database Service (RDS).

Visualizza i dettagli del piano gratuito di AWS »

È possibile ridurre il carico sull'istanza database di origine instradando le query in lettura dall'applicazione alla replica di lettura. La funzione di replica di lettura permette di ricalibrare in modo elastico le risorse oltre la capacità di una singola istanza database per i carichi di lavoro di database particolarmente gravosi in lettura.

Per trarre il massimo vantaggio dalle prestazioni in lettura, Amazon RDS per MySQL consente di aggiungere indici di tabella direttamente alle repliche di lettura, senza includere tali indici nel master.

Poiché le repliche di lettura possono essere convertite a master, sono utili anche per l'implementazione dello sharding. Per applicare lo sharding al database, aggiungi una replica di lettura e convertila a master, quindi elimina da ognuna delle istanze database rimanenti i dati relativi agli altri shard.

Il motore di Amazon RDS per MySQL consente anche di eseguire azioni su tutta la tabella, ad esempio aggiungere indici o nuove colonne alle repliche di lettura, perciò la promozione di una replica può essere usata per ridurre al minimo l'impatto di queste operazioni. Sarebbe sufficiente indirizzare il DDL per l'operazione su una replica di lettura, promuovere tale replica a master e reindirizzare il traffico di database verso il nuovo master.

Le repliche di lettura in Amazon RDS per MySQL, MariaDB e PostgreSQL forniscono meccanismi di disponibilità complementari alle implementazioni Multi-AZ di Amazon RDS. Le repliche di lettura possono essere convertite in istanze database autonome in caso di errori nell'istanza database sorgente. Inoltre, è possibile replicare istanze database su più regioni AWS nell'ambito di una strategia di disaster recovery. Questa funzionalità è complementare ad altre caratteristiche offerte dalle implementazioni Multi-AZ, come replica sincrona, rilevamento automatico di errori e failover.

Quando crei una replica di lettura per Amazon RDS per MySQL, MariaDB e PostgreSQL, Amazon RDS configura un canale di comunicazione sicuro tra l'istanza database di origine e la replica di lettura utilizzando una chiave di crittografia pubblica. Amazon RDS stabilisce le configurazioni AWS di protezione necessarie per ottenere un canale sicuro, ad esempio aggiungendo voci a un gruppo di sicurezza.

È anche possibile creare repliche di lettura all'interno di una o più regioni per le istanze database Amazon RDS per MySQL, MariaDB e PostgreSQL crittografate su disco tramite AWS Key Management Service (KMS).

Le repliche di lettura vengono fatturate allo stesso prezzo delle istanze database standard; alle repliche di lettura possono essere applicate le istanze database riservate standard della stessa classe e regione. Per ulteriori informazioni, consulta la pagina dei prezzi di Amazon RDS.

Mediante la Console di gestione AWS è possibile aggiungere repliche di lettura alle istanze database esistenti con la massima semplicità. Utilizza l'opzione "Create Read Replica" relativa all'istanza database nella Console di gestione AWS. Amazon RDS per MySQL, MariaDB e PostgreSQL consentono di aggiungere fino 5 repliche di lettura per ogni istanza database.

Amazon RDS per MySQL, MariaDB e PostgreSQL offrono due opzioni basate su SSD per lo storage di database: General Purpose e Provisioned IOPS. Le repliche di lettura per questi motori non devono necessariamente impiegare lo stesso tipo di storage delle istanze database master. È possibile ottimizzare le prestazioni o i costi selezionando un tipo di storage differente per le repliche di lettura.

Le repliche di lettura Amazon RDS sono complementari alle implementazioni Multi-AZ. Sebbene entrambe le funzioni mantengano una seconda copia dei dati, vi sono differenze tra le due:

Implementazioni Multi-AZ Repliche di lettura
Replica sincrona: altamente durevole Replica asincrona: altamente scalabile
Attivo solo motore di database sull'istanza primaria Tutte le repliche di lettura sono accessibili e possono essere utilizzate per lo scaling di lettura
I backup automatici vengono eseguiti usando l'istanza di standby Nessun backup configurato per impostazione predefinita
Si estende sempre su due zone di disponibilità all'interno di una singola regione Può trovarsi all'interno di una zona di disponibilità, più zone di disponibilità o più regioni
Aggiornamenti della versione del motore di database avvengono nell’istanza principale L'aggiornamento della versione del motore di database è indipendente dall'istanza di origine
Failover automatico in standby quando viene rilevato un problema Può essere promosso manualmente in un'istanza di database autonoma

Puoi combinare le implementazioni Multi-AZ e le repliche di lettura per ottenere i vantaggi di entrambe le funzionalità. Ad esempio, puoi configurare un database di origine come Multi-AZ per una disponibilità elevata e creare una replica di lettura (in Single-AZ) per la scalabilità di lettura.

Con RDS per MySQL e MariaDB, puoi anche impostare la replica di lettura come Multi-AZ, consentendo l'uso della replica di lettura come un obiettivo DR. Quando si converte la replica di lettura in un'istanza database autonoma, sarà già attivata la funzione Multi-AZ. Occorre notare che RDS per PostgreSQL non supporta ancora questa funzione.