Backups do Amazon S3 - AWS Backup

Backups do Amazon S3

Visão geral

O AWS Backupé compatível com o backup e a restauração centralizados de aplicações que armazenam dados somente no S3 ou junto com outros serviços da AWS para banco de dados, armazenamento e computação. Muitos recursos estão disponíveis para backups do S3, incluindo o Backup Audit Manager.

Você pode usar uma única política de backup no AWS Backup para automatizar centralmente a criação de backups dos dados da sua aplicação. O AWS Backup organiza automaticamente os backups em diferentes serviços da AWS e aplicações de terceiros em um local centralizado e criptografado (conhecido como cofre de backup) para que você possa gerenciar backups de toda a sua aplicação por meio de uma experiência centralizada. Para o S3, é possível criar backups contínuos e restaurar os dados da aplicação armazenados no S3 e restaurar os backups pontual com um único clique.

Pré-requisitos para backups do S3

Permissões e políticas para backup e restauração do Amazon S3

Para fazer backup, copiar e restaurar recursos do S3, é necessário ter as políticas corretas em seu perfil. Para adicionar essas políticas, acesse políticas gerenciadas da AWS. Adicione AWSBackupServiceRolePolicyForS3Backup e AWSBackupServiceRolePolicyForS3Restore aos perfis que você pretende usar para fazer backup e restaurar buckets do S3.

Se você não tiver permissão suficiente, solicite ao gerente da conta administrativa (administrador) da sua organização que adicione as políticas aos perfis pretendidos.

Para obter mais informações, consulte Políticas gerenciadas e em linha no Guia do usuário do IAM.

Backups e versionamento

Você deve habilitar o versionamento do S3 no bucket do S3 para usar o AWS Backup no Amazon S3.

Recomendamos que você defina um período de expiração do ciclo de vida para suas versões do S3.

Todos os objetos (incluindo todas as versões) no bucket quando o backup começar serão armazenados no ponto de recuperação (backup concluído). Isso pode incluir a versão atual de cada objeto, versões mais antigas, marcadores de exclusão e ações de ciclo de vida pendentes de objetos.

O custo de armazenamento será calculado para todos os objetos no backup, incluindo objetos programados para exclusão (objetos que vão expirar). Você pode usar a CLI ou scripts para remover a inclusão de objetos programados para expirar.

Para saber mais sobre como configurar as políticas de ciclo de vida do S3, siga as instruções nesta página.

Considerações sobre backups do Amazon S3

Os seguintes pontos devem ser considerados ao fazer backup de recursos do S3:

  • Compatibilidade focada em metadados de objetos: O AWS Backup é compatível com os seguintes metadados: tags, listas de controle de acesso (ACLs), metadados definidos pelo usuário, data de criação original e ID da versão. Também é possível restaurar todos os dados e metadados que tiveram backup feito, exceto a data de criação original, o ID da versão, a classe de armazenamento e as tags eletrônicas.

  • Ao restaurar um objeto do S3, o AWS Backup aplica um valor de soma de verificação, mesmo que o objeto original não tenha usado o recurso de soma de verificação.

  • Um nome de chave de objeto do S3 pode ser composto pela maioria das strings codificáveis em UTF-8. Os seguintes caracteres Unicode são permitidos: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF.

    Nomes de chaves de objeto que incluam caracteres que não estejam nessa lista podem ser excluídos dos backups.

  • Transição para armazenamento a frio: use a política de gerenciamento do ciclo de vida do AWS Backup para definir o cronograma de expiração do backup. A transição de armazenamento a frio dos backups do S3 não é compatível.

  • Para backups periódicos, o AWS Backup faz o possível para rastrear todas as alterações nos metadados do objeto. No entanto, se você atualizar uma tag ou ACL várias vezes em 1 minuto, talvez o AWS Backup não capture todos os estados intermediários.

  • O AWS Backup não é compatível com backups de objetos com criptografia SSE-C. O AWS Backup também não é compatível com backups de configurações de bucket, incluindo configurações, nomes, pontos de acesso ou políticas de bucket.

  • O AWS Backup não é compatível com backups do S3 no AWS Outposts.

  • Registro em log do CloudTrail: se você registrar eventos de leitura de dados, os logs do CloudTrail deverão ser entregues em um bucket de destino diferente. Se você salvar os logs do CloudTrail no bucket que eles registram, há um loop infinito, que pode causar cobranças inesperadas.

    Para obter mais informações, consulte Eventos de dados, no Guia do usuário do CloudTrail.

  • Registro em log de acesso ao servidor: se você ativar o registro em log do acesso ao servidor, deverá entregar os logs em um bucket de destino diferente. Se você salvar esses logs no bucket que eles registram, haverá um loop infinito. Para obter mais informações, consulte Habilitar registro em log de acesso ao servidor do Amazon S3.

