Uso delle repliche di lettura dell'istanza database - 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à.

Uso delle repliche di lettura dell'istanza database

Una replica di lettura è una copia di sola lettura di un'istanza database. È possibile ridurre il carico sull'istanza database primaria instradando le query dalle applicazioni alla replica di lettura. In questo modo, è possibile impiegare la scalabilità orizzontale in modo elastico oltre i vincoli di capacità di una singola istanza database per carichi di lavoro di database particolarmente gravosi in lettura.

Per creare una replica di lettura da un'istanza database di origine, Amazon RDS utilizza le funzionalità di replica integrata del motore database. Per informazioni sull'uso di repliche di lettura con un motore specifico, consulta le sezioni seguenti:

Dopo aver creato una replica di lettura da un'istanza database di origine, l'origine diventa l'istanza database primaria. Quando si aggiorna l'istanza database primaria, Amazon RDS copia l'aggiornamento in modo asincrono nella replica di lettura. Il diagramma seguente mostra un'istanza database di origine replicata su una replica di lettura in una zona di disponibilità (AZ) diversa. I client hanno read/write accesso all'istanza database principale e accesso in sola lettura alla replica.

Configurazione della replica di lettura

Le repliche di lettura vengono fatturate come istanze DB standard alle stesse tariffe della classe di istanze DB utilizzata per la replica. Non ti viene addebitato il trasferimento dei dati necessario per la replica dei dati tra l'istanza DB di origine e una replica di lettura all'interno della stessa. Regione AWS Per ulteriori informazioni, consultare Costi della replica tra regioni e Fatturazione delle istanze DB per Amazon RDS DB Fatturazione delle istanze di Amazon.

Panoramica delle repliche di lettura di Amazon RDS

Le seguenti sezioni trattano le repliche di lettura delle istanze database. Per informazioni sull'aggiunta di repliche di lettura a un cluster Multi-AZ, consulta Utilizzo di repliche di lettura del cluster DB Multi-AZ per Amazon RDS.

Casi d'uso per le repliche di lettura

La distribuzione di una o più repliche di lettura per un'istanza database di origine specifica può essere una scelta logica in svariati scenari, inclusi i seguenti:

  • Scalabilità superiore al calcolo o alla I/O capacità di una singola istanza DB per carichi di lavoro di database che richiedono molta lettura. Puoi indirizzare questo traffico in lettura in eccesso a una o più repliche di lettura.

  • Assegnazione di traffico in lettura mentre l'istanza DB di origine non è disponibile. In alcuni casi, l'istanza DB di origine potrebbe non essere in grado di accettare I/O richieste, ad esempio a causa della sospensione dell'I/O per i backup o la manutenzione programmata. In questi casi puoi indirizzare il traffico in lettura verso le repliche di lettura. Per questo caso d'uso, tieni presente che i dati nella replica di lettura potrebbero restare non aggiornati, perché l'istanza database di origine non è disponibile.

  • Scenari di creazione di report o di data warehousing in cui potrebbe essere necessario eseguire query per la creazione di report aziendali su una replica di lettura invece che sull'istanza DB di produzione principale.

  • Implementazione del disaster recovery. Puoi promuovere una replica di lettura a un'istanza standalone come soluzione di disaster recovery in caso di errore dell'istanza database primaria.

Funzionamento delle repliche di lettura

Quando si crea una replica di lettura, si specifica un'istanza DB esistente come origine. Amazon RDS acquisisce quindi uno snapshot dell'istanza di origine e crea un'istanza di sola lettura dallo snapshot. Amazon RDS usa quindi il metodo di replica asincrona per il motore del database per aggiornare la replica di lettura ogni volta che viene apportata una modifica all'istanza database primaria.

La replica di lettura funziona come un'istanza DB che consente solo connessioni di sola lettura. Le eccezioni sono i motori RDS per Db2 e RDS per Oracle DB, che supportano i database di replica rispettivamente in modalità standby e in modalità montata. Una replica in standby e una replica montata non accettano connessioni utente e quindi non possono servire carichi di lavoro di sola lettura. L'uso principale delle repliche in standby e delle repliche montate è il disaster recovery tra regioni. Per ulteriori informazioni, consultare Utilizzo delle repliche per Amazon RDS for Db2 e Utilizzo di repliche di lettura per Amazon RDS per Oracle.

Le applicazioni si connettono a una replica di lettura allo stesso modo in cui si connettono a qualsiasi istanza database. Amazon RDS replica tutti i database dall'istanza database di origine.

È necessario creare manualmente repliche di lettura. RDS non supporta la scalabilità automatica delle repliche di lettura, ovvero l'aggiunta o la rimozione automatica delle repliche di lettura al variare della domanda di lettura.

