Appendice C: Backup e ripristino - Best practice per WordPress su AWS

Appendice C: Backup e ripristino

Il ripristino dopo un guasto in AWS è più rapido e semplice rispetto agli ambienti di hosting tradizionali. Ad esempio, è possibile avviare un'istanza sostitutiva in pochi minuti dopo un guasto hardware oppure utilizzare il failover automatico in molti dei nostri servizi gestiti per annullare l'impatto di un riavvio dovuto a manutenzione ordinaria.

Tuttavia, per il ripristino corretto dei dati è comunque necessario eseguirne il backup. Per ripristinare la disponibilità di un sito Web WordPress, è necessario avere a disposizione i seguenti componenti:

  • Installazione e configurazione del sistema operativo (OS) e dei servizi (Apache, MySQL e così via)

  • Codice e configurazione dell'applicazione WordPress

  • Temi e plug-in di WordPress

  • Caricamenti (ad esempio, file multimediali per i post)

  • Contenuti del database (post, commenti e così via)

AWS offre vari metodi per il backup e il ripristino dei dati e delle risorse delle applicazioni Web.

In una sezione precedente di questo white paper si è discusso dell'uso delle snapshot di Lightsail per proteggere tutti i dati archiviati nello storage locale dell'istanza. Se il sito Web WordPress viene eseguito solo dall'istanza Lightsail, le comuni snapshot di Lightsail dovrebbero essere sufficienti per ripristinarlo nella sua interezza. Tuttavia, l’esecuzione del ripristino da una snapshot comporterà la perdita delle modifiche applicate al sito Web dall'ultima snapshot.

In una distribuzione multi-server, è necessario eseguire il backup di ciascuno dei componenti discussi in precedenza utilizzando meccanismi diversi. Ogni componente può avere requisiti diversi in termini di frequenza di backup; ad esempio, l'installazione e la configurazione del sistema operativo e di WordPress variano con una frequenza decisamente minore rispetto ai contenuti generati dall'utente, pertanto possono essere sottoposti a backup meno frequentemente senza comportare la perdita di dati in caso di ripristino.

Per eseguire il backup dell'installazione e della configurazione del sistema operativo e dei servizi, nonché del codice e della configurazione dell'applicazione WordPress, è possibile creare un'AMI di un'istanza EC2 configurata correttamente. Le AMI hanno una duplice funzione: possono essere utilizzate come backup dello stato dell'istanza e fungere da modello durante l’avvio nuove istanze.

Per eseguire il backup del codice e della configurazione dell'applicazione WordPress, è necessario utilizzare sia le AMI che i backup di Aurora.

Per eseguire il backup dei temi e dei plug-in di WordPress installati sul proprio sito Web, è necessario eseguire il backup del bucket Amazon S3 o del file system Amazon EFS in cui sono archiviati.

  • Per i temi e i plug-in archiviati in un bucket S3 è possibile abilitare la replica tra regioni, in modo che tutti gli oggetti caricati nel bucket primario vengano automaticamente replicati nel bucket di backup in un'altra regione AWS. La replica tra regioni richiede che il controllo delle versioni sia abilitato sui bucket di origine e destinazione, il che fornisce un ulteriore livello di protezione e consente di ripristinare una versione precedente di un determinato oggetto nel bucket.

  • Per i temi e i plug-in archiviati in un file system EFS, è possibile creare un AWS Data Pipeline per copiare i dati dal file system EFS di produzione a un altro file system EFS, come descritto nella sezione Eseguire il backup dei file system Amazon EFS della documentazione. È inoltre possibile eseguire il backup di un file system EFS utilizzando l’applicazione di backup desiderata.

  • Per eseguire il backup dei caricamenti degli utenti, è necessario seguire la procedura per il backup dei temi e dei plug-in di WordPress descritta in precedenza.

  • Per eseguire il backup del contenuto del database è necessario effettuare il backup tramite Aurora. Aurora esegue automaticamente il backup del volume del cluster e conserva i dati di ripristino per l’intero tempo di conservazione dei backup. I backup di Aurora sono continui e incrementali, pertanto è possibile eseguire rapidamente il ripristino a un momento qualsiasi del tempo di conservazione dei backup. Durante la scrittura dei dati di backup, non si verifica alcun impatto sulle prestazioni o interruzione del funzionamento del servizio del database. È possibile impostare il tempo di conservazione del backup da 1 a 35 giorni. È inoltre possibile creare snapshot manuali del database, che vengono mantenute finché non vengono eliminate. Le snapshot manuali del database sono utili per i backup e l'archiviazione a lungo termine.