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

4 minuto de leitura
0

Quero copiar um instantâneo 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.

Breve descrição

Quando você cria um instantâneo do EBS, ele é armazenado automaticamente em um bucket do Amazon S3 que a AWS gerencia. Você pode copiar instantâneos na mesma região da AWS ou de uma região para outra. No entanto, você não pode copiar instantâneos para os buckets do S3 que você gerencia.

Para armazenar instantâneos que você acessa com pouca frequência, considere usar o Amazon EBS Snapshots Archive. No entanto, se você ainda quiser usar o Amazon S3 para armazenar seus instantâneos, poderá usar a seguinte solução alternativa.

Resolução

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

Para copiar o conteúdo do seu instantâneo para o bucket do S3, crie um volume a partir do instantâneo. Monte o volume em uma instância Linux do Amazon Elastic Compute Cloud (Amazon EC2). Em seguida, use a AWS CLI ou as APIs do S3 para copiar os dados para seu bucket do S3.

Para copiar o conteúdo de seus instantâneos do EBS para um bucket do Amazon S3, siga estas etapas:

1.    Crie um volume do EBS a partir do instantâneo.

2.    Inicie uma instância Linux do EC2 na mesma zona de disponibilidade do volume que você criou.

3.    Anexe o volume à instância.

4.    Conecte-se à sua instância do Linux.

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

6.    Conceda acesso à instância do Amazon EC2 ao seu bucket do Amazon S3.

7.    Execute o comando a seguir para montar o volume em sua instância:

$ sudo mount /dev/xvdf /mnt

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

8.    Instale o pacotepv 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

Observação: antes de instalar o pacote pv para as distribuições Amazon Linux e RHEL, você deve ativar o repositório Extra Packages for Enterprise Linux (EPEL). Consulte Como faço para ativar 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

9.    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"

Observação: substitua my-bucket pelo nome do seu bucket do S3 e backup1 pelo nome do seu arquivo.

O comando cria um arquivo compactado do diretório /mnt e faz upload do arquivo para o bucket do S3 chamado my-bucket.

10.   Use o console do Amazon S3 para confirmar se o arquivo compactado foi carregado em seu bucket do S3.

11.    Execute o comando a seguir para desmontar o volume:

$ sudo umount /mnt
  1.   Separe o volume do EBS da instância Linux.

  2.   Exclua o volume e encerre sua instância.

Informações relacionadas

Copiar um instantâneo do Amazon EBS

Como posso conceder acesso à minha instância do Amazon EC2 a um bucket do Amazon S3?

AWS OFICIAL
AWS OFICIALAtualizada há 9 meses