Repliche di lettura in una implementazione multi-AZ

È possibile configurare una replica di lettura per un'istanza database che dispone anche di una replica in standby configurata per l'elevata disponibilità in un'implementazione Multi-AZ. La replica con la replica in standby è sincrona. A differenza di una replica di lettura, una replica in standby non può gestire il traffico di lettura.

Nello scenario seguente, i client hanno read/write accesso a un'istanza DB principale in una AZ. L'istanza primaria copia gli aggiornamenti in modo asincrono su una replica di lettura in una seconda zona di disponibilità e li copia anche in modo sincrono su una replica in standby in una terza zona di disponibilità. I client hanno accesso in lettura solo alla replica di lettura.

Configurazione della replica di lettura e della replica in standby

Per ulteriori informazioni sull’elevata disponibilità e sulle repliche in standby, consulta Configurazione e gestione di una distribuzione Multi-AZ per Amazon RDS.

Repliche di lettura tra regioni diverse

In alcuni casi, una replica di lettura risiede in un'istanza DB diversa Regione AWS da quella principale. In questi casi, Amazon RDS configura un canale di comunicazione sicuro tra l'istanza database primaria e la replica di lettura. Amazon RDS stabilisce tutte le configurazioni AWS di sicurezza necessarie per abilitare il canale sicuro, ad esempio l'aggiunta di voci ai gruppi di sicurezza. Per informazioni sulle repliche di lettura tra regioni, consulta Creazione di una replica di lettura in una Regione AWS diversa.

Le informazioni contenute in questo capitolo si applicano alla creazione di repliche di lettura di Amazon RDS nella Regione AWS stessa istanza DB di origine o in un'altra istanza. Regione AWS Le seguenti informazioni non si applicano alla configurazione della replica con un'istanza in esecuzione su un' EC2 istanza Amazon o locale.

Tipi di archiviazione della replica di lettura

Per impostazione predefinita, la replica di lettura viene creata con lo stesso tipo di storage dell'istanza database di origine. Tuttavia, puoi creare una replica di lettura con un tipo di storage diverso dall'istanza database di origine in base alle opzioni elencate nella tabella seguente.

Tipo di storage dell'istanza database di origine Storage allocato all'istanza database di origine Opzioni per il tipo di storage della replica di lettura
IOPS con provisioning 100 GiB–64 TiB Capacità di IOPS allocata, per uso generico, magnetico
Uso generico 100 GiB–64 TiB Capacità di IOPS allocata, per uso generico, magnetico
Uso generico <100 GiB Per uso generico, magnetico
Magnetico Da 100 GiB a 6 TiB Capacità di IOPS allocata, per uso generico, magnetico
Magnetico <100 GiB Per uso generico, magnetico
Nota

Quando si aumenta lo storage allocato di una replica di lettura, deve essere di almeno il 10%. Se si prova ad aumentarlo di un valore inferiore al 10%, verrà visualizzato un errore.

Restrizioni per la creazione di una replica da una replica

Amazon RDS non supporta la replica circolare. Non puoi configurare un'istanza database perché funga da origine della replica per un'istanza database esistente. Puoi creare una nuova replica di lettura solo a partire da un'istanza database esistente. Ad esempio, se MySourceDBInstance si replica su ReadReplica1, non puoi configurare ReadReplica1 affinché si replichi a sua volta su MySourceDBInstance.

Per RDS per MariaDB e RDS per MySQL e per alcune versioni di RDS per PostgreSQL, è possibile creare una replica di lettura a partire da una replica di lettura esistente. Ad esempio, puoi creare una nuova replica di lettura ReadReplica2 dalla replica esistente ReadReplica1. Per RDS per Db2, RDS per Oracle e RDS per SQL Server, non è possibile creare una replica di lettura da una replica di lettura esistente.

Considerazioni su quando eliminare le repliche

RDS non supporta la scalabilità automatica delle repliche di lettura. Pertanto, RDS non aumenterà il numero di repliche all'aumentare della domanda né diminuirà il numero di repliche quando la domanda diminuisce. Se non hai più bisogno di repliche di lettura, eliminale manualmente utilizzando gli stessi meccanismi per l'eliminazione di un'istanza DB. Se elimini un'istanza DB di origine senza eliminarne le repliche di lettura nella stessa Regione AWS, ogni replica viene promossa a istanza DB autonoma.

Per informazioni sulla creazione di un'istanza database, consulta Eliminazione di un'istanza database. Per informazioni sulla promozione della replica in lettura, vedere Promozione di una replica di lettura a istanza database standalone. Per informazioni relative all'eliminazione dell'istanza DB di origine per una replica di lettura interregionale, consulta. Considerazioni relative alla replica tra regioni