EBS Snapshot
O pai ta on!!
No ecossistema da Amazon Web Services (AWS), o Amazon Elastic Block Store (EBS) desempenha um papel fundamental no armazenamento persistente de dados para instâncias do Amazon EC2.
Uma das ferramentas poderosas oferecidas pelo EBS é o EBS Snapshot, que permite criar cópias incrementais de volumes do EBS, fornecendo uma camada adicional de proteção e permitindo a rápida recuperação de dados.
Neste artigo, exploraremos o conceito de EBS e EBS Snapshots, discutiremos os problemas que essa ferramenta resolve e forneceremos um passo a passo sobre como criar um snapshot.
Além disso, demonstraremos como realizar snapshots de todas as instâncias EC2 por meio de código Python utilizando a biblioteca boto3 e como executar o mesmo processo usando a AWS CLI.
EBS
O Amazon Elastic Block Store (EBS) é um serviço de armazenamento de blocos persistentes fornecido pela AWS. Ele oferece volumes de armazenamento altamente disponíveis e duráveis que podem ser anexados a instâncias do EC2.
O EBS permite que você crie, anexe, restaure e faça backup de volumes facilmente, fornecendo armazenamento persistente e confiável para suas cargas de trabalho na nuvem.
EBS Snapshot
O EBS Snapshot é uma funcionalidade do EBS que permite criar cópias pontuais de volumes do EBS.
Esses snapshots são armazenados no Amazon S3 de forma incremental, capturando apenas as alterações nos dados desde o último snapshot. Essa abordagem de captura incremental economiza espaço de armazenamento e torna os snapshots extremamente eficientes.
Os EBS Snapshots são consistentes e podem ser usados para criar novos volumes EBS, permitindo a rápida recuperação de dados em caso de falhas ou necessidades de restauração.
Problemas resolvidos pelo EBS Snapshot
O EBS Snapshot resolve vários problemas relacionados à proteção de dados e recuperação de desastres. Aqui estão algumas das principais maneiras pelas quais essa ferramenta é útil:
1.Backup e restauração: Com o EBS Snapshot, você pode criar cópias de segurança de volumes do EBS e restaurá-las rapidamente em caso de falhas do sistema, erros operacionais ou exclusão acidental de dados.
2.Retenção de dados: Os snapshots fornecem uma maneira fácil de reter dados importantes. Você pode criar snapshots periódicos para manter pontos de recuperação históricos e estabelecer uma política de retenção de acordo com suas necessidades de negócios.
3.Clonagem de volumes: Os EBS Snapshots permitem criar novos volumes a partir de snapshots existentes. Isso é útil para criar clones de volumes para testes, desenvolvimento ou outras finalidades, sem afetar os dados originais.
4.Migração de dados: Os snapshots podem ser usados para migrar dados entre regiões da AWS. Você pode criar um snapshot em uma região e restaurá-lo em outra região, facilitando a transferência de dados de maneira segura e eficiente.
Utilizando scripts
Abaixo um exemplo utilizando python, onde o script roda todas as instancias de uma conta e executa o snapshot do volume root das instancias.
import
boto3
def
create_snapshots():
ec2_client = boto3.client(‘ec2’)
ec2_list = ec2_client.describe_instances()
for instances in ec2_list [‘Reservations’]:
for instance in instances[‘Instances’]:
instance_id =
instance[‘InstanceId’]
snapshot_description =
f”Snapshot for instance {instance_id}”
response =
ec2_client.create_snapshot(
Description = snapshot_description,
VolumeId = instance[‘BlockDeviceMappings’][0][‘Ebs’][‘VolumeId’]
)
print(f”Created snapshot
{response[‘SnapshotId’]} for instance {instance_id}”)
# Executando a função para
criar os snapshots
create_snapshots()
Caso queria executar pontualmente o snapshot via AWS CLI:
aws
ec2 create-snapshot –volume-id <volume-id> –description “Snapshot by
AWS CLI”
Conclusão
Os EBS Snapshots oferecem uma maneira fácil de criar cópias pontuais de volumes, permitindo backup, recuperação de desastres, clonagem e migração de dados.
Neste artigo, discutimos o conceito de EBS e EBS Snapshots, destacamos os problemas que essa ferramenta resolve e fornecemos um passo a passo de como criar um snapshot usando a biblioteca boto3 em Python e a AWS CLI.
Xero no suvaco!!
Be Happy!!!
thiago.marques@darede.com.br
Technical Account Manager da Darede, formato em Rede de Computadores, e pós graduado em Segurança da Informação. Possui ampla experiência em Datacenters e Service Providers, além de ser um entusiasta em DevOps e mercado financeiro.