Tipos e quantidades de buckets compatíveis

O AWS Backup é compatível com backup e restauração de buckets do S3 de uso geral. Os buckets de diretório não são compatíveis no momento.

O limite máximo de uma quantidade de um recurso (chamado de cota), como um bucket, permitido em uma conta da AWS depende do serviço. As cotas do Amazon S3 são diferentes das cotas do AWS Backup.

Em cada conta da AWS, é possível criar backups para até 100 buckets por padrão. Você pode solicitar um aumento da cota de até 1.000 buckets.

Contas com mais de 1.000 buckets estão sujeitas a limites de cota. Quando as solicitações excedem a cota, isso pode resultar em falha nos trabalhos. É uma prática recomendada limitar uma conta a 1.000 buckets.

Classes de armazenamento S3 compatíveis

O AWS Backup permite que você faça backup dos dados do S3 armazenados nas seguintes classes de armazenamento do S3:

  • S3 Standard

  • S3 Standard - Infrequent Access (IA)

  • S3 One Zone-IA

  • S3 Glacier Instant Retrieval

  • S3 Intelligent-Tiering (S3 INT)

Os backups de um objeto na classe de armazenamento S3 Intelligent-Tiering (INT) acessam esses objetos. Esse acesso aciona o S3 Intelligent-Tiering para mover automaticamente esses objetos para o Acesso Frequente.

Os backups que acessam os níveis de Infrequent Access, incluindo as classes de S3 Standard-Infrequent Access (IA) e S3 One Zone-IA, ficam sob a cobrança de armazenamento do S3 do Infrequent Access (aplica-se aos níveis do Infrequent Access ou do Archive Instant Access).

As classes de armazenamento para arquivamento S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive não são compatíveis.

Para obter mais informações sobre o preço de armazenamento do Amazon S3, consulte Definição de preço do Amazon S3.

Tipos de backup do S3

Com o AWS Backup, você pode criar os seguintes tipos de backup de seus buckets do S3, incluindo dados de objetos, tags, listas de controle de acesso (ACLs) e metadados definidos pelo usuário:

  • Os backups contínuos permitem que você restaure para a qualquer ponto no tempo dentro dos últimos 35 dias. Os backups contínuos para um bucket do S3 só devem ser configurados em um plano de backup.

    Consulte recuperação para um ponto no tempo para obter uma lista de serviços compatíveis e instruções sobre como usar o AWS Backup para fazer backups contínuos.

  • Os backups periódicos usam snapshots de seus dados para permitir que você retenha dados pela duração especificada até 99 anos. É possível programar backups periódicos em frequências como uma hora, 12 horas, um dia, uma semana ou um mês. O AWS Backup fará backups periódicos durante a janela de backup que você definir no seu plano de backup.

    Consulte Criar um plano de backup para entender como o AWS Backup aplica o plano de backup aos seus recursos.

Cópias entre contas e entre regiões estão disponíveis para backups do S3, mas as cópias de backups contínuos não têm recursos de restauração pontual.

Os backups contínuos e periódicos dos buckets do S3 devem residir no mesmo cofre de backup.

O AWS Backup para S3 depende do recebimento de eventos do S3 por meio do Amazon EventBridge. Se essa configuração estiver desabilitada nas configurações de notificação do bucket do S3, os backups contínuos serão interrompidos para esses buckets com a configuração desabilitada. Para obter mais informações, consulte Usar o EventBridge.

Para os dois tipos de backup, o primeiro backup será completo, enquanto os backups subsequentes serão incrementais no nível do objeto.

Comparar tipos de backup do S3

Sua estratégia de backup para recursos do S3 pode envolver apenas backups contínuos, backups periódicos (de snapshot) ou uma combinação de ambos. As informações abaixo podem ajudar você a escolher o que funciona melhor para sua organização:

Somente backups contínuos:

  • Após a conclusão do primeiro backup completo dos dados existentes, as alterações nos dados do bucket do S3 serão rastreadas à medida que ocorrerem.

  • As alterações rastreadas permitem que você use a PITR (restauração pontual) para o período de retenção do backup contínuo. Para executar um trabalho de restauração, escolha o momento para o qual deseja fazer a restauração.

  • O período de retenção de cada backup contínuo tem, no máximo, 35 dias.

  • Para planos de backup que você cria por meio da CLI, as configurações avançadas de backup para o Amazon S3 (que incluem a opção de adicionar tags e ACLs ao backup) são ativadas por padrão. Você pode excluí-las nas opções de backup. Consulte um exemplo da sintaxe em Configurações avançadas de backup do Amazon S3.

