Amazon EC2 Snapshot Backup

Amazon EC2 Snapshot Backup

Sui vari server linux Amazon EC2 che gestiamo ci capita sempre la problematica dei Backup. Ci sono tanti modi per eseguire i backup, però è importante scegliere un metodo che ci permetta tempi di ripristino più veloci possibili.

La nostra scelta ricade sugli snapshot, in pratica il nostro disco rigido viene duplicato a caldo e la versione al momento della creazione dello snapshot viene archiviata e resa disponibile per far partire una macchina virtuale (può essere utilizzata anche per test e/o duplica di ambienti).

Su Amazon è veramente semplice creare uno script per gestire gli snapshot:

#!/bin/bash

AWS_ACCESS_KEY=”mioaccesskey”
AWS_SECRET_KEY=”miosecretkey”

TODAY=`date +%Y-%m-%d`
VOLUME=”vol-82014cc7″ # da cambiare col vostro volume id
SNAPSHOT=`/usr/bin/ec2-create-snapshot $VOLUME –description=”$HOSTNAME@$TODAY” -W $AWS_SECRET_KEY -O $AWS_ACCESS_KEY | awk ‘{print $2}’`
NUMBER_OF_SNAPSHOTS=7 # da cambiare col numero di snapshot che volete tenere

NUM=`/usr/bin/ec2-describe-snapshots -O $AWS_ACCESS_KEY -W $AWS_SECRET_KEY | grep $VOLUME | wc -l`
if [ $NUM -gt $NUMBER_OF_SNAPSHOTS ] then
TODEL=$(( $NUM-$NUMBER_OF_SNAPSHOTS ))
/usr/bin/ec2-describe-snapshots -O $AWS_ACCESS_KEY -W $AWS_SECRET_KEY | grep $VOLUME | sort -k 5 | head -n $TODEL | sed 1,4d | awk ‘{print $2}’ | xargs -n 1 -r /usr/bin/ec2-delete-snapshot -O $AWS_ACCESS_KEY -W $AWS_SECRET_KEY > /dev/null
fi

Per eseguire questo script è necessario installare i tool amazon ed è necessario schedulare lo script tramite crontab oppure tramite le cartelle /etc/cron.daily
Una volta attivato vedrete sulla console Amazon AWS gli snapshot e potrete gestirli in caso di disastro.

Start typing and press Enter to search