Le distribuzioni su più zone di disponibilità di Amazon RDS, o implementazioni Multi-AZ, sono ideali per sostenere i carichi di lavoro di database di produzione, in quanto forniscono maggiore disponibilità e durabilità per le istanze database. Quando viene effettuato il provisioning di un'istanza database Multi-AZ, Amazon RDS crea automaticamente un'istanza database principale, replicandone in modo sincrono i dati su un'istanza di standby situata in una zona di disponibilità separata. Ciascuna zona di disponibilità viene eseguita su un'infrastruttura fisica propria, distinta e indipendente ed è progettata in modo da essere altamente affidabile. In caso di guasto a un'infrastruttura, Amazon RDS esegue automaticamente un failover sull'istanza di standby (o su una replica di lettura nel caso di Amazon Aurora), in modo da riprendere le operazioni del database appena terminata la procedura di failover. Poiché l'endpoint dell'istanza database è lo stesso anche in seguito al failover, l'applicazione potrà ripristinare l'operatività sul database senza la necessità di interventi manuali a livello amministrativo.

ha_ed_grizzly_reg_database_orange
3:01
Conversione di un'istanza Amazon RDS a Multi-AZ

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 »

Le implementazioni Multi-AZ per i motori MySQL, MariaDB, Oracle e PostgreSQL utilizzano la replica sincrona fisica per mantenere i dati nell'istanza di standby aggiornati con l'istanza primaria. Le implementazioni Multi-AZ per il motore SQL Server utilizzano la replica sincrona logica per ottenere lo stesso risultato impiegando la tecnologia di mirroring nativa di SQL Server. Entrambi questi approcci consentono di preservare i dati nel caso di un errore dell'istanza database o di perdita di una delle zone di disponibilità.

Se si verifica un errore in un volume di storage nell'istanza primaria in un'implementazione Multi-AZ, Amazon RDS avvia automaticamente un processo di failover sull'istanza di standby aggiornata (o su una replica di lettura nel caso di Amazon Aurora). Rispetto a un'implementazione Single-AZ, in caso di errore in un database Single-AZ sarà necessario eseguire un'operazione di ripristino point-in-time avviata dall'utente. L'esecuzione di questa operazione può richiedere molte ore ed eventuali aggiornamenti dei dati successivi all'ora ripristinabile più recente (in genere, gli ultimi cinque minuti) non saranno disponibili.

Amazon Aurora utilizza un layer di storage virtualizzato basato su SSD estremamente durevole appositamente sviluppato per i carichi di lavoro dei database. Amazon Aurora replica automaticamente il volume per sei volte sulle tre zone di disponibilità. Lo storage di Amazon Aurora è caratterizzato dalla tolleranza ai guasti, ovvero è in grado di gestire in modo trasparente la perdita di un massimo di due copie di dati senza ripercussioni sulla disponibilità delle operazioni di scrittura del database e la perdita di un massimo di tre copie di dati senza ripercussioni sulla disponibilità delle operazioni di lettura. Per lo storage di Amazon Aurora viene inoltre eseguita la riparazione automatica. I blocchi di dati e i dischi vengono analizzati continuamente alla ricerca di eventuali errori e quindi vengono sostituiti automaticamente.

Durante l'esecuzione delle implementazioni Multi-AZ è inoltre possibile sfruttare tutti i vantaggi di una disponibilità migliorata del database. Se si verifica un errore nella zona di disponibilità o nell'istanza database, l'impatto sulla disponibilità sarà limitato all'intervallo di tempo necessario al completamento del failover automatico, in genere meno di un minuto per Amazon Aurora (e circa 30 secondi quando si usa MariaDB Connector/J) e da uno a due minuti per gli altri motori di database; per ulteriori informazioni, consulta le domande frequenti su RDS.

I vantaggi relativi alla disponibilità delle implementazioni Multi-AZ interessano anche gli interventi di manutenzione programmati. Nel caso di aggiornamenti del sistema, ad esempio l'applicazione di patch al sistema operativo o lo scaling delle istanze database, queste operazioni vengono applicate innanzitutto all'istanza di standby prima del failover automatico. In questo modo l'impatto sulla disponibilità è limitato nuovamente al solo tempo necessario per il completamento del failover.

