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