Che cos’è uno snapshot in AWS? Spiegazione dello snapshot AWS EBS

Amazon Elastic Block Store (Amazon EBS) è un servizio che fornisce storage persistente a livello di blocco per le istanze di Amazon EC2. In parole povere, questo servizio AWS assegna hard disk affidabili (ovvero volumi) ai server basati su cloud. Una delle funzioni più utili di Amazon EBS è rappresentata dagli snapshot dei volumi.

Secondo la Knowledge Base di Amazon, gli snapshot AWS EBS sono copie puntuali dei volumi EBS. Ma queste copie sono equivalenti ai backup? Scopriamo come funzionano gli snapshot EBS e cosa possono e non possono fare.

NAKIVO for AWS EC2 Backup

NAKIVO for AWS EC2 Backup

Backup of Amazon EC2 instances to EC2, AWS S3 and onsite. Anti-ransomware options. Fast recovery of instances and application objects.

Che cos’è uno snapshot EBS?

Uno snapshot EBS è una copia puntuale di un volume Amazon EBS, che viene copiata in modo pigro su Amazon Simple Storage Service (Amazon S3). Gli snapshot EBS sono copie incrementali dei dati, il che significa che solo i blocchi univoci di dati del volume EBS che sono stati modificati dall’ultimo snapshot EBS vengono memorizzati nello snapshot EBS successivo.

Di seguito è riportato il modo in cui vengono create le copie incrementali dei dati in uno snapshot Amazon AWS EBS.

AWS snapshots and incremental copies of data

Gli snapshot EBS sono concatenati tra loro ed è possibile utilizzarli per ripristinare i volumi EBS quando necessario. Ogni snapshot AWS contiene le informazioni necessarie per ripristinare i dati al momento della creazione dello snapshot EBS.

Quando si elimina uno snapshot EBS in una catena, si rimuovono solo i dati relativi a quello specifico snapshot. I blocchi che non sono stati inclusi nello snapshot successivo perché non sono stati modificati vengono spostati allo snapshot avanti, mentre i blocchi non necessari che non sono referenziati negli snapshot avanti vengono eliminati. Pertanto, è possibile eliminare in modo sicuro qualsiasi snapshot senza alcun impatto sugli snapshot precedenti o successivi e sulla loro validità per il ripristino.

Secondo Amazon, gli snapshot EBS sono copie a livello di blocco dei volumi EBS. Pertanto, gli snapshot EBS non “sanno” cosa contiene effettivamente il volume: file system, partizioni o software. AWS legge ogni blocco, determina se sono presenti dati su quel blocco e, in caso affermativo, li include nello snapshot. È possibile scrivere in modo sicuro i dati su un volume EBS dopo l’avvio della creazione dello snapshot, senza che ciò influisca sullo snapshot EBS. Tutti i dati scritti sul volume dopo l’avvio della creazione dello snapshot vengono inclusi nello snapshot EBS, anche se lo snapshot rimane in stato “in sospeso”.

Limitazioni degli snapshot Amazon EBS

Essendo una copia incrementale dei dati, gli snapshot EBS presentano una serie di limitazioni, soprattutto se confrontati con i backup. Anche i backup sono copie puntuali delle istanze di EC2, ma differiscono per alcuni aspetti fondamentali:

  • I backup sono indipendenti dai carichi di lavoro di origine e offrono una maggiore flessibilità di accesso e ripristino.
  • I dati delle applicazioni e dei database nei backup sono coerenti, velocizzando il ripristino.
  • È possibile automatizzare la creazione di copie di backup su diversi target, inclusi onsite, offsite, cloud pubblico, nastro, ecc.
  • Le soluzioni di backup offrono diverse funzioni di ottimizzazione delle prestazioni e delle risorse, come la deduplicazione dei dati, la compressione, l’accelerazione di rete, ecc.
  • Quando si utilizza una soluzione di backup dedicata, è possibile automatizzare i flussi di lavoro con opzioni di pianificazione e concatenamento.
  • Il ripristino granulare di file e oggetti applicativi è semplice e veloce.

Esaminiamo ora più in dettaglio i limiti degli snapshot AWS rispetto ai backup.

1. Gli snapshot non sono coerenti con le applicazioni

Diverse applicazioni e database scrivono i propri dati nel file system di storage locale. Tuttavia, memorizzano nella cache i dati più utilizzati nella RAM per ottenere le migliori prestazioni possibili. Le applicazioni e i database “decidono” quando scrivere i dati dalla cache RAM sul disco locale (nel caso di AWS, si tratta principalmente di volumi EBS). Può accadere che i dati lascino la cache dell’applicazione/database e non vengano scritti affatto sul volume EBS. Ecco perché è necessario svuotare la cache dell’applicazione/database sul volume EBS prima di creare un snapshot EBS. In questo modo i dati vengono trasferiti dalla cache RAM al volume EBS effettivo.

