Como posso copiar meus dados de snapshot do Amazon EBS para o Amazon S3 e criar volumes do EBS para dados personalizados no S3?

Última atualização: 29/11/2022

Quero copiar um snapshot do Amazon Elastic Block Store (Amazon EBS) para meu bucket do Amazon Simple Storage Service (Amazon S3). Também quero criar volumes do Amazon EBS a partir de dados armazenados no meu bucket do S3. Mas não sei como.

Breve descrição

Quando um snapshot do EBS é criado, ele é automaticamente armazenado em um bucket do Amazon S3 gerenciado pela Amazon Web Services (AWS). É possível copiar snapshots dentro da mesma região da AWS ou de uma região para outra. No entanto, não é possível copiar snapshots para buckets do S3 que você gerencia.

Para armazenar snapshots acessados com pouca frequência, considere usar o Amazon EBS Snapshots Archive. No entanto, se ainda preferir usar o Amazon S3 para armazenar seus snapshots, é possível usar a seguinte solução alternativa.

Resolução

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

É possível copiar o conteúdo do snapshot para o bucket do S3 criando um volume a partir do snapshot. Monte o volume em uma instância Linux do Amazon Elastic Compute Cloud (Amazon EC2). Em seguida, copie os dados para o bucket do S3 usando a AWS CLI ou as APIs do S3.

Para copiar o conteúdo dos snapshots do EBS para um bucket do Amazon S3, siga estas etapas:

1.    Crie um volume do EBS a partir do snapshot.

2.    Inicie uma instância Linux do EC2 na mesma zona de disponibilidade do volume criado.

3.    Anexe o volume à instância.

4.    Conecte na instância Linux.

5.    Instale a AWS CLI na sua instância Linux.

6.    Execute o comando a seguir para montar o volume na instância:

$ sudo mount /dev/xvdf /mnt

Nota: o dispositivo (/dev/xvdf, no exemplo anterior) pode estar conectado à instância com um nome de dispositivo diferente. Use o comando lsblk para visualizar os dispositivos de disco disponíveis juntamente com seus pontos de montagem para determinar os nomes corretos dos dispositivos.

7.    Instale o pacote pv para monitorar o progresso durante a criação do arquivo tar:

Distribuições Amazon Linux e Red Hat Enterprise Linux (RHEL)

$ sudo yum install pv

Nota: antes de instalar o pacote pv para as distribuições Amazon Linux e RHEL, é preciso ativar o repositório Extra Packages for Enterprise Linux (EPEL). Consulte How do I turn on the EPEL repository for my Amazon EC2 instance running CentOS, RHEL, or Amazon Linux? (Como habilito o repositório EPEL para minha instância do Amazon EC2 executando CentOS, RHEL ou Amazon Linux?)

Distribuições baseadas em Ubuntu e Debian

$ sudo apt install pv

8.    Execute o comando a seguir para copiar os dados do volume do EBS para seu bucket do S3:

$ tar c /mnt | pv -s $(($(du -sk /mnt | awk '{print $1}') * 1024)) | gzip | aws s3 cp - "s3://my-bucket/backup1.tar.gz"

Nota: o comando anterior cria um arquivo compactado a partir do diretório /mnt e carrega o arquivo para o bucket do S3 chamado my-bucket. Substitua my-bucket pelo nome do seu bucket do S3 e backup1 pelo nome do seu arquivo.

9.    Use o console do Amazon S3 para confirmar se o arquivo compactado foi carregado no bucket do S3.

10.    Execute o seguinte comando para desmontar o volume:

$ sudo umount /mnt

Copy an Amazon EBS snapshot (Copiar um snapshot do Amazon EBS)

Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?