Snapshots, criptografia e RAID do EBS
Crie e automatize snapshots do EBS para backups em um momento específico, criptografe volumes com KMS e entenda RAID 0 versus RAID 1 no EC2.
Snapshots, criptografia e RAID do EBS é uma aula grátis de Cloud & IT Cert Prep no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cloud & IT Cert Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.
Snapshots do EBS: backups em um determinado momento
Snapshots do EBS são backups de volumes EBS em um determinado momento, armazenados de forma durável no Amazon S3 (embora sejam gerenciados pelo EBS, e não acessíveis diretamente pelo console do S3). O primeiro snapshot é uma cópia completa; os snapshots seguintes são incrementais — apenas os blocos alterados desde o último snapshot são armazenados. Apesar do armazenamento incremental, você pode restaurar qualquer snapshot individual para um volume completo. Os snapshots são o principal mecanismo de backup, migração e recuperação de desastres de volumes EBS.
# Create a snapshot of an EBS volume with a description
aws ec2 create-snapshot \
--volume-id vol-0abc1234def567890 \
--description 'Production DB backup 2024-01-01' \
--tag-specifications 'ResourceType=snapshot,Tags=[{Key=Environment,Value=Production},{Key=Backup,Value=Daily}]'
# Monitor snapshot completion
aws ec2 describe-snapshots \
--snapshot-ids snap-0abc1234def567890 \
--query 'Snapshots[].{State:State,Progress:Progress}'Custos e ciclo de vida dos snapshots
Você é cobrado pelo armazenamento real consumido pelos blocos incrementais dos snapshots em todos os snapshots de um volume — não pelo tamanho do volume. Se você excluir snapshots intermediários, o S3 consolida os dados para que os snapshots restantes ainda representem pontos de restauração completos. Para gerenciar custos em grande escala, use o Amazon Data Lifecycle Manager (DLM) para criar programações de snapshots e políticas de retenção — por exemplo, faça snapshots diários, mantenha os últimos 7 diários + 4 semanais + 12 mensais e exclua os mais antigos automaticamente.
# Create a DLM lifecycle policy for daily snapshots with 7-day retention
aws dlm create-lifecycle-policy \
--description 'Daily DB snapshots' \
--state ENABLED \
--execution-role-arn arn:aws:iam::111122223333:role/AWSDataLifecycleManagerDefaultRole \
--policy-details '{
"PolicyType": "EBS_SNAPSHOT_MANAGEMENT",
"ResourceTypes": ["VOLUME"],
"TargetTags": [{"Key": "Backup", "Value": "Daily"}],
"Schedules": [{
"Name": "DailySnapshots",
"CreateRule": {"Interval": 24, "IntervalUnit": "HOURS", "Times": ["03:00"]},
"RetainRule": {"Count": 7}
}]
}'Cópias de snapshots entre regiões e contas
Os snapshots podem ser copiados entre regiões para recuperação de desastres e distribuição geográfica. Você também pode compartilhar snapshots com contas AWS específicas (ou torná-los públicos) para transferir dados do EBS entre contas sem usar a rede. Ao copiar um snapshot, você pode alterar a chave de criptografia — é assim que os dados são movidos de um volume não criptografado para um criptografado, ou de uma chave em uma conta para uma chave em outra.
# Copy a snapshot to another region with a new KMS key
aws ec2 copy-snapshot \
--source-region us-east-1 \
--source-snapshot-id snap-0abc1234def567890 \
--destination-region eu-west-1 \
--description 'DR copy' \
--encrypted \
--kms-key-id arn:aws:kms:eu-west-1:111122223333:key/KEY_ID \
--region eu-west-1
# Share a snapshot with another account
aws ec2 modify-snapshot-attribute \
--snapshot-id snap-0abc1234def567890 \
--attribute createVolumePermission \
--operation-type add \
--user-ids '999888777666'Restaurando volumes a partir de snapshots
Criar um volume a partir de um snapshot é simples, mas há uma consideração de desempenho: os volumes restaurados a partir de snapshots começam com todos os blocos armazenados no S3 e são carregados sob demanda no primeiro acesso. Isso pode causar maior latência para blocos que ainda não foram carregados no volume. Para bancos de dados de produção, use o Fast Snapshot Restore (FSR) — um recurso pago que pré-aquece o snapshot para que os volumes tenham imediatamente o desempenho máximo. Como alternativa, faça o pré-aquecimento lendo todos os blocos com dd ou fio após a restauração.
# Enable Fast Snapshot Restore for instant full-performance volumes
aws ec2 enable-fast-snapshot-restores \
--availability-zones us-east-1a us-east-1b \
--source-snapshot-ids snap-0abc1234def567890
# Create a volume from the snapshot (FSR enabled = full performance immediately)
aws ec2 create-volume \
--snapshot-id snap-0abc1234def567890 \
--volume-type gp3 \
--availability-zone us-east-1aCriptografia do EBS: como funciona
A criptografia do EBS usa AES-256 para criptografar dados em repouso (no volume), em trânsito entre o volume e a instância EC2 e nos snapshots. A criptografia é tratada de forma transparente pelo hipervisor do EC2 — sua aplicação não percebe nenhuma diferença. A criptografia usa chaves do AWS KMS: você pode usar a chave gerenciada pela AWS (aws/ebs) ou uma chave gerenciada pelo cliente (CMK). Depois que um volume é criptografado, todos os dados gravados nele e todos os snapshots criados a partir dele também são criptografados.
# Create an encrypted gp3 volume with a customer-managed key
aws ec2 create-volume \
--volume-type gp3 \
--size 100 \
--encrypted \
--kms-key-id arn:aws:kms:us-east-1:111122223333:key/KEY_ID \
--availability-zone us-east-1a
# Enable encryption by default for all new volumes in a region
aws ec2 enable-ebs-encryption-by-default
aws ec2 get-ebs-encryption-by-default
# { "EbsEncryptionByDefault": true }Criptografando um volume existente não criptografado
Você não pode criptografar diretamente um volume EBS existente não criptografado. A solução alternativa é um processo de várias etapas: (1) crie um snapshot do volume não criptografado; (2) copie o snapshot com --encrypted para criar um snapshot criptografado; (3) crie um novo volume criptografado a partir do snapshot criptografado; (4) interrompa a instância, desanexe o volume antigo, anexe o novo volume criptografado e reinicie. Esse processo pode ser automatizado por script e é cobrado na prova SAA-C03 como um cenário de migração.
# Step-by-step: encrypt an existing unencrypted volume
# 1. Snapshot the unencrypted volume
aws ec2 create-snapshot --volume-id vol-UNENCRYPTED --description 'Pre-encryption backup'
# 2. Copy snapshot with encryption
aws ec2 copy-snapshot \
--source-region us-east-1 \
--source-snapshot-id snap-UNENCRYPTED \
--region us-east-1 \
--encrypted \
--kms-key-id alias/aws/ebs
# 3. Create encrypted volume from the encrypted snapshot
aws ec2 create-volume \
--snapshot-id snap-ENCRYPTED \
--volume-type gp3 \
--availability-zone us-east-1aRAID 0: distribuição para obter desempenho
RAID 0 (distribuição) distribui os dados entre vários volumes EBS para agregar seus IOPS e throughput. Dois volumes gp3 de 16.000 IOPS em RAID 0 fornecem aproximadamente 32.000 IOPS. A desvantagem é que, se qualquer um dos volumes falhar, você perderá todos os dados — não há redundância. O RAID 0 é adequado para dados temporários ou fáceis de recriar, quando a prioridade é o throughput máximo: camadas de cache, filas de processamento ou espaço temporário. Snapshots de toda a matriz RAID exigem coordenação de consistência.
# Set up RAID 0 across two EBS volumes on Linux
# (After creating and attaching two gp3 volumes)
# Install mdadm
sudo yum install -y mdadm
# Create a RAID 0 array across /dev/xvdf and /dev/xvdg
sudo mdadm --create /dev/md0 \
--level=0 \
--raid-devices=2 \
/dev/xvdf /dev/xvdg
# Format and mount
sudo mkfs.xfs /dev/md0
sudo mkdir /mnt/raid0
sudo mount /dev/md0 /mnt/raid0RAID 1: espelhamento para redundância
RAID 1 (espelhamento) grava dados idênticos simultaneamente em dois volumes EBS. Se um volume falhar, o outro conterá uma cópia completa. O RAID 1 oferece a redundância de dois volumes, mas apenas a capacidade de um. No entanto, para volumes EBS, isso geralmente é redundante em relação à replicação integrada do EBS no nível da AZ. A AWS recomenda usar arquiteturas EBS Multi-AZ (por meio de RDS Multi-AZ ou ASG entre AZs) em vez de RAID 1 no EBS, pois o EBS já replica os dados dentro de uma AZ. O RAID 1 no EBS é raro nas arquiteturas modernas.
# RAID 1 example (mirroring) — rarely needed with EBS
sudo mdadm --create /dev/md1 \
--level=1 \
--raid-devices=2 \
/dev/xvdh /dev/xvdi
# RAID 1 performance:
# Read: up to 2x (both disks can serve reads)
# Write: same as a single volume (data written to both)
# Fault tolerance: survives single volume failureAMIs e snapshots do EBS
Uma Amazon Machine Image (AMI) é um modelo para iniciar instâncias EC2 e é respaldada por um ou mais snapshots do EBS — um snapshot por volume incluído na AMI (normalmente um para o volume raiz). Quando você cria uma AMI personalizada a partir de uma instância em execução, a AWS interrompe a instância (ou usa VSS no Windows), cria snapshots de todos os volumes EBS anexados e registra o mapeamento na AMI. Desregistrar uma AMI não exclui automaticamente seus snapshots de suporte — você precisa excluir os snapshots separadamente para deixar de pagar por eles.
# Create an AMI from a running EC2 instance
aws ec2 create-image \
--instance-id i-0abc1234def567890 \
--name 'MyApp-v2.0-2024-01-01' \
--description 'Application server AMI with v2.0 release' \
--no-reboot
# List snapshots backing an AMI
aws ec2 describe-images \
--image-ids ami-0abc1234def567890 \
--query 'Images[].BlockDeviceMappings[].Ebs.SnapshotId'
# Deregister AMI then delete its snapshots separately
aws ec2 deregister-image --image-id ami-0abc1234def567890
aws ec2 delete-snapshot --snapshot-id snap-0abc1234def567890Práticas recomendadas para snapshots
Práticas recomendadas para snapshots em cargas de trabalho de produção: congele ou coloque o sistema de arquivos em estado consistente antes de criar snapshots de bancos de dados para garantir a consistência (a maioria dos bancos de dados gerenciados, como o RDS, faz isso automaticamente). Adicione tags aos snapshots com o ambiente, o ID do volume e a data para facilitar o gerenciamento do ciclo de vida e a alocação de custos. Teste regularmente os procedimentos de restauração — um snapshot que nunca foi restaurado não é um backup. Armazene cópias entre regiões para recuperação de desastres. Use o AWS Backup para o gerenciamento centralizado de políticas em EBS, RDS, DynamoDB e outros serviços.
# Freeze filesystem on Linux before snapshotting
# (Example for ext4 filesystem)
sudo fsfreeze -f /mnt/data # Freeze writes
aws ec2 create-snapshot --volume-id vol-0abc1234 --description 'Consistent snapshot'
sudo fsfreeze -u /mnt/data # Unfreeze
# AWS Backup policy for EBS volumes
aws backup create-backup-plan \
--backup-plan '{
"BackupPlanName": "EBSDaily",
"Rules": [{
"RuleName": "DailyRule",
"TargetBackupVaultName": "Default",
"ScheduleExpression": "cron(0 3 * * ? *)",
"DeleteAfterDays": 30
}]
}'EBS Snapshot Recycle Bin
O EBS Snapshot Recycle Bin protege contra a exclusão acidental de snapshots e AMIs. Quando ativado com uma regra de retenção, os snapshots excluídos são movidos para a Lixeira em vez de serem destruídos permanentemente. Você pode recuperá-los durante o período de retenção (de 1 dia a 1 ano). Isso é especialmente importante em cenários de conformidade nos quais é necessário conseguir recuperar dados após a exclusão acidental por um administrador ou por um script de automação descontrolado, sem restaurar a partir de uma camada de backup mais antiga.
# Create a Recycle Bin retention rule for EBS snapshots
aws rbin create-rule \
--retention-period RetentionPeriodValue=30,RetentionPeriodUnit=DAYS \
--resource-type EBS_SNAPSHOT \
--description '30-day retention for all EBS snapshots'
# List snapshots currently in the Recycle Bin
aws rbin list-resources \
--resource-type EBS_SNAPSHOT \
--query 'Resources[].{SnapshotId:ResourceId,DeleteDate:DeleteScheduledAt}'Verificação rápida
Teste sua compreensão dos conceitos do AWS Solutions Architect (SAA-C03) apresentados nesta lição.
Recapitulação da lição
Nesta lição, você aprendeu que: os snapshots do EBS são incrementais e armazenados no S3, com o DLM para gerenciamento automatizado do ciclo de vida; a criptografia exige um fluxo de cópia do snapshot para converter volumes não criptografados; e o RAID 0 distribui os volumes para agregar desempenho, enquanto o RAID 1 os espelha para oferecer redundância (embora o EBS já replique os dados dentro de uma AZ). A seguir, exploraremos o EFS para armazenamento compartilhado de arquivos Linux.
Perguntas Frequentes
A aula “Snapshots, criptografia e RAID do EBS” é grátis?
Sim — o texto completo de “Snapshots, criptografia e RAID do EBS” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cloud & IT Cert Prep, atualize para CoddyKit PRO. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.
O que vou aprender em “Snapshots, criptografia e RAID do EBS”?
Crie e automatize snapshots do EBS para backups em um momento específico, criptografe volumes com KMS e entenda RAID 0 versus RAID 1 no EC2. Você pratica Cloud & IT Cert Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cloud & IT Cert Prep?
Nenhuma experiência prévia é necessária. Cloud & IT Cert Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Snapshots, criptografia e RAID do EBS”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cloud & IT Cert Prep?
Sim. Cada aula de Cloud & IT Cert Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Tipos de volume EBS: gp3, io2, st1, sc1
- Snapshots, criptografia e RAID do EBS
- EFS: Armazenamento de arquivos compartilhado para Linux
- FSx: Servidor de arquivos Windows e Lustre