Usar o Amazon S3 com instâncias do Amazon EC2 - Amazon Elastic Compute Cloud

Usar o Amazon S3 com instâncias do Amazon EC2

O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos que oferece escalabilidade líder do setor, disponibilidade de dados, segurança e performance. É possível usar o Amazon S3 para armazenar e recuperar qualquer volume de dados para uma variedade de casos de uso, como data lakes, sites, backups e big data analytics, diretamente de uma instância do Amazon EC2 ou de qualquer lugar na Internet. Para obter mais informações, consulte O que é a Amazon S3?

Os objetos são as entidades fundamentais armazenadas no Amazon S3. Cada objeto armazenado no Amazon S3 é contido em um bucket. Os buckets organizam o namespace do Amazon S3 no nível mais alto e identificam a conta responsável por esse armazenamento. Os buckets do Amazon S3 são semelhantes aos nomes de domínio da Internet. Os objetos armazenados em buckets têm um valor de chave exclusiva e são recuperados usando um URL. Por exemplo, se um objeto com um valor de chave /photos/mygarden.jpg estiver armazenado no bucket amzn-s3-demo-bucket1, ele será endereçável usando a URL https://amzn-s3-demo-bucket1.s3.amazonaws.com/photos/mygarden.jpg. Para obter mais informações, consulte Como o Amazon S3 funciona.

Exemplos de uso

Considerando os benefícios do Amazon S3 para armazenamento, é possívelria usar esse serviço para armazenar arquivos e conjuntos de dados para uso com instâncias do EC2. Há várias maneiras de mover dados do Amazon S3 para suas instâncias e vice-versa. Além dos exemplos discutidos a seguir, há várias ferramentas escritas por pessoas que é possível usar para acessar seus dados no Amazon S3, no computador ou na instância.

Se você tiver permissão, poderá copiar um arquivo entre o Amazon S3 e sua instância usando um dos seguintes métodos.

wget
nota

Esse método funciona apenas para objetos públicos. Se o objeto não for público, você receberá uma mensagem ERROR 403: Forbidden. Se receber esse erro, será necessário usar o console do Amazon S3, a AWS CLI, a API da AWS, o AWS SDK ou AWS Tools for Windows PowerShell e é necessário ter as permissões necessárias. Para obter mais informações, consulte Gerenciamento de identidade e acesso no Amazon S3 e Download de um objeto no Guia do usuário do Amazon S3.

O utilitário wget é um cliente FTP e HTTP que permite a você fazer download de objetos públicos no Amazon S3. Por padrão, ele é armazenado no Linux da Amazon e na maioria de outras distribuições e está disponível para download no Windows. Para fazer download de um objeto do Amazon S3, use o comando a seguir substituindo a URL do objeto para download.

[ec2-user ~]$ wget https://my_bucket.s3.amazonaws.com/path-to-file
PowerShell

É possível usar AWS Tools for Windows PowerShell para mover objetos do e para o Amazon S3.

Use o cmdlet Copy-S3Object para copiar um objeto do Amazon S3 para sua instância Windows, da seguinte maneira.

PS C:\> Copy-S3Object -BucketName my_bucket -Key path-to-file -LocalFile my_copied_file.ext

Como alternativa, você pode abrir o console do Amazon S3 usando um navegador da Web na instância Windows.

AWS CLI

É possível a AWS Command Line Interface (AWS CLI) para baixar itens restritos do Amazon S3 e também para fazer upload de itens. Para obter mais informações sobre, por exemplo, como instalar e configurar as ferramentas, consulte a página de detalhes do AWS Command Line Interface.

O comando aws s3 cp é semelhante ao comando Unix cp. É possível copiar arquivos do Amazon S3 para sua instância, copiar arquivos de sua instância para o Amazon S3, e copiar arquivos de um local do Amazon S3 para outro.

Use o comando a seguir para copiar um objeto do Amazon S3 em sua instância.

aws s3 cp s3://my_bucket/my_folder/my_file.ext my_copied_file.ext

Use o comando a seguir para copiar um objeto de sua instância de volta para o Amazon S3.

aws s3 cp my_copied_file.ext s3://my_bucket/my_folder/my_file.ext

O comando aws s3 sync pode sincronizar um bucket inteiro do Amazon S3 com um diretório local. Isso pode ser útil para fazer download de um banco de dados e manter a cópia local atualizada com o banco remoto. Se tiver as permissões adequadas no bucket do Amazon S3, será possível enviar o backup do diretório local por push para a nuvem quando concluir invertendo os locais de origem e de destino no comando.

Use o seguinte comando para fazer download de todo o bucket do Amazon S3 para um diretório local em sua instância.

aws s3 sync s3://remote_S3_bucket local_directory
Amazon S3 API

Se você for um desenvolvedor, poderá usar uma API para acessar dados no Amazon S3. É possível usar essa API para ajudar a desenvolver sua aplicação e integrá-la com outras APIs e SDKs. Para obter mais informações, consulte Exemplos de código para o Amazon S3 usando AWS SDKs na Referência da API do Amazon Simple Storage Service.