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. Você pode 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 análises de big data, 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. Algumas das mais comuns são discutidas nos fóruns de discussão da AWS.

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

GET or wget (Linux)
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 mais informações, consulte Gerenciamento de identidade e acesso no Amazon S3 e Fazer 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
AWS Tools for Windows PowerShell (Windows)

As instâncias do Windows têm o benefício de um navegador gráfico que pode ser usado para acessar o console do Amazon S3 diretamente. No entanto, para fins de script, os usuários do Windows também podem usar o AWS Tools for Windows PowerShell para mover objetos para/do Amazon S3.

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

PS C:\> Copy-S3Object -BucketName my_bucket -Key path-to-file -LocalFile my_copied_file.ext
AWS CLI (Linux and Windows)

A AWS Command Line Interface (AWS CLI) é uma ferramenta unificada para gerenciar os serviços da AWS. A AWS CLI permite que os usuários se autentiquem e baixem itens restritos no Amazon S3 e também façam 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. Você pode 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 do Amazon S3 usando SDKs da AWS no Guia do usuário do Amazon S3.