Como posso iniciar restaurações para um grande volume de objetos do Amazon S3 que estão atualmente na classe de armazenamento do S3 Glacier ou do S3 Glacier Deep Archive?

6 minuto de leitura
0

Tenho um grande número de objetos na classe de armazenamento do Amazon Simple Storage Service (Amazon S3) Glacier ou Amazon S3 Glacier Deep Archive. Quero iniciar uma restauração em todos esses objetos em uma operação de grande escala.

Resolução

Para restaurar um grande volume de objetos da classe de armazenamento do Amazon S3 Glacier, você pode usar uma das seguintes opções:

  • Operações em Lote do Amazon S3
  • Um script personalizado que você criou usando a AWS Command Line Interface (AWS CLI)

Observação: se receber erros ao executar comandos da AWS CLI, verifique se você está usando a versão mais recente da AWS CLI.

Use uma operação em lote do S3

Crie um trabalho Operações em Lote do Amazon S3 para iniciar a restauração de todos os objetos. Você pode executar um trabalho Iniciar a restauração de um objeto do S3 em uma lista personalizada de objetos ou em um relatório de inventário do Amazon S3.

Observação: antes de criar um trabalho, não deixe de revisar os preços do Operações em Lote do Amazon S3.

Antes de começar a criar um trabalho de Operações em Lote do S3, certifique-se de que os seguintes requisitos sejam atendidos:

  • Você tem um usuário ou perfil do AWS Identity and Access Management (IAM) que tem permissões para iniciar uma restauração. Além disso, o usuário ou perfil do IAM deve ter uma política de confiança com as Operações em Lote do Amazon S3.
  • Você tem uma lista CSV ou um relatório de inventário do Amazon S3 para servir como manifesto dos objetos que você deseja restaurar. O arquivo de manifesto deve ser armazenado em um bucket do S3. Não há suporte para manifestos com criptografia do lado do servidor (chaves fornecidas pelo cliente ou chaves do AWS Key Management Service). Para obter mais informações sobre os requisitos de cada formato, consulte Como especificar um manifesto.

Para criar um trabalho de operação em lote usando o console do Amazon S3 para iniciar uma restauração, faça o seguinte:

1.    Abra o console do Amazon S3.

2.    No painel de navegação, escolha Operações em lote.

3.    Escolha Criar trabalho.

4.    Em Região, selecione a região da AWS em que você deseja criar o trabalho.

5.    Em Escolher manifesto, insira:
Em Formato de manifesto, selecione relatório de inventário do S3 ou CSV como formato de arquivo.
Em Caminho para o objeto de manifesto, insira o caminho do S3 para o arquivo de manifesto (Exemplo: s3://awsexamplebucket/manifest.csv).

6.Escolha Avançar.

7.    Em Escolher operação, insira o seguinte:
Em Operação, selecione Restaurar.
Em Restaurar fonte, selecione Glacier ou Glacier Deep Archive.
Em Número de dias em que a cópia restaurada está disponível, insira o número de dias para seu caso de uso.
Em Nível de restauração, selecione Recuperação em massa ou Recuperação padrão. Para obter mais informações sobre cada nível, consulte ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects.html#restoring-objects-retrieval-options)Opções de recuperação de arquivos[.

Observação: as operações em lote do S3 não oferecem suporte ao nível de Recuperação expressa.

8.Escolha Avançar.

9.Em Configurar opções adicionais, digite o seguinte:
Em Descrição, você pode optar por inserir uma descrição do trabalho. Ou você pode deixar esse campo em branco.
Em Prioridade, insira um número para indicar a prioridade do trabalho.
Em Gerar relatório de conclusão, escolha manter essa opção selecionada.
Em Escopo do relatório de conclusão, selecione Somente tarefas com falha ou Todas as tarefas, dependendo do seu caso de uso.
Em Caminho até o destino do relatório de conclusão, insira o caminho para o qual você deseja enviar o relatório.
Em Permissão, selecione Escolher entre os perfis existentes do IAM. Em seguida, selecione o perfil do IAM que tem permissões para iniciar uma restauração e tem uma política de confiança com operações em lote do S3.

10.Escolha Avançar.

11.Na página Revisão, revise os detalhes do trabalho. Em seguida, escolha Criar trabalho.

12.Depois de criar o trabalho, o status do trabalho muda de Novo para Preparando. Em seguida, o status muda para Aguardando sua confirmação. Para executar o trabalho, você deve selecionar o trabalho e, em seguida, escolher Confirmar e executar. O trabalho não é executado até que você o confirme.

13.(Opcional) Se você selecionou Gerar relatório de conclusão, revise o relatório após a conclusão do trabalho. Você pode encontrar o relatório no Caminho para o destino do relatório de conclusão que você especificou.

Para ver descrições de cada status de trabalho, consulte ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-job-status.html#batch-ops-job-status-table)Status do trabalho[.

Para obter mais informações sobre trabalhos que falharam, consulte Acompanhando falhas no trabalho.

Use um script personalizado da AWS CLI

Você pode restaurar seus objetos do Amazon S3 Glacier usando o comando restore-object da AWS CLI. No entanto, o comando só pode restaurar um objeto do S3 Glacier por vez e não suporta a ação de restauração em massa. Portanto, use a seguinte solução personalizada para restaurar dados em massa das classes de armazenamento do S3 Glacier usando as opções de recuperação disponíveis.

Observação: você deve testar esses scripts personalizados em um ambiente de teste ou desenvolvimento antes de usá-los em seu ambiente de produção. Os comandos personalizados restauram todos os objetos nas classes de armazenamento do S3 Glacier, um por um. Se você tiver muitos objetos, o comando pode atingir o tempo limite. Você pode executar o comando personalizado usando o parâmetro Prefix para reduzir o número de objetos.

Para um sistema baseado em Linux ou UNIX, execute o seguinte comando para restaurar recursivamente todos os objetos do S3 Glacier no bucket:

aws s3api list-objects --bucket <bucket-name> --prefix <prefix> --query 'Contents[?StorageClass==`GLACIER`][Key]' --output text | xargs -I {} sh -c "aws s3api restore-object --bucket <bucket-name> --key \"{}\" --restore-request Days=5,GlacierJobParameters={Tier=Standard} || true"

Faça o seguinte:

  • Substitua <bucket-name> pelo nome do bucket do S3.
  • Substitua <prefix> pelo caminho da pasta do S3.

No caso de um sistema baseado em Windows, faça o seguinte:

1.Execute o comando a seguir para listar todos os objetos do S3 Glacier no bucket:

aws s3api list-objects --bucket <bucket-name> --prefix <prefix> --query "Contents[?StorageClass==`GLACIER`][Key]" --output text > list.txt

Quando você executa esse comando, a lista de objetos é salva em um arquivo chamado list.txt.

2.Execute o comando a seguir para restaurar os objetos do S3 Glacier:

for /F "tokens=*" %i in (list.txt) do @aws s3api restore-object --bucket <bucket-name> --key "%i" --restore-request Days=5,GlacierJobParameters={Tier=Standard} || true"

Observação: o script personalizado anterior da AWS CLI incorre em cobranças adicionais pela LIST e pelas solicitações de recuperação de dados. Como list-objects-v2 é uma operação paginada, várias chamadas de API podem ser emitidas para recuperar todo o conjunto de dados dos resultados. Para obter mais informações, consulte preços do Amazon S3.

Informações relacionadas

Como criar um trabalho das Operações em Lote do S3

Como executar operações em lote em grande escala em objetos do Amazon S3

Como gerenciar trabalhos de Operações em Lote do S3

AWS OFICIAL
AWS OFICIALAtualizada há um ano