0Pricing
AWS Solutions Architect · Aula

Versionamento, exclusão com MFA e replicação

Habilite o versionamento para proteger contra exclusões acidentais, configure a replicação entre regiões e adicione a exclusão com MFA.

Versionamento, exclusão com MFA e replicação é uma aula grátis de AWS Solutions Architect no CoddyKit. Esta é a aula 3 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 AWS Solutions Architect, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AWS Solutions Architect inclui 4 aulas no total.

Versionamento do S3: por que ele importa

S3 Versioning permite preservar, recuperar e restaurar todas as versões de cada objeto armazenado em um bucket. Quando o versionamento está ativado, cada PUT cria uma nova versão com um ID de versão exclusivo; a versão antiga é mantida, não substituída. Se um objeto for excluído, o S3 adicionará um marcador de exclusão como versão atual, mas manterá todas as versões anteriores. Isso protege contra substituições acidentais, exclusões acidentais e corrupção não intencional de dados no nível da aplicação — os cenários mais comuns de perda de dados em produção.

# Enable versioning on a bucket
aws s3api put-bucket-versioning \
  --bucket my-important-bucket \
  --versioning-configuration Status=Enabled

# List all versions of an object
aws s3api list-object-versions \
  --bucket my-important-bucket \
  --prefix my-document.pdf

Estados e transições do versionamento

Um bucket do S3 pode estar em um de três estados de versionamento: sem versionamento (padrão, sem IDs de versão), com versionamento ativado (todos os objetos novos recebem IDs de versão exclusivos e todas as substituições criam novas versões) ou com versionamento suspenso (os objetos novos recebem um ID de versão nulo, mas as versões existentes são mantidas). Não é possível excluir o versionamento depois que ele é ativado — apenas suspendê-lo. Os objetos criados antes da ativação do versionamento têm um ID de versão null e não são afetados até serem substituídos ou excluídos.

Restaurando uma versão anterior

Para restaurar uma versão mais antiga de um objeto com versionamento, você tem duas opções. Opção 1: copie o ID da versão mais antiga de volta para a mesma chave — isso cria uma nova versão que é uma cópia do conteúdo antigo, promovendo-a à versão atual. Opção 2: exclua a versão atual ou o marcador de exclusão para expor a versão anterior como atual. Quando você 'exclui' um objeto em um bucket com versionamento pelo console sem especificar um ID de versão, o S3 adiciona um marcador de exclusão — o objeto parece excluído para solicitações sem versionamento, mas todas as versões continuam lá.

# Restore a specific version by copying it back to the same key
aws s3api copy-object \
  --bucket my-important-bucket \
  --copy-source 'my-important-bucket/my-document.pdf?versionId=abc123'\
  --key my-document.pdf

MFA Delete: proteção extra

MFA Delete adiciona uma segunda camada de proteção para buckets com versionamento. Quando ativado, excluir permanentemente uma versão específica ou alterar o estado de versionamento do bucket (ativado → suspenso) exige o fornecimento de credenciais MFA válidas na solicitação da API. Isso protege contra: um invasor que tenha comprometido suas credenciais da AWS e exclua permanentemente versões críticas; exclusão acidental ou automatizada de versões fixadas de objetos; e ameaças internas que tentem destruir trilhas de auditoria. MFA Delete só pode ser ativado e desativado pelo usuário raiz por meio da CLI.

# Enable MFA Delete (must be done as root user)
aws s3api put-bucket-versioning \
  --bucket my-important-bucket \
  --versioning-configuration Status=Enabled,MFADelete=Enabled \
  --mfa 'arn:aws:iam::123456789012:mfa/root-account-mfa-device 123456'

S3 Object Lock

S3 Object Lock impõe um modelo write-once-read-many (WORM) para conformidade regulatória. Os objetos bloqueados com Object Lock não podem ser excluídos ou substituídos durante um período de retenção especificado — nem mesmo pelo usuário raiz da conta. Há dois modos: modo Governance (usuários com permissões especiais podem substituir ou remover o bloqueio) e modo Compliance (ninguém, nem mesmo a AWS, pode excluir o objeto durante o período de retenção — a proteção mais forte). Object Lock deve ser ativado quando o bucket é criado e exige versionamento.

# Apply a retention rule to an object
aws s3api put-object-retention \
  --bucket my-compliance-bucket \
  --key audit-log-2024.csv \
  --version-id abc123 \
  --retention '{"Mode":"COMPLIANCE","RetainUntilDate":"2027-01-01T00:00:00Z"}'

Replicação entre regiões do S3 (CRR)

Cross-Region Replication (CRR) replica automaticamente objetos novos e atualizações de um bucket de origem em uma Região para um bucket de destino em outra Região. Casos de uso: conformidade (manter uma cópia dos dados em um país específico), recuperação de desastres (reduzir o RPO de dados críticos mantendo uma cópia em uma segunda Região) e redução da latência (entregar objetos a partir da Região mais próxima dos usuários). O CRR exige que o versionamento esteja ativado nos buckets de origem e de destino, além de uma função do IAM com as permissões de replicação necessárias.

# Apply a replication configuration
aws s3api put-bucket-replication \
  --bucket source-bucket-us-east-1 \
  --replication-configuration file://replication-config.json