Somente backups periódicos (de snapshot), programados ou sob demanda:

  • O AWS Backup verifica todo o bucket do S3, recupera a ACL e as tags de cada objeto e inicia uma solicitação Head para cada objeto que estava no snapshot anterior, mas que não foi encontrado no snapshot que está sendo criado.

  • O backup é consistente em um ponto no tempo.

  • A data e a hora do backup registradas são a hora em que AWS Backup conclui a travessia do bucket, não a hora em que o trabalho de backup foi criado.

  • O primeiro backup de um bucket é um backup completo. Cada backup subsequente é incremental, representando a alteração nos dados desde o último snapshot.

  • O snapshot feito pelo backup periódico pode ter um período de retenção de até 99 anos.

Backups contínuos combinados com backups periódicos/de snapshot:

  • Após o primeiro backup completo dos dados existentes (cada backup é completo), as alterações no bucket serão rastreadas à medida que ocorrerem.

  • É possível executar uma restauração pontual a partir de um ponto de recuperação contínuo.

  • Os snapshots são consistentes em um ponto no tempo.

  • Os snapshots são obtidos diretamente do ponto de recuperação contínua, eliminando a necessidade de verificar novamente um bucket para permitir processos mais rápidos.

  • Os snapshots e os pontos de recuperação contínuos compartilham a linhagem de dados; o armazenamento de dados entre o snapshot e os pontos de recuperação contínuos não é duplicado.

  • Quando as configurações avançadas de backup do Amazon S3, como a inclusão de tags e ACLs em um backup, são alteradas para um ponto de recuperação continuous, o AWS Backup interrompe esse ponto de recuperação e cria outro com as configurações atualizadas.

Quando um trabalho de backup contínuo está sendo executado para um bucket do S3, você ainda pode iniciar trabalhos de backup periódicos (snapshot). No entanto, o seguinte comportamento se aplica:

  • Os trabalhos de backup de snapshot usarão as mesmas opções de backup (configurações de ACLs e tags de objeto) do backup contínuo existente.

  • Se você especificar opções de backup diferentes para um trabalho de snapshot do que o backup contínuo usa, o trabalho de snapshot ainda usará as configurações do backup contínuo e será finalizado com o status “Concluído com problemas”.

    Quando isso ocorrer, você receberá esta mensagem de status: "Periodic/snapshot backup for bucket <bucket name> has different backup options than the continuous backup. When using continuous backups along with snapshot backups for the same bucket, the snapshot will use the same settings for backing up ACLs and Object tags as the continuous backup."

A tabela a seguir mostra quando uma verificação completa é necessária ao alterar BackupOptions para pontos de recuperação contínua existentes:

Comportamento de verificação completa quando BackupOptions é modificado
BackupOptions anterior BackupOptions novo Verificação completa
backupACLs e backupObjectTags ativados backupACLs e backupObjectTags desativados Não
backupACLs e backupObjectTags ativados backupACLs ativado; backupObjectTags desativado Não
backupACLs e backupObjectTags ativados backupACLs desativado; backupObjectTags ativado Não
backupACLs e backupObjectTags desativados backupACLs e backupObjectTags ativados Sim
backupACLs ativado; backupObjectTags desativado backupACLs e backupObjectTags ativados Sim
backupACLs desativado; backupObjectTags ativado backupACLs e backupObjectTags ativados Sim

Janelas de conclusão de backup do S3

A tabela abaixo mostra exemplos de buckets de vários tamanhos para ajudar você a orientar as estimativas do tempo de conclusão do backup completo inicial de um bucket S3. Os tempos de backup variam de acordo com o tamanho, o conteúdo e as configurações de cada bucket.

Tamanho do bucket Número de objetos Tempo estimado para a conclusão do backup inicial
425 GB (gigabytes) 135 milhões 31 horas
800 TB (terabytes) 670 milhões 38 horas
6 PB (petabytes) 5 bilhões 100 horas
370 TB (terabytes) 7,5 bilhões 180 horas

Práticas recomendadas e considerações de custo para backups do S3

Práticas recomendadas para buckets grandes

