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à.
Implementazioni di cluster DB Multi-AZ per Amazon RDS
Una distribuzione cluster DB Multi-AZ è una modalità di distribuzione semisincrona e ad alta disponibilità di Amazon RDS con due istanze DB di replica leggibili. Un cluster DB Multi-AZ ha un'istanza DB writer e due istanze DB reader in tre zone di disponibilità separate nella stessa Regione AWS. I cluster di database multi-AZ offrono elevata disponibilità, maggiore capacità per i carichi di lavoro in lettura e minore latenza di scrittura rispetto alle implementazioni di istanze database Multi-AZ.
È possibile importare dati da un database on-premise in un cluster database multi-AZ seguendo le istruzioni riportate in Importazione dei dati in un database Amazon RDS MariaDB o MySQL con tempi di inattività ridotti.
Puoi acquistare istanze database riservate per cluster database Multi-AZ. Per ulteriori informazioni, consulta Istanze database riservate per un cluster di database Multi-AZ.
Il supporto varia a seconda delle versioni specifiche di ciascun motore di database e a seconda delle Regioni AWS. Per ulteriori informazioni sulla disponibilità della versione e della regione di Amazon RDS con cluster DB Multi-AZ, consulta. Regioni e motori DB supportati per cluster DB Multi-AZ in Amazon RDS
Argomenti
- Disponibilità di classi di istanze per cluster DB Multi-AZ
- Architettura cluster DB Multi-AZ
- Gruppi di parametri per cluster DB Multi-AZ
- RDSProxy con cluster DB Multi-AZ
- Ritardo di replica e cluster di database Multi-AZ
- Istantanee del cluster DB Multi-AZ
- Creazione di un cluster DB Multi-AZ per Amazon RDS
- Connessione a un cluster DB Multi-AZ per Amazon RDS
- Connessione automatica di una risorsa di AWS elaborazione e un cluster DB Multi-AZ per Amazon RDS
- Modifica di un cluster DB Multi-AZ per Amazon RDS
- Aggiornamento della versione del motore di un cluster DB Multi-AZ per Amazon RDS
- Ridenominazione di un cluster DB Multi-AZ per Amazon RDS
- Riavvio di un cluster DB Multi-AZ e di istanze DB di lettura per Amazon RDS
- Failing su un cluster DB Multi-AZ per Amazon RDS
- Configurazione della replica SQL logica Postgre con cluster DB Multi-AZ per Amazon RDS
- Utilizzo di repliche di lettura del cluster DB Multi-AZ per Amazon RDS
- Configurazione della replica esterna da cluster DB Multi-AZ per Amazon RDS
- Eliminazione di un cluster DB Multi-AZ per Amazon RDS
- Limitazioni dei cluster DB Multi-AZ per Amazon RDS
Importante
I cluster di database multi-AZ non sono gli stessi dei cluster di database Aurora. Per ulteriori informazioni sull'utilizzo di cluster di database Aurora, consulta la Guida per l'utente di Amazon Aurora.
Disponibilità di classi di istanze per cluster DB Multi-AZ
Le implementazioni di cluster DB Multi-AZ sono supportate per le seguenti classi di istanze DB:db.m5d
,db.m6gd
,db.m6id
,,db.m6idn
, db.r5d
db.r6gd
db.x2iedn
, db.r6id
e e. db.r6idn
db.c6gd
Nota
Le classi di istanze c6gd sono le uniche che supportano la dimensione dell'istanza. medium
Per altre informazioni sulle classi di istanza database, consulta Classi di istanze DB .
Architettura cluster DB Multi-AZ
Con un cluster DB Multi-AZ, Amazon RDS replica i dati dall'istanza Writer DB su entrambe le istanze DB Reader utilizzando le funzionalità di replica native del motore DB. Quando viene apportata una modifica all'istanza database di scrittore, viene inviata a ciascuna istanza database di lettura.
Le implementazioni di cluster Multi-AZ utilizzano la replica semi-sincrona, che richiede la conferma da almeno un'istanza database di lettura affinché venga eseguito il commit di una modifica. Non viene richiesta la conferma dell'avvenuta esecuzione o dell'avvenuto commit degli eventi in tutte le repliche.
Le istanze database di lettore fungono da target di failover automatici e servono anche il traffico di lettura per aumentare il throughput di lettura delle applicazioni. In caso di interruzione dell'istanza DB di Writer, RDS gestisce il failover su una delle istanze DB Reader. RDSesegue questa operazione in base all'istanza Reader DB con il record di modifica più recente.
Il seguente diagramma mostra un cluster di database Multi-AZ.
I cluster database Multi-AZ hanno in genere una latenza di scrittura inferiore rispetto alle implementazioni di istanze database AZ multiple. Consentono inoltre l'esecuzione di carichi di lavoro di sola lettura su istanze database di lettura. La RDS console mostra la zona di disponibilità dell'istanza DB writer e le zone di disponibilità delle istanze DB del lettore. È inoltre possibile utilizzare il describe-db-clustersCLIcomando o l'escribeDBClustersAPIoperazione D per trovare queste informazioni.
Importante
Per evitare errori di replica nei RDS cluster My SQL Multi-AZ DB, consigliamo vivamente che tutte le tabelle abbiano una chiave primaria.
Gruppi di parametri per cluster DB Multi-AZ
In un cluster di database Multi-AZ, un gruppo di parametri del cluster di database funge da container per i valori di configurazione del motore che sono applicati a ogni istanza database in un cluster di database Multi-AZ.
In un cluster di database Multi-AZ, un DB parameter group (Gruppo di parametri database) è impostato sul gruppo di parametri del database predefinito per il motore del database e la versione del motore di database. Le impostazioni del gruppo di parametri del cluster di database vengono utilizzate per tutte le istanze database nel cluster.
Per informazioni sui gruppi di parametri, consultare Utilizzo di gruppi di parametri cluster di database per cluster database Multi-AZ.
RDSProxy con cluster DB Multi-AZ
Puoi usare Amazon RDS Proxy per creare un proxy per i tuoi cluster DB Multi-AZ. Utilizzando RDS Proxy, le tue applicazioni possono raggruppare e condividere connessioni al database per migliorare la loro capacità di scalabilità. Ogni proxy esegue il multiplexing delle connessioni, noto anche come riutilizzo delle connessioni. Con il multiplexing, RDS Proxy esegue tutte le operazioni per una transazione utilizzando una connessione al database sottostante. RDSIl proxy può anche ridurre i tempi di inattività per un aggiornamento di versione minore di un cluster DB Multi-AZ a un secondo o meno. Per ulteriori informazioni sui vantaggi di RDS Proxy, vedere. Utilizzo di Amazon RDS Proxy
Per configurare un proxy per un cluster DB Multi-AZ, scegli Crea un RDS proxy durante la creazione del cluster. Per istruzioni su come creare e gestire gli endpoint RDS Proxy, consulta. Utilizzo degli endpoint Amazon RDS Proxy
Ritardo di replica e cluster di database Multi-AZ
Replica lag (Ritardo di replica) è la differenza di tempo tra l'ultima transazione sull'istanza database di scrittura e l'ultima transazione applicata su un'istanza database di lettura. La CloudWatch metrica Amazon ReplicaLag
rappresenta questa differenza di fuso orario. Per ulteriori informazioni sulle CloudWatch metriche, consulta. Monitoraggio dei parametri di RDSAmazon con Amazon CloudWatch
Sebbene i cluster di database Multi-AZ consentano prestazioni di scrittura elevate, può comunque verificarsi un ritardo di replica a causa della natura della replica basata sul motore. Poiché qualsiasi failover deve prima risolvere il ritardo di replica prima di promuovere una nuova istanza database di scrittura, il monitoraggio e la gestione di questo ritardo di replica devono essere presi in considerazione.
RDSPer i cluster My SQL Multi-AZ DB, il tempo di failover dipende dal ritardo di replica di entrambe le restanti istanze DB Reader. Entrambe le istanze database di lettura devono applicare transazioni non applicate prima che una di esse venga promossa a nuova istanza database di scrittura.
RDSPer i cluster DB Postgre SQL Multi-AZ, il tempo di failover dipende dal ritardo di replica più basso delle due istanze DB Reader rimanenti. L’istanza database di lettura con il ritardo di replica minore deve applicare transazioni non applicate prima di essere promossa a nuova istanza database di scrittura.
Per un tutorial che mostra come creare un CloudWatch allarme quando il ritardo della replica supera un determinato periodo di tempo, consulta. Tutorial: creazione di un CloudWatch allarme Amazon per il ritardo di replica del cluster DB Multi-AZ per Amazon RDS
Cause comuni del ritardo di replica
In generale, il ritardo di replica si verifica quando il carico di lavoro in scrittura è troppo alto per consentire alle istanze database di lettura di applicare le transazioni in modo efficiente. Diversi carichi di lavoro possono subire ritardi di replica temporanei o continui. Di seguito sono riportati alcuni esempi di cause comuni:
-
Alta concorrenza di scrittura o aggiornamento in batch pesante sull'istanza database di scrittura, che causano il ritardo del processo di applicazione sulle istanze database di lettura.
-
Carico di lavoro in lettura pesante che utilizza risorse su una o più istanze database di lettura. L'esecuzione di query lente o di grandi dimensioni può influire sul processo di applicazione e può causare un ritardo di replica.
-
Le transazioni che modificano grandi quantità di dati o DDL istruzioni possono talvolta causare un aumento temporaneo del ritardo di replica perché il database deve mantenere l'ordine di commit.
Mitigazione del ritardo di replica
Per i cluster DB Multi-AZ RDS per My SQL e Postgre RDSSQL, puoi mitigare il ritardo di replica riducendo il carico sull'istanza DB di Writer. È inoltre possibile utilizzare il controllo di flusso per ridurre il ritardo di replica. Flow control (Controllo di flusso) funziona limitando le scritture sull'istanza database di scrittura, che garantisce che il ritardo di replica non continui a crescere senza limiti. La limitazione della scrittura viene eseguita aggiungendo un ritardo alla fine di una transazione, che riduce la velocità effettiva di scrittura sull'istanza database di scrittura. Sebbene il controllo di flusso non garantisca l'eliminazione del ritardo, può contribuire a ridurre il ritardo complessivo in molti carichi di lavoro. Le sezioni seguenti forniscono informazioni sull'utilizzo del controllo del flusso con for My e per Postgre. RDS SQL RDS SQL
Riduzione del ritardo di replica con Flow Control for My RDS SQL
Quando si utilizzano i cluster My SQL Multi-AZ DB, il controllo del flusso è attivato RDS per impostazione predefinita utilizzando il parametro dinamico. rpl_semi_sync_master_target_apply_lag
Questo parametro specifica il limite superiore desiderato per il ritardo di replica. Man mano che il ritardo di replica si avvicina a questo limite configurato, il controllo del flusso limita le transazioni di scrittura sull'istanza Writer DB per cercare di contenere il ritardo della replica al di sotto del valore specificato. In alcuni casi, il ritardo di replica può superare il limite specificato. Per impostazione predefinita, questo parametro è impostato su 120 secondi. Per disattivare il controllo del flusso, imposta questo parametro sul valore massimo di 86.400 secondi (un giorno).
Per visualizzare il ritardo corrente inserito dal controllo di flusso, mostra il parametro Rpl_semi_sync_master_flow_control_current_delay
eseguendo la seguente query.
SHOW GLOBAL STATUS like '%flow_control%';
L'aspetto dell'output sarà simile al seguente.
+-------------------------------------------------+-------+
| Variable_name | Value |
+-------------------------------------------------+-------+
| Rpl_semi_sync_master_flow_control_current_delay | 2010 |
+-------------------------------------------------+-------+
1 row in set (0.00 sec)
Nota
Il ritardoviene visualizzato in microsecondi.
Quando hai attivato Performance Insights per un cluster RDS for My SQL Multi-AZ DB, puoi monitorare l'evento di attesa corrispondente a un'SQListruzione che indica che le query sono state ritardate da un controllo di flusso. Quando un ritardo è stato introdotto da un controllo di flusso, è possibile visualizzare l'evento di attesa /wait/synch/cond/semisync/semi_sync_flow_control_delay_cond
corrispondente all'SQListruzione nella dashboard di Performance Insights. Per visualizzare questi parametri, lo schema delle prestazioni deve essere attivato. Per informazioni su Performance Insights, consulta Monitoraggio del carico del DB con Performance Insights su Amazon RDS.
Riduzione del ritardo di replica con Flow Control for for Postgre RDS SQL
Quando si utilizzano RDS i cluster DB Postgre SQL Multi-AZ, il controllo del flusso viene distribuito come estensione. Attiva un dipendente in background per tutte le istanze database nel cluster di database. Per impostazione predefinita, i dipendenti in background sulle istanze database di lettura comunicano il ritardo di replica corrente con il dipendente in background sull'istanza database di scrittura. Se il ritardo supera i due minuti su qualsiasi istanza database di lettura, il dipendente in background sull'istanza database di scrittura aggiunge un ritardo alla fine di una transazione. Per controllare la soglia di ritardo, utilizza il parametro flow_control.target_standby_apply_lag
.
Quando un controllo di flusso rallenta un SQL processo Postgre, l'evento di Extension
attesa in Performance pg_stat_activity
Insights lo indica. La funzione get_flow_control_stats
visualizza i dettagli sull'entità del ritardo attualmente aggiunto.
Il controllo del flusso può favorire la maggior parte dei carichi di lavoro di elaborazione delle transazioni online (OLTP) che prevedono transazioni brevi ma altamente simultanee. Se il ritardo è causato da transazioni di lunga durata, come le operazioni in batch, il controllo di flusso non fornisce un vantaggio altrettanto forte.
È possibile disattivare il controllo di flusso rimuovendo l'estensione da shared_preload_libraries
e riavviare l'istanza database.
Istantanee del cluster DB Multi-AZ
Amazon RDS crea e salva backup automatici del tuo cluster DB Multi-AZ durante la finestra di backup configurata. RDScrea un'istantanea del volume di storage del cluster DB, eseguendo il backup dell'intero cluster e non solo delle singole istanze.
È inoltre possibile eseguire backup manuali del cluster DB Multi-AZ. Per backup a lungo termine, valuta la possibilità di esportare i dati degli snapshot su Amazon S3. Per ulteriori informazioni, consulta Creazione di uno snapshot del cluster DB Multi-AZ per Amazon RDS.
È possibile ripristinare un cluster di database Multi-AZ a un determinato momento, creando un nuovo cluster di database Multi-AZ. Per istruzioni, consulta Ripristino di un cluster di database Multi-AZ a un determinato momento.
In alternativa, puoi ripristinare uno snapshot del cluster DB Multi-AZ su una distribuzione Single-AZ o su un'istanza DB Multi-AZ. Per istruzioni, consultare Ripristino di uno snapshot di cluster database multi-AZ a un'istanza database.