Come acquisire un snapshot dell’istanza di EC2 per la protezione dei dati AWS EC2
Se utilizzi Amazon Web Services (AWS) per eseguire istanze di EC2 (VM) in Elastic Compute Cloud, hai a disposizione diversi modi per proteggere le tue carghe di lavoro dalla perdita di dati causata, tra l’altro, da guasti del software, infezioni da malware o cancellazioni accidentali. Una delle opzioni a vostra disposizione è la funzione di backup integrata di AWS per le istanze di EC2, denominata “snapshot EBS”. Questo articolo del blog spiega come creare uno snapshot di un’istanza di EC2 utilizzando gli snapshot dei volumi EBS, con esempi dettagliati del processo di configurazione.
Cosa sono gli snapshot EBS?
Gli snapshot EBS sono copie incrementali di un volume Elastic Block Store (EBS) archiviati in Amazon S3. Ciò significa che quando si crea uno snapshot EBS per la prima volta, viene eseguito un backup completo, mentre per gli snapshot EBS successivi vengono copiati solo i dati modificati. I volumi EBS sono dischi virtuali collegati alle istanze di EC2.
Sebbene gli snapshot EBS siano archiviati in Amazon S3, non è possibile accedere manualmente agli snapshot presenti nell’archivio S3. È possibile gestire questi snapshot nella console di gestione EC2.
Nota: I termini “snapshot AWS EC2” e “snapshot Amazon” vengono talvolta utilizzati anche per riferirsi agli snapshot EBS.
Come funzionano gli snapshot EBS
Gli snapshot EBS sono backup a livello di blocco dei dati delle istanze di Amazon EC2 che rappresentano il volume EBS in un momento specifico in cui è stato emesso il comando di creazione dello snapshot. Ciò significa che, se l’istanza è in esecuzione, i blocchi di dati scritti sui volumi EBS dopo l’avvio della creazione dello snapshot non vengono salvati nello snapshot. Di conseguenza, gli snapshot EBS sono backup coerenti con i crash e non coerenti con le applicazioni.
Si noti che gli snapshot EBS non sono equivalenti agli snapshot nel contesto di VMware vSphere e Microsoft Hyper-V. Hyper-V e Gli snapshot di VMware non sono backup e non possono sostituire i backup adeguati.
Tuttavia, vi sono Limiti degli snapshot EBS, tra cui la mancanza di opzioni di pianificazione e conservazione, l’impossibilità di creare copie on-premise, nonché la complessità nella creazione di uno snapshot EC2 coerente a livello di applicazione per semplificare il ripristino.
Come creare uno snapshot nella console AWS per le istanze di EC2
La console di gestione AWS è l’interfaccia web GUI utilizzata per gestire tutte le risorse di elaborazione, storage e di altro tipo di AWS, inclusa la creazione di snapshot EBS.
Per accedere all’istanza di EC2 per la quale si desidera creare uno snapshot:
- Accedere alla console di gestione AWS utilizzando un account che disponga delle autorizzazioni obbligatorie per la creazione di istanze di EC2, volumi EBS e snapshot EBS.
- Fare clic su
Servicese, nella sezioneCompute, fare clic suEC2per aprire la console di gestione delle istanze di EC2, dei volumi EBS e di altre funzioni di EC2.
Abbiamo preparato un’istanza di EC2 per illustrare i passaggi necessari alla creazione di snapshot EBS. I parametri della nostra istanza di EC2, di cui eseguiremo il backup e il ripristino utilizzando gli snapshot EBS, sono i seguenti:
Nome: blog-temp
ID istanza di EC2: i-0071290000000cb84
Tipo di istanza: t2.micro
Zona di disponibilità: eu-central-1c
Volume EBS 1: vol-0617000000000763c
Tipo di volume: gp2
Dimensione del volume: 8 GB
Il sistema operativo (OS) guest in esecuzione sull’istanza di EC2 è Ubuntu Server (Linux).
Scrittura di file sul volume EBS
Creiamo due file sul disco virtuale collegato all’istanza di EC2 prima di creare un snapshot. In questo modo, potremo verificare se questi file vengono ripristinati dopo il ripristino dell’istanza dallo snapshot EBS. Creiamo due file nella directory home dell’utente:
lspci > file01.txt
echo "test EC2 snapshot 01" > snapshot01.txt
Preparazione dell’istanza
Arrestiamo l’istanza di EC2 per assicurarci che lo snapshot contenga dati coerenti. Il motivo è che i volumi EBS funzionano a livello di blocco. Quando viene acquisito uno snapshot EBS, viene salvato lo stato del volume EBS in quel preciso momento. I blocchi di storage vengono salvati così come sono. Il sistema non è a conoscenza delle operazioni effettuate sui file a livello di file system in quel momento. Se durante l’acquisizione di uno snapshot vengono scritti dei file su un volume EBS, lo snapshot conterrà dati incoerenti. L’effetto è simile a quello che si verifica quando si scollega il cavo di alimentazione da un computer fisico mentre sono in corso operazioni di scrittura sui file.
Se si desidera acquisire uno snapshot di un volume EBS non di sistema, è possibile smontare il file system dal sistema operativo per garantire che non vi siano operazioni di scrittura sui file in corso sul volume. Per acquisire uno snapshot dell’istanza EC2, è necessario disabilitare la modalità di ibernazione.
Per preparare l’istanza EC2 all’acquisizione di uno snapshot:
- Aprire la pagina con l’elenco delle istanze di EC2 nella console di gestione EC2. Fare clic con il tasto destro del mouse sul nome dell’istanza e, nel menu contestuale, selezionare
Stop instance.
- Individuare il volume utilizzato dall’istanza EC2. Fare clic sulla scheda
Storagee selezionare l’ID del volume EBS appropriato ( vol-0617000000000763c nel nostro caso).
Creazione di un snapshot
Siamo pronti a creare un snapshot dell’istanza di EC2:
- Selezionare il volume EBS (spuntare la casella di controllo a sinistra della riga) e fare clic su
Actions>Create Snapshot.
- Inserire una descrizione, configurare le impostazioni di crittografia e aggiungere un tag. Io utilizzo i seguenti parametri:
- Descrizione: Snapshot EBS blog 01
- Crittografia: Non crittografato
Fare clic su Create Snapshot.
Nota:Utilizziamo il volume non crittografato e creiamo uno snapshot non crittografato. In questo caso, le impostazioni di crittografia per lo snapshot possono essere configurate manualmente. Quando si crea uno snapshot di un volume crittografato, lo snapshot viene crittografato automaticamente.
- Dovrebbe apparire il seguente messaggio e l’ID dello snapshot:
Richiesta di creazione dello snapshot riuscita
snap-0778000000000ab40
Fare clic sull’ID dello snapshot per aprire una pagina con le opzioni e lo stato dello snapshot.
- Lo stato dello snapshot in sospeso indica che i dati dal volume EBS sono attualmente in fase di trasferimento su Amazon S3. Attendere il completamento della creazione dello snapshot (lo stato passerà a completato ). Il tempo richiesto dipende dalla dimensione dei dati salvati nello snapshot.
Come eseguire snapshot multivolume
È comune che un’istanza di Amazon EC2 utilizzi più volumi EBS. In questo caso, è possibile creare uno snapshot multivolume per tutti i volumi EBS collegati a tale istanza di Amazon EC2 ai fini di un backup di Amazon EC2.
In questa sezione tratteremo:
- Creazione di un secondo volume EBS
- Scrittura dei dati sul volume
- Creazione di un snapshot EBS in più volumi
Creazione di un secondo volume EBS per l’istanza di Amazon EC2
Aggiungiamo innanzitutto un secondo volume EBS alla nostra istanza di Amazon EC2, che utilizzeremo a scopo dimostrativo:
- Nel pannello di navigazione della console di gestione di Amazon EC2, vai su
Elastic Block Store>Volumes. Fai clic suCreate Volume.
- Per la zona di disponibilità , la regione deve essere la stessa di quella dell’istanza ( eu-central-1c nel nostro caso).
Inserisci il tipo e la dimensione del volume, imposta le opzioni di crittografia e inserisci i tag. I tag aiutano a individuare il volume nell’elenco dei volumi. Impostiamo la dimensione del volume a 1 GiB e utilizziamo i seguenti tag:
-
Chiave: blog
-
Valore: temp volume 2
Fare clic su Create Volume.
- Ricordare (o annotare) l’ID del volume (vol-0b4a0000000003d01 nel nostro caso). Fare clic sull’ID del volume per aprire le proprietà del volume.
- Collegare il volume all’istanza di EC2. Fare clic con il tasto destro del mouse sul volume oppure fare clic su
Actionse, nel menu che si apre, fare clic suAttach Volume.
- Selezionare l’istanza a cui si desidera collegare il volume EBS. È necessario selezionare l’ID dell’istanza di EC2. Nel nostro caso, l’ID dell’istanza è i-0071290000000cb84 .
È possibile selezionare il dispositivo nel sistema operativo guest utilizzato per accedere al volume collegato. Nel nostro caso /dev/sdf viene utilizzato.
Fare clic su Attach per collegare il nuovo volume all’istanza di EC2.
Nota:Nella nota sono riportate informazioni utili sulla ridenominazione dei dispositivi disco. Nel nostro caso /dev/sdf viene rinominato in /def/xvdf nel sistema operativo guest.