A differenza delle implementazioni Single-AZ, l'attività di I/O non viene sospesa nell'istanza primaria durante il backup delle implementazioni Multi-AZ per i motori MySQL, MariaDB, Oracle e PostgreSQL perché il backup viene eseguito usando l'istanza di standby. È tuttavia importante sottolineare che è possibile rilevare livelli elevati di latenza durante i primi minuti di esecuzione dei backup delle implementazioni Multi-AZ. 

In caso di errore dell'istanza nelle implementazioni di Amazon Aurora, Amazon RDS impiega la tecnologia RDS Multi-AZ per automatizzare il failover da 1 fino a 15 repliche di Amazon Aurora create in una qualsiasi delle tre zone di disponibilità. Se non è stato eseguito il provisioning delle repliche di Amazon Aurora, in caso di errore Amazon RDS tenterà di creare automaticamente una nuova istanza database di Amazon Aurora.

Il failover dell'istanza database è un'operazione automatica che non richiede alcun intervento di manutenzione. Amazon RDS esegue il monitoraggio dello stato dell'istanza primaria e delle istanze di standby e avvia automaticamente il failover in risposta a svariate condizioni di errore.

Amazon RDS riconosce gli scenari di errore più comuni delle implementazioni Multi-AZ e avvia automaticamente il ripristino, consentendoti di riprendere l'operatività del database con la massima rapidità senza alcun intervento manuale a livello amministrativo. Amazon RDS effettua un failover automaticamente nei seguenti casi:

  • Calo di disponibilità nella zona di disponibilità principale
  • Perdita di connettività di rete nell'istanza principale
  • Errore dell'unità di elaborazione nell'istanza principale
  • Errore di storage nell'istanza principale

Nota: l'esecuzione di operazioni quali il dimensionamento dell'istanza database o l'upgrade di sistema (ad esempio l'applicazione di patch al sistema operativo) su un'implementazione Multi-AZ avviene prima sull'istanza di standby per non pregiudicare la disponibilità, e solo in seguito viene effettuato il failover automatico (consulta la documentazione di Aurora per maggiori dettagli sul comportamento di aggiornamento). In questo modo l'impatto sulla disponibilità è limitato solo al tempo necessario per il completamento del failover. Nota: le implementazioni Multi-AZ di Amazon RDS non effettuano automaticamente il failover in caso di operazioni del database quali query che richiedono tempi di elaborazione particolarmente lunghi, blocchi critici o errori di danneggiamento del database.

Per ulteriori informazioni, consulta la pagina dei prezzi di Amazon RDS.

Puoi utilizzare la Console di gestione AWS per creare in modo semplice e rapido nuove implementazioni Multi-AZ oppure modificare istanze Single-AZ esistenti in modo da convertirle in implementazioni Multi-AZ. Per creare una nuova implementazione Multi-AZ utilizzando la Console di gestione AWS, è sufficiente fare clic su "Yes" in "Multi-AZ Deployment" durante l'avvio di un'istanza database. Per convertire un'istanza database Single-AZ esistente in un'implementazione Multi-AZ, utilizza l'opzione "Modify" corrispondente all'istanza database in uso nella Console di gestione AWS.

Amazon RDS per MySQL e PostgreSQL consentono di utilizzare le funzionalità di replica predefinite di questi motori con le repliche di lettura per eseguire lo scaling oltre i limiti di capacità di una singola istanza database per carichi di lavoro di database con una quantità rilevante di operazioni di lettura. Puoi usare le implementazioni Multi-AZ e le repliche di lettura in sinergia per ottenere i vantaggi di entrambe le funzionalità. È sufficiente specificare che una determinata implementazione Multi-AZ è l'istanza database sorgente per la replica di lettura. In questo modo otterrai sia la disponibilità e la durabilità dei dati delle implementazioni Multi-AZ sia lo scaling in lettura delle repliche.

Per le implementazioni Multi-AZ hai la possibilità di creare una replica di lettura in una zona di disponibilità diversa da quella dell'istanza primaria e dell'istanza di standby per ottimizzare la ridondanza. Per individuare la zona di disponibilità corrispondente all'istanza di standby, controlla il campo "Secondary Zone" dell'istanza database nella Console di gestione AWS.