Secondo le raccomandazioni di Amazon AWS, per creare uno snapshot corretto e coerente con le applicazioni è necessario:

  • Arrestare un’istanza di EC2 prima di creare uno snapshot EBS; e
  • Smontare e scollegare il volume EBS dall’istanza di EC2.

Il processo di snapshot EBS non esegue automaticamente operazioni di flushing o locking, che devono essere eseguite manualmente prima di creare lo snapshot.

2. Nessuna copia dei dati on-premise

La copia dei dati per creare backup su un tipo di supporto diverso consente di evitare un singolo punto di errore e garantire il ripristino corretto in caso di interruzione o incidente. La creazione di diverse copie dei dati su supporti diversi e in diverse ubicazioni aiuta a prevenire la perdita completa dei dati e a ridurre al minimo i tempi di inattività.

Tuttavia, come accennato in precedenza, i snapshot EBS sono archiviati in Amazon S3 e non è possibile accedervi direttamente. Di conseguenza, non è possibile copiare i backup EBS al di fuori di AWS.

3. Mancanza di deduplicazione integrata dei dati degli snapshot EBS

Gli snapshot EBS possono consumare una grande quantità di spazio di storage sul cloud, con costi molto elevati per questo spazio. La deduplicazione potrebbe risolvere questo problema, ma non esiste una soluzione di deduplicazione integrata con AWS.

4. Problemi di pianificazione e conservazione

La pianificazione è una parte essenziale della creazione dei backup. Per mantenere aggiornati gli snapshot, è necessario creare una pianificazione specifica per la creazione degli snapshot. Tuttavia, è necessario tenere presente che più snapshot si creano, più spazio verrà consumato. È necessario un piano di conservazione per mantenere solo il set di snapshot effettivi per un periodo specifico, ruotando e scartando gli snapshot scaduti.

È possibile creare una pianificazione semplice eseguendo le regole Amazon AWS CloudWatch Events in base ai requisiti richiesti e impostando una regola per automatizzare la creazione di snapshot EBS. Per rendere la pianificazione più complessa e flessibile, oltre ad AWS CloudWatch, è possibile utilizzare un’espressione Cron per garantire che lo snapshot venga creato in un momento specifico.

Nota: Cron è uno scheduler basato sul tempo. In AWS, è possibile utilizzare espressioni specifiche Cron per eseguire azioni basate su eventi AWS.

Secondo la documentazione AWS, Amazon CloudWatch è un servizio di monitoraggio per le risorse cloud e le applicazioni in esecuzione nel cloud AWS. È possibile utilizzare gli eventi CloudWatch per attivare la creazione dello snapshot EBS in base a una pianificazione. Tuttavia, questo metodo di pianificazione è una soluzione alternativa piuttosto che una funzione propria dei software di backup di terze parti che consentono di pianificare i backup con pochi clic.

Ripristino di un’istanza AWS da uno snapshot EBS e ripristino granulare AWS

Come accennato in precedenza, gli snapshot EBS sono snapshot a livello di blocco e non “si preoccupano” del tipo di dati che memorizzano. Questo è il motivo per cui non è possibile accedere ai singoli file direttamente da uno snapshot EBS. Quando si ripristinano i dati da uno snapshot EBS, viene creato un nuovo volume EBS. Il nuovo volume EBS è una copia esatta del volume EBS originale al momento della creazione dello snapshot.

Secondo la documentazione Amazon, le snapshot EBS sono archiviate in Amazon S3, ma non è possibile trovare le proprie snapshot in nessuno degli archivi S3 disponibili. Di conseguenza, non è possibile eseguire un ripristino granulare direttamente dalle snapshot EBS.

AWS snapshots are stored in Amazon S3 that is not accessible for users

Con il nuovo volume EBS ripristinato da una snapshot EBS, è possibile eseguire tutte le operazioni consentite da Amazon con i volumi EBS. Ad esempio, è possibile collegare il nuovo volume EBS a un’istanza di EC2 esistente e montare il file system (se lo snapshot EBS è una copia dell’intera istanza di EC2). Dopo il ripristino, è possibile accedervi facilmente. Inoltre, se lo snapshot EBS è stato creato dal volume EBS root, dopo il ripristino sarà possibile montare il nuovo volume EBS come volume root su un’istanza di EC2 compatibile e quindi avviare l’istanza di EC2 con il nuovo volume root.

Scopri le differenze tra snapshot EBS AWS e backup.

Conclusione

Come abbiamo scoperto, uno snapshot EBS è una sorta di copia incrementale dei dati. Alcune limitazioni degli snapshot AWS sono che non sono flessibili da usare e piuttosto costosi per la protezione dei dati. È possibile utilizzare una soluzione di backup AWS EC2 dedicata come NAKIVO Backup & Replication & Replication, che fornisce un supporto flessibile per la piattaforma AWS con backup, compressione e deduplicazione coerenti con le applicazioni, tiering dei dati di backup e ripristino granulare istantaneo di file e oggetti applicativi.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Le persone leggono anche