Para buckets com mais de 300 milhões de objetos:

  • Para buckets com mais de 300 milhões de objetos, a taxa de backup pode atingir até 17.000 objetos por segundo durante o backup inicial completo do bucket (os backups incrementais terão uma velocidade diferente). Os buckets contendo menos de 300 milhões de objetos fazem backup a uma taxa de cerca de 1.000 objetos por segundo.

  • Os backups contínuos são recomendados.

  • Se o ciclo de vida do backup for planejado para mais de 35 dias, também será possível habilitar os backups de snapshot para o bucket no mesmo cofre em que seus backups contínuos são armazenados.

Otimização da estratégia de backup

  • Para contas que fazem backups pelo menos diariamente ou com mais frequência, é possível obter benefícios de custo com o uso de backups contínuos se os dados contidos nos backups tiverem alterações mínimas entre os backups.

  • Os buckets maiores, que não mudam com frequência, podem se beneficiar de backups contínuos, pois isso pode resultar em custos mais baixos quando as digitalizações de todo o bucket, juntamente com várias solicitações por objeto, não precisam ser realizadas em objetos pré-existentes (objetos que não foram alterados em relação ao backup anterior).

  • Os buckets que contêm mais de 100 milhões de objetos e que têm uma pequena taxa de exclusão em comparação com o tamanho geral do backup podem obter benefícios de custo com um plano de backup que contenha um backup contínuo com um período de retenção de 2 dias juntamente com de snapshots de uma retenção mais longa.

  • O tempo de backup periódico (de snapshot) se alinha ao início do processo de backup quando não é necessária uma verificação do bucket. As verificações não são necessárias em um bucket que contém backups contínuos e de snapshots, pois nesses casos os snapshots são obtidos de um ponto de recuperação contínuo.

Ciclo de vida do objeto e marcadores de exclusão

  • As políticas de ciclo de vida do S3 têm um recurso opcional chamado Excluir marcadores de exclusão de objetos expirados. Quando esse recurso está desativado, os marcadores de exclusão, às vezes na casa dos milhões, expiram sem um plano de limpeza. Quando o backup de buckets sem esse recurso é feito, dois problemas afetam o tempo e o custo:

    • Os marcadores de exclusão são copiados, assim como os objetos. O tempo de backup e o tempo de restauração podem ser afetados dependendo da proporção entre objetos e marcadores de exclusão.

    • Cada objeto e marcador que é copiado tem uma cobrança mínima. Cada marcador de exclusão é cobrado da mesma forma que um objeto de 128 KiB.

Considerações sobre o custo da classe de armazenamento

  • Para cada objeto em um único S3-GIR (Amazon S3 Glacier Instant Retrieval), o AWS Backup executa várias chamadas, o que resultará em cobranças de recuperação quando um backup for realizado.

    Custos de recuperação semelhantes se aplicam a buckets com objetos nas classes de armazenamento S3-IA e S3 One Zone-IA.

Otimização de custos do serviço da AWS

  • Usar recursos do AWS KMS, CloudTrail, Amazon CloudWatch e Amazon GuardDuty como parte da sua estratégia de backup pode gerar custos adicionais além do armazenamento de dados do bucket do S3. Veja a seguir para obter informações sobre como ajustar esse recursos:

    • Reduzir o custo do SSE-KMS com chaves de buckets do Amazon S3 no Guia do usuário do Amazon S3.

    • É possível reduzir os custos do CloudTrail excluindo eventos do AWS KMS e desativando eventos de dados do S3:

      • Excluir eventos do AWS KMS: no Guia do usuário do CloudTrail, Criar uma trilha no console (seletores de eventos básicos) oferece a opção de excluir eventos do AWS KMS para filtrar esses eventos da sua trilha (a configuração padrão inclui todos os eventos do KMS):

        • A opção para registrar em log ou excluir eventos do KMS só estará disponível se você registrar em log eventos de gerenciamento em sua trilha. Se optar por não registrar em log eventos de gerenciamento, os eventos do KMS não serão registrados em log e não será possível alterar as configurações de log de eventos do KMS.

        • As ações do AWS KMS, como Encrypt, Decrypt e GenerateDataKey normalmente geram um grande volume (mais de 99%) de eventos. Agora essas ações são registradas em log como eventos de Leitura. As ações relevantes e de baixo volume do KMS, como Disable, Delete e ScheduleKey (que normalmente representam menos de 0,5% do volume de eventos do KMS) são registradas em log como eventos de Gravação.

        • Para excluir eventos de alto volume, como Encrypt, Decrypt eGenerateDataKey, mas ainda registrar em log eventos relevantes como Disable, Delete e ScheduleKey, opte por registrar eventos gerenciados de Gravação e desmarque a caixa de seleção para Excluir eventos do AWS KMS.

      • Desabilitar eventos de dados do S3: por padrão, trilhas e armazenamentos de dados de eventos não registram em log eventos de dados. Desabilite os eventos de dados do S3 antes do backup inicial para reduzir custos.

    • Para reduzir os custos do CloudWatch, é possível parar de enviar eventos do CloudTrail para o CloudWatch Logs ao atualizar uma trilha para desabilitar as configurações do CloudWatch Logs.

    • Estimativa do custo de uso do GuardDuty no Guia do usuário do Amazon GuardDuty.