# Config specifies Role ARN, destination bucket ARN, and filter rules

Replicação na mesma região (SRR)

Same-Region Replication (SRR) replica objetos dentro da mesma Região. Casos de uso: agregação de registros (replicar registros de vários buckets de origem para um bucket central), sincronização do ambiente de testes (manter uma cópia dos dados de produção em um bucket de desenvolvimento na mesma Região) e conformidade com a soberania de dados dentro de um único país que tenha várias AZs da AWS. Assim como o CRR, o SRR exige versionamento nos dois buckets e uma função do IAM. Apenas objetos novos criados depois da ativação da replicação são replicados automaticamente — use o S3 Batch Replication para replicar objetos existentes.

Replicação: o que é e o que não é replicado

A replicação do S3 replica: objetos novos, metadados, tags, ACLs e status da criptografia. Por padrão, a replicação não replica: objetos que existiam antes da ativação da replicação (use o S3 Batch Replication para esses objetos), marcadores de exclusão (a menos que você ative Delete Marker Replication), objetos no Glacier (não podem ser replicados — restaure-os primeiro) e objetos replicados (não há replicação em cascata entre três buckets). Compreender esses limites é importante para projetar estratégias completas de DR nas quais dados históricos e eventos de exclusão também precisem ser replicados.

S3 Replication Time Control (RTC)

Replication Time Control (RTC) é um complemento opcional do CRR que fornece um Acordo de Nível de Serviço: 99,99% dos objetos são replicados em até 15 minutos, com métricas de replicação e notificações no CloudWatch. Sem o RTC, a replicação não tem garantia de tempo — a maioria dos objetos é replicada rapidamente, mas alguns casos extremos podem levar horas. O RTC é essencial quando seus requisitos de DR ou conformidade especificam um Recovery Point Objective (RPO) máximo para os dados no S3. Ele adiciona uma cobrança de replicação por GB além do custo padrão de transferência de dados da replicação.

Versionamento e impacto nos custos de armazenamento

Ativar o versionamento aumenta os custos de armazenamento porque o S3 mantém todas as versões de cada objeto até que sejam excluídas explicitamente. Um arquivo de 100 MB que é substituído 10 vezes passa a consumir 1.000 MB de armazenamento. Para reduzir esse impacto, use regras de ciclo de vida que expirem automaticamente as versões não atuais após um número definido de dias (por exemplo, excluir versões não atuais com mais de 30 dias) ou faça a transição dessas versões para classes de armazenamento mais baratas, como Glacier. Sempre associe o versionamento a regras de ciclo de vida para controlar os custos de armazenamento em produção.

# Lifecycle rule to expire non-current versions after 30 days
aws s3api put-bucket-lifecycle-configuration \
  --bucket my-important-bucket \
  --lifecycle-configuration '{"Rules":[{"ID":"expire-old-versions","Status":"Enabled","NoncurrentVersionExpiration":{"NoncurrentDays":30}}]}'

Proteção contra ransomware

O versionamento do S3 combinado ao Bloqueio de objetos (modo de conformidade) oferece uma proteção robusta contra ransomware. Se um invasor criptografar ou excluir seus objetos, o versionamento garantirá que as versões anteriores sejam mantidas (a menos que o invasor as exclua permanentemente — por isso o Bloqueio de objetos impede a exclusão permanente durante o período de retenção). Para obter a máxima proteção: ative o versionamento, ative a exclusão por MFA, aplique o Bloqueio de objetos no modo de conformidade aos dados críticos e replique os dados para uma segunda região usando credenciais do IAM separadas, eliminando assim a possibilidade de um comprometimento de uma única conta destruir todas as cópias.

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: o versionamento preserva todas as versões de cada objeto e protege contra exclusões acidentais; a exclusão por MFA e o Bloqueio de objetos fornecem imutabilidade adicional para conformidade e proteção contra ransomware; e CRR e SRR replicam objetos para outros buckets a fim de atender aos requisitos de DR e conformidade. A seguir, vamos explorar as classes de armazenamento do S3 e as políticas de ciclo de vida para otimização de custos.

Perguntas Frequentes

A aula “Versionamento, exclusão com MFA e replicação” é grátis?

Sim — o texto completo de “Versionamento, exclusão com MFA e replicação” é 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 AWS Solutions Architect, atualize para CoddyKit PRO. O curso de AWS Solutions Architect inclui 4 aulas no total.

O que vou aprender em “Versionamento, exclusão com MFA e replicação”?

Habilite o versionamento para proteger contra exclusões acidentais, configure a replicação entre regiões e adicione a exclusão com MFA. Você pratica AWS Solutions Architect 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 AWS Solutions Architect?

Nenhuma experiência prévia é necessária. AWS Solutions Architect 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 3 de 4.

Quanto tempo leva a aula “Versionamento, exclusão com MFA e replicação”?

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 AWS Solutions Architect?

Sim. Cada aula de AWS Solutions Architect 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. Buckets, objetos e regiões
  2. Controle de acesso do S3: políticas de bucket e ACLs
  3. Versionamento, exclusão com MFA e replicação
  4. Classes de armazenamento e políticas de ciclo de vida
← Voltar para AWS Solutions Architect