

# Usar o Amazon S3 com instâncias do Amazon EC2
Amazon S3

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?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html#CoreConcepts).

## 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html) e [Download de um objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html) 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://amzn-s3-demo-bucket.s3.amazonaws.com/path-to-file
```

------
#### [ PowerShell ]

É possível usar [AWS Tools for Windows PowerShell](https://aws.amazon.com/powershell/) para mover objetos do e para o Amazon S3.

Use o cmdlet [Copy-S3Object](https://docs.aws.amazon.com/powershell/latest/reference/items/Copy-S3Object.html) para copiar um objeto do Amazon S3 para sua instância Windows, da seguinte maneira.

```
Copy-S3Object `
    -BucketName amzn-s3-demo-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](https://aws.amazon.com/cli/).

O comando [aws s3 cp](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) é 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://amzn-s3-demo-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://amzn-s3-demo-bucket/my_folder/my_file.ext
```

O comando [aws s3 sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) 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://amzn-s3-demo-source-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](https://docs.aws.amazon.com/AmazonS3/latest/API/service_code_examples.html) na *Referência da API do Amazon Simple Storage Service*.

------