Mensagens de backup do S3

Quando um trabalho de backup é concluído ou falha, a mensagem a seguir é exibida. A tabela a seguir pode ajudar você a determinar a possível causa da mensagem de status.

Cenário Status do trabalho Mensagem Exemplo

Falha no backup de todos os objetos para um backup contínuo inicial ou de snapshot

FAILED

“Não foi possível fazer backup de nenhum objeto do bucket de origem BucketName. Para receber um aviso sobre essas falhas, ative as notificações de eventos do SNS.”

O perfil de backup não tem permissão para obter a ACL da versão do objeto. Consequentemente, não é possível fazer backup de nenhum objeto.

Falha no backup de todos os objetos para um backup contínuo subsequente.

COMPLETED

“Não foi possível fazer backup de nenhum objeto do bucket de origem BucketName. Para receber um aviso sobre essas falhas, ative as notificações de eventos do SNS.”

Configurações avançadas de backup do Amazon S3

O AWS Backup oferece configurações avançadas para controlar quais metadados devem ser incluídos em seus backups do Amazon S3. Se preferir, exclua as listas de controle de acesso (ACLs) e tags de objeto, o que pode ser útil caso os objetos estejam configurados sem ACLs e tags de objeto. Em outras palavras, se você não usa ACLs ou tags de objetos para seus recursos do S3, talvez seja melhor excluí-las dos backups.

Configuração do backup de ACLs e tags de objetos

É possível configurar as opções de backup de ACL e tag de objeto por meio do console do AWS Backup ou da AWS CLI.

Console
Configurar opções de ACL e tag usando o console
  1. Abra o console AWS Backup em https://console.aws.amazon.com/backup/.

  2. No painel de navegação, escolha Planos de backup e Criar plano de backup.

  3. Nas configurações do plano de backup, expanda Configurações avançadas de backup.

  4. Para recursos do Amazon S3, configure estas opções:

    • Backup de ACLs: marque a caixa de seleção para incluir ACLs ou deixe-a desmarcada para excluí-las.

      Backup de tags de objeto: marque a caixa de seleção para incluir tags de objeto no backup.

  5. Conclua a configuração do plano de backup e selecione Criar plano.

AWS CLI

É possível incluir ou excluir seletivamente listas de controle de acesso (ACLs) e tags de objetos dos backups do Amazon S3 usando as seguintes opções de backup:

BackupACLs

Controla se as ACLs de objetos devem ser incluídas no backup. Defina como disabled para excluir as ACLs. Padrão: enabled

BackupObjectTags

Controla se as tags de objetos devem ser incluídas no backup. Defina como disabled para excluir as tags. Padrão: enabled

Configurar opções de ACL e tag usando a AWS CLI

Para configurar as opções de backup de ACL e tag de objeto usando a AWS CLI, use o comando update-backup-plan com configurações avançadas de backup:

aws backup update-backup-plan \ --backup-plan-id "your-backup-plan-id" \ --backup-plan '{ "BackupPlanName": "MyS3BackupPlan", "Rules": [{ "RuleName": "MyS3BackupRule", "TargetBackupVaultName": "MyBackupVault", "ScheduleExpression": "cron(0 2 ? * * *)", "Lifecycle": { "DeleteAfterDays": 30 }, "RecoveryPointTags": {}, "CopyActions": [], "EnableContinuousBackup": false }], "AdvancedBackupSettings": [{ "ResourceType": "S3", "BackupOptions": { "BackupACLs": "disabled", "BackupObjectTags": "disabled" } }] }'

Os parâmetros BackupOptions controlam a inclusão de metadados:

  • "BackupACLs": "disabled": exclui ACLs dos backups

  • "BackupObjectTags": "disabled": exclui tags de objetos dos backups

  • "BackupACLs": "enabled": inclui ACLs nos backups (padrão)

  • "BackupObjectTags": "enabled": inclui tags de objetos nos backups (padrão)