Como posso restaurar um objeto do Amazon S3 da classe de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive usando a AWS CLI?

5 minuto de leitura
0

Arquivei um objeto do Amazon Simple Storage Service (Amazon S3) na classe de armazenamento Amazon S3 Glacier Flexible Retrieval (a antiga Glacier) ou Amazon S3 Glacier Deep Archive usando uma configuração de ciclo de vida. Quero restaurar o objeto usando a AWS Command Line Interface (AWS CLI).

Resolução

Use as etapas a seguir para restaurar um objeto S3 da classe de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive usando a AWS CLI.

Observação: se você receber erros ao executar comandos da AWS CLI, certifique-se de estar usando a versão mais recente da AWS CLI.

Iniciar uma solicitação de restauração

Execute o comando a seguir para iniciar uma solicitação de restauração. Certifique-se de substituir todos os valores no exemplo de comando pelos valores do seu bucket, objeto e solicitação de restauração.

Observação: como as cobranças pela recuperação de dados são baseadas na quantidade de solicitações, certifique-se de confirmar se os parâmetros da sua solicitação de restauração estão corretos.

$ aws s3api restore-object --bucket awsexamplebucket --key dir1/example.obj --restore-request '{"Days":25,"GlacierJobParameters":{"Tier":"Standard"}}'

Depois de executar esse comando, uma cópia temporária do objeto estará disponível pelo período especificado na solicitação de restauração. Neste exemplo, a duração especificada na solicitação de restauração é de 25 dias, enquanto o nível de restauração está definido como S3 Standard.

Observe as seguintes modificações que você pode fazer no comando:

  • Para restaurar uma versão específica do objeto em um bucket versionado, inclua a opção --version-id e especifique o ID da versão correspondente.
  • Para a classe de armazenamento S3 Glacier Flexible Retrieval, você pode usar as opções de recuperação Expedited (Expressa), Standard (Padrão) ou Bulk (Em massa). No entanto, pode usar somente as opções de recuperação Standard (Padrão) ou Bulk (Em massa) para a classe de armazenamento S3 Glacier Deep Archive.
  • Se a sintaxe JSON usada no exemplo resultar em um erro em um cliente Windows, substitua a solicitação de restauração pela seguinte sintaxe:
--restore-request Days=25,GlacierJobParameters={"Tier"="Standard"}

Observação: se um objeto estiver armazenado na S3 Glacier Instant Retrieval, a recuperação de dados será instantânea, e a operação de restauração não será necessária. Para obter mais informações, consulte Classes de armazenamento do Amazon S3.

Monitorar o status da sua solicitação de restauração

Execute o comando a seguir para monitorar o status da sua solicitação de restauração:

aws s3api head-object --bucket awsexamplebucket --key dir1/example.obj

Se a restauração ainda estiver em andamento depois que o comando for executado, você receberá uma resposta semelhante à seguinte:

{
    "Restore": "ongoing-request=\"true\"",
    ...
    "StorageClass": "GLACIER | DEEP_ARCHIVE",
    "Metadata": {}
}

Após concluir a restauração, você receberá uma resposta semelhante à seguinte:

{
    "Restore": "ongoing-request=\"false\", expiry-date=\"Sun, 13 Aug 2017 00:00:00 GMT\"",
    ...
    "StorageClass": "GLACIER | DEEP_ARCHIVE",
    "Metadata": {}
}

Anote a data de expiração na resposta: você terá até esse momento para acessar o objeto de armazenamento temporário (armazenado na classe Reduced Redundancy Storage). O objeto temporário está disponível junto com o objeto arquivado que está na classe de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive. Após a data de expiração, o objeto temporário será removido. Você deve alterar a classe de armazenamento do objeto antes que o objeto temporário expire. Para alterar a classe de armazenamento do objeto após a data de expiração, você deve iniciar uma nova solicitação de restauração.

Alterar a classe de armazenamento do objeto para Amazon S3 Standard

Para alterar a classe de armazenamento do objeto para Amazon S3 Standard, use Copy (Copiar). Você pode sobrescrever o objeto existente ou copiá-lo em outro local.

Aviso: se você estiver usando a versão 1.x da AWS CLI, certifique-se de que o limite de várias partes esteja definido como 5 GB antes de copiar um objeto. Caso contrário, os metadados do usuário do objeto serão perdidos quando o tamanho do objeto for maior do que os limites de várias partes da AWS CLI. Para objetos maiores que 5 GB, use a versão 2.x da AWS CLI para preservar os metadados do usuário.

(Opcional) Para aumentar o limite de várias partes da AWS CLI, execute o seguinte comando:

aws configure set default.s3.multipart_threshold 5GB

Para substituir o objeto existente pela classe de armazenamento Amazon S3 Standard, execute o seguinte comando:

aws s3 cp s3://awsexamplebucket/dir1/example.obj s3://awsexamplebucket/dir1/example.obj --storage-class STANDARD

Para realizar uma cópia recursiva de um prefixo inteiro e substituir objetos existentes pela classe de armazenamento Amazon S3 Standard, execute o seguinte comando:

aws s3 cp s3://awsexamplebucket/dir1/ s3://awsexamplebucket/dir1/ --storage-class STANDARD --recursive --force-glacier-transfer

Observação: os objetos arquivados na S3 Glacier Flexible Retrieval têm uma duração mínima de armazenamento de 90 dias. Os objetos arquivados na S3 Glacier Deep Archive têm uma duração mínima de armazenamento de 180 dias. Se tiver sobrescrito um objeto na S3 Glacier Flexible Retrieval antes do mínimo de 90 dias, você será cobrado por 90 dias. Da mesma forma, objetos que estão na S3 Glacier Deep Archive e forem sobrescritos antes do mínimo de 180 dias serão cobrados por 180 dias.

Para copiar o objeto em outro local, execute o seguinte comando:

aws s3 cp s3://awsexamplebucket/dir1/example.obj s3://awsexamplebucket/dir2/example2.obj

Observação: para buckets suspensos ou com versionamento habilitado, essa etapa cria cópias adicionais de objetos. Esses objetos adicionais também incorrem em custos de armazenamento. Para evitar custos de armazenamento, remova as versões não atuais que ainda estão na classe de armazenamento Amazon S3 Glacier ou crie uma regra de expiração do S3 Lifecycle.


Informações relacionadas

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

Como uso os níveis de restauração no console do Amazon S3 para restaurar objetos arquivados da classe de armazenamento Amazon S3 Glacier?

Restaurar um objeto arquivado

Gerenciar seu ciclo de vida de armazenamento

AWS OFICIAL
AWS OFICIALAtualizada há um ano