Ora sono allegati due volumi alla nostra istanza di EC2 ( blog-temp ):
vol-0617000000000763c
vol-0b4a0000000003d01
Scrittura dei dati sul secondo volume EBS
Avanti, creeremo un file sul secondo volume EBS. Questo file verrà utilizzato per verificare se tutti i dati sono stati ripristinati dopo il ripristino del volume dallo snapshot EBS. Per questo motivo, creeremo una partizione, creeremo un file system e monteremo il file system sul sistema operativo Linux guest in esecuzione sull’istanza di EC2.
Anche se ci stiamo concentrando sulle operazioni con gli snapshot EBS piuttosto che sulle operazioni nel sistema operativo Linux guest in esecuzione sull’istanza di EC2, elenchiamo i comandi utilizzati per comprendere meglio le operazioni con i volumi.
Managing storage
- Utilizzare
lsblkper visualizzare i dettagli sui dispositivi a blocchi in Linux. - Utilizzare
df -hper verificare lo spazio di storage sui dischi montati. - Utilizzare
mountper verificare i dischi montati.
Creazione e montaggio di una partizione
Creazione e formattazione di una partizione sul secondo volume EBS in parted:
sudo parted -l
parted /dev/xvdf
(parted) mklabel msdos
(parted) print
(parted) mkpart primary ext4 1MB 955MB
(parted) print
(parted) quit
Creazione di un file system sulla partizione preparata:
mkfs.ext4 /dev/xvdf1
Creazione della directory da utilizzare come punto di montaggio:
mkdir disk2
Montaggio della partizione con il file system nella directory creata:
mount /dev/xvdf1 /disk2/
Accesso alla directory della partizione montata:
cd /disk2
Scrittura delle modifiche sui 2 volumi EBS
- Creazione del file sulla partizione situata sul secondo volume EBS collegato all’istanza di EC2 con sistema operativo Linux:
echo "EBS snapshot for disk 2" > /disk2/d2-file01.txt
- Apportare modifiche sul primo disco per creare un nuovo snapshot EBS del primo volume utilizzato dall’istanza di EC2. Entrambi i volumi dovrebbero contenere le modifiche rispetto allo stato in cui si trovavano al momento dell’acquisizione dello snapshot precedente.
Creiamo il snapshot02.txt file sul primo volume per individuare più facilmente le modifiche salvate nel nuovo snapshot del primo volume.
Una volta che i due volumi EBS con i nuovi dati sono collegati all’istanza di EC2, possiamo creare snapshot multivolume.
Creazione dello snapshot multivolume
- Accedere a
Elastic Block Store>Snapshotsnel pannello di navigazione della pagina di gestione delle istanze di EC2. Fare clic suCreate Snapshot.
- Selezionare il tipo di risorsa: Istanza .
- Immettere l’ID dell’istanza EC2 di cui si desidera eseguire il backup dei volumi tramite snapshot EBS.
Tutti i volumi collegati all’istanza selezionata vengono selezionati automaticamente.
- Immettere una descrizione che consenta di individuare lo snapshot EBS in AWS quando necessario. Nel nostro esempio, la descrizione è Blog sugli snapshot EBS 02 .
- Selezionare la casella di controllo Copia tag dal volume se si desidera utilizzare i tag assegnati ai volumi EBS.
- Una volta premuto
Create Snapshot, vengono create le snapshot per tutti i volumi selezionati.
Se il processo va a buon fine, verrà visualizzato il seguente messaggio:
Richiesta di creazione snapshot riuscita
Vengono visualizzati due identificatori di snapshot Amazon: snap-0f95000000000de71 e snapshot – 0a91000000000769b nel nostro caso.
È possibile salvare questi valori ID e fare clic su uno di essi per verificare lo stato di creazione dello snapshot. Subito dopo l’avvio della creazione dello snapshot, lo stato dell’operazione è in sospeso e passa a completato una volta terminato il processo.
È stato creato un nuovo snapshot per ciascun volume.
Utilizzo di AWS CLI per creare snapshot
È possibile utilizzare AWS CLI in alternativa alla console di gestione AWS se si preferisce l’interfaccia a riga di comando o se è necessario automatizzare la creazione degli snapshot.
Il comando per creare uno snapshot EBS in AWS CLI è:
aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description "This is a test snapshot for the blog"
L’output dovrebbe apparire così:
{
"Description": "This is a test snapshot for the blog",
"Tags": [],
"Encrypted": false,
"VolumeId": "vol-0b4a51e1cea333d01",
"State": "pending",
"VolumeSize": 8,
"StartTime": "2021-08-28T21:06:01.000Z",
"Progress": "",
"OwnerId": "012345678910",
"SnapshotId": "snap-0689749a39a7b822b"
}
Il comando per creare uno snapshot con tag:
aws ec2 create-snapshot --volume-id vol-0b4a51e1cea333d01 --description 'Prod backup' --tag-specifications
'ResourceType=snapshot,Tags=[{Key=Blog,Value=Test},{Key=AWS,Value=EC2-snapshot}]'
Come ripristinare un’istanza di Amazon EC2 utilizzando gli snapshot EBS
Abbiamo creato degli snapshot dei volumi EBS collegati all’istanza di Amazon EC2. Questi snapshot rappresentano una forma di backup dei dati in AWS. Ora vediamo come creare un’istanza di EC2 da uno snapshot tramite ripristino:
- singoli volumi EBS in AWS
- l’intera istanza di EC2
Ripristino del secondo volume EBS
Ripristiniamo il secondo volume EBS (di dimensioni pari a 1 GiB) dallo snapshot. Questo volume viene utilizzato per archiviare file e su di esso non è installato il sistema operativo.
- Nel riquadro di navigazione della console di gestione EC2, vai su
Elastic Block Store>Snapshots.
Inseriamo “ blog ” nel campo di ricerca per visualizzare tutti gli snapshot creati per i volumi EBS dell’istanza di EC2 utilizzata per scrivere questo post sul blog. Questo è un esempio del motivo per cui vale la pena aggiungere descrizioni e tag.
- Seleziona lo snapshot del volume da 1 GiB e crea un nuovo volume dallo snapshot. Fare clic con il tasto destro dello mouse sullo snapshot e, nel menu che si apre, selezionare
Create Volume.
- Definire i parametri necessari del volume nella pagina Crea volume : selezionare il tipo di volume e definire la dimensione del volume, la zona di disponibilità, le opzioni di crittografia, le chiavi dei tag e i valori.
La zona di disponibilità deve essere la stessa di quella dell’istanza di EC2 ( eu-central-1c nel nostro caso).
La dimensione del volume è la stessa di quella del volume originale che è stato ripristinato (1 GiB) nel nostro esempio.
La chiave del tag è blog e il valore è recovered volume 1 .
- Fare clic su
Create Volumeper terminare e creare il volume EBS utilizzando lo snapshot EBS.
Verrà visualizzato il seguente messaggio:
Richiesta di creazione del volume riuscita
È possibile salvare l’ID del volume. Il nuovo ID del volume è vol-09cd000000000b502 nel nostro caso.
Ripristino di un volume di sistema
Per ripristinare un’istanza di EC2, è necessario ripristinare il volume EBS su cui è installato il sistema operativo. In questo caso, è possibile creare un’immagine dallo snapshot del volume EBS utilizzato dal sistema operativo guest e avviare l’istanza utilizzando questa immagine (l’istanza di EC2 ripristinata).
Creazione dell’immagine
- Nella console di gestione EC2, andare su
Elastic Block Store>Snapshotse selezionare lo snapshot necessario del volume EBS su cui è installato il sistema operativo guest.
Selezioniamo lo snapshot più recente del volume da 8 GiB utilizzato dal sistema operativo guest (Ubuntu Server). Questo snapshot del volume EBS è stato creato quando abbiamo creato lo snapshot multivolume per l’istanza di EC2.
Fare clic con il tasto destro dello mouse sullo snapshot e, nel menu che si apre, selezionare Create Image.
- Nella finestra che si apre, inserire le informazioni richieste e selezionare le opzioni per creare un’immagine dallo snapshot EBS. Utilizziamo i seguenti parametri.
Nome: blog-recovered
Descrizione: Ripristinato da uno snapshot EBS (blog)
Le altre impostazioni vengono lasciate ai valori predefiniti.
- Si apre la finestra di dialogo relativa alla richiesta “Crea immagine” ( ) ricevuta da . Fare clic sull’ID dell’immagine per visualizzarne le informazioni ( ami-08ed800000000872a nel nostro caso). Attendere il completamento della creazione dell’immagine.
Avvio dell’immagine
Una volta creata l’immagine, fare clic con il tasto destro del mouse sull’immagine e selezionare Launch.
Si apre la procedura guidata per la creazione di una nuova istanza di EC2. È necessario selezionare le opzioni dell’istanza. È possibile selezionare le stesse opzioni scelte per la VM originale di cui è stato eseguito il backup. È anche possibile ripristinare l’istanza su una nuova istanza di EC2 più potente.
Nota: Vieniamo reindirizzati alla pagina Step 2 della procedura guidata (anziché a Step 1. Choose AMI) poiché abbiamo già selezionato l’AMI blog-recovered dalla pagina con l’elenco delle AMI.
Step 2: Choose an Instance Type.Selezioniamo t2.micro come tipo di istanza. Fare clic su Next in ogni fase della procedura guidata per continuare.
Step 3: Configure Instance. Configurare i dettagli in base ai propri requisiti, incluse le impostazioni di rete, i ruoli IAM, il comportamento allo spegnimento, ecc.
Step 4: Add Storage è importante quando si ripristina un’istanza di EC2 utilizzando snapshot EBS. Fare clic su Add New Volume. In questa pagina viene aggiunta una nuova riga con le opzioni relative al volume. Inserire l’ID dello snapshot del volume richiesto nel campo Snapshot .
Inseriamo snap-0a91000000000769b, che è l’ID del nostro snapshot del volume da 1 GiB. Nel nostro esempio, la dimensione predefinita del volume è 8 GiB. Possiamo impostare la dimensione del volume su 1 GiB, come configurato per il volume EBS originale. È inoltre possibile selezionare il dispositivo di storage, il tipo di volume, la crittografia e le opzioni di eliminazione al termine del servizio.
Step 5: Add Tags. Assicurarsi che i tag siano utili ai fini della ricerca. I tag vengono applicati a tutti i volumi e a tutte le istanze. In questo esempio, la chiave del tag è blog e il valore è recuperata VM 01 .
Step 6: Configure Security Group. Modifica i parametri per controllare il traffico di rete dell’istanza di EC2.
Step 7: Review Instance Launch. Rivedere i dettagli di avvio dell’istanza e fare clic su Launch per terminare. È necessario selezionare una coppia di chiavi o crearne una nuova per accedere all’istanza di EC2.
- Viene ora visualizzata la pagina Stato di avvio . Fare clic su
View instances.
- Immettere un nome per l’istanza ripristinata ( blog-recovered nel nostro caso). Lo stato dell’istanza EC2 ripristinata è in esecuzione . Entrambi i volumi EBS ripristinati dagli snapshot EBS sono collegati all’istanza di EC2 (vedere la schermata qui sotto).
Verifica dei file ripristinati
Verifichiamo se i file creati prima dell’acquisizione dell’ultimo snapshot sono stati ripristinati:
Elenco dei dispositivi a blocchi allegati:
lsblk
Elenco dei file della directory corrente (home) dell’utente:
ls -al
I file snapshot01.txt e snapshot2.txt creati prima dell’acquisizione del primo e del secondo snapshot del volume EBS su cui è installato il sistema operativo sono presenti.
Montare la partizione situata sul secondo disco (volume EBS):
sudo mount /dev/xvdb1 /disk2/
Il nome della partizione è stato modificato in /dev/xvdb1. Tenere presente che potrebbe essere necessario modificare /etc/fstab dopo il ripristino dell’istanza per il montaggio automatico.
ls -al /disk2/
d2-file01.txt è presente nel file system memorizzato sul secondo volume EBS dopo il ripristino.
L’istanza AWS EC2, con tutti i volumi EBS collegati, è stata ripristinata con successo dagli snapshot EBS. Tutti i dati necessari sono stati conservati.
Conclusione
È possibile eseguire il backup di un singolo volume o di tutti i volumi utilizzando snapshot multivolume. Si tratta di una funzionalità nativa di AWS molto utile per la protezione dei dati e il ripristino di emergenza. Si noti, tuttavia, che l’archiviazione degli snapshot EBS nel cloud Amazon comporta costi aggiuntivi, poiché viene utilizzato spazio di storage sul cloud supplementare. Inoltre, esistono altre limitazioni nell’uso degli snapshot EBS per i backup, come il fatto che il sistema di creazione degli snapshot non rilevi i file in fase di scrittura nel momento in cui viene eseguito lo snapshot. Di conseguenza, i backup effettuati con gli snapshot EBS sono crash-consistenti e non application-consistenti.
NAKIVO Backup & Replication è una soluzione di protezione dei dati che supporta la creazione di backup coerenti con le applicazioni e di repliche delle istanze di Amazon EC2. È inoltre possibile utilizzare la soluzione per semplificare e automatizzare in modo significativo il processo di backup e ripristino. È possibile ripristinare rapidamente l’intera istanza di EC2 da un backup senza la necessità di ripristinare i volumi EBS, creare un’istanza di EC2 e collegare manualmente i volumi a un’istanza di EC2 creata.






























