0Pricing
Cloud & IT Cert Prep · Aula

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-1a

Criptografia 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-1a

RAID 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/raid0

RAID 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 failure

AMIs 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-0abc1234def567890

Prá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

  1. Tipos de volume EBS: gp3, io2, st1, sc1
  2. Snapshots, criptografia e RAID do EBS
  3. EFS: Armazenamento de arquivos compartilhado para Linux
  4. FSx: Servidor de arquivos Windows e Lustre
← Voltar para Cloud & IT Cert Prep