0Pricing
AWS Solutions Architect · Aula

Buckets, objetos e regiões

Crie buckets do S3, carregue objetos, entenda a nomenclatura das chaves e veja como o S3 replica dados dentro de uma região.

Buckets, objetos e regiões é uma aula grátis de AWS Solutions Architect no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AWS Solutions Architect, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AWS Solutions Architect inclui 4 aulas no total.

O que é o Amazon S3?

O Amazon Simple Storage Service (S3) é o serviço de armazenamento de objetos da AWS, projetado para armazenar e recuperar qualquer quantidade de dados de qualquer lugar da internet. O S3 fornece 11 noves de durabilidade (99.999999999%) ao armazenar objetos de forma redundante em vários dispositivos distribuídos por várias Zonas de Disponibilidade na Region selecionada. Ele é infinitamente escalável, não tem limite de capacidade e oferece suporte a objetos de 0 bytes até 5 TB. O S3 é a base de inúmeras arquiteturas da AWS, atendendo sites estáticos, data lakes, repositórios de backup e muito mais.

Buckets do S3: o contêiner de nível superior

Um bucket do S3 é um contêiner de objetos com nome globalmente exclusivo. Os buckets são criados em uma Region específica da AWS, mas seus nomes devem ser globalmente exclusivos em todas as contas AWS do mundo, pois o nome se torna parte da URL. Os nomes de buckets devem ter de 3 a 63 caracteres, usar letras minúsculas, começar com uma letra ou número e não conter sublinhados nem letras maiúsculas. Boa prática: inclua o ID da sua conta ou um sufixo aleatório para evitar conflitos de nome com outras contas.

# Create an S3 bucket in a specific region
aws s3api create-bucket \
  --bucket my-company-data-20240101 \
  --region us-west-2 \
  --create-bucket-configuration LocationConstraint=us-west-2

Objetos e chaves do S3

Um objeto no S3 consiste nos dados, o conteúdo do arquivo, em uma chave, o nome exclusivo do objeto dentro do bucket, em metadados, pares de chave-valor definidos pelo sistema e pelo usuário, e, opcionalmente, em um ID de versão, se o versionamento estiver habilitado. A chave é a string completa semelhante a um caminho, por exemplo, photos/2024/summer/beach.jpg. O S3 é plano: não há diretórios reais, apenas prefixos de chave que se parecem com diretórios. O tamanho máximo de um objeto é 5 TB; para objetos maiores que 100 MB, use Multipart Upload para obter melhor desempenho e confiabilidade.

# Upload an object
aws s3 cp ./report.pdf s3://my-company-data-20240101/reports/2024/report.pdf

# List objects with a specific prefix
aws s3 ls s3://my-company-data-20240101/reports/2024/

Formatos de URL do S3

Objetos do S3 podem ser acessados por dois formatos de URL. Estilo de caminho: https://s3.<region>.amazonaws.com/<bucket>/<key> (está sendo descontinuado para novos buckets). Estilo de hospedagem virtual: https://<bucket>.s3.<region>.amazonaws.com/<key> (padrão atual). O nome do bucket se torna um subdomínio, motivo pelo qual os nomes de buckets devem estar em conformidade com DNS. Para URLs pré-assinadas e distribuições do CloudFront, você sempre verá o formato de hospedagem virtual. Entender a estrutura da URL ajuda você a configurar corretamente as políticas de bucket e CORS.

# Generate a pre-signed URL valid for 1 hour (3600 seconds)
aws s3 presign s3://my-company-data-20240101/reports/2024/report.pdf \
  --expires-in 3600

Modelo de consistência de dados do S3

Desde dezembro de 2020, o Amazon S3 fornece consistência forte de leitura após gravação para todas as operações — PUTs de novos objetos, substituições e DELETEs — em todas as Regions automaticamente e sem custo adicional. Isso significa que, assim que uma gravação é bem-sucedida, qualquer leitura posterior retorna a versão mais recente do objeto. Essa é uma melhoria significativa em relação ao modelo anterior de consistência eventual e simplifica o design das aplicações ao eliminar a necessidade de atrasos nas leituras após gravações ou de lógica de novas tentativas.

S3 e Regions: residência de dados

Ao criar um bucket do S3, você especifica uma Region, e seus dados permanecem nessa Region a menos que você configure explicitamente a replicação. A AWS replica os dados dentro dessa Region em várias AZs para garantir durabilidade, mas não os move automaticamente para outras Regions. Essa residência regional dos dados é importante para conformidade: se as regulamentações exigirem que os dados permaneçam na EU, crie o bucket em eu-west-1 ou em outra Region da EU, e seus dados não sairão dela.

# Find the region of an existing bucket
aws s3api get-bucket-location \
  --bucket my-company-data-20240101

Multipart Upload para objetos grandes

O Multipart Upload é obrigatório para objetos com mais de 5 GB e recomendado para objetos com mais de 100 MB. Ele divide o objeto em partes, com mínimo de 5 MB por parte e até 10.000 partes, faz upload de cada parte de forma independente, em paralelo, e as combina no objeto final. Se alguma parte falhar, você tentará novamente apenas essa parte. A AWS CLI e os SDKs processam automaticamente o upload multipart quando você usa o comando aws s3 cp para arquivos grandes; não é necessário implementá-lo manualmente.

# The CLI uses multipart automatically for large files
aws s3 cp large-file-50GB.tar.gz s3://my-bucket/ \
  --storage-class STANDARD

# Or use s3api to control multipart manually
aws s3api create-multipart-upload \
  --bucket my-bucket \
  --key large-file-50GB.tar.gz

Metadados de objetos do S3

Todo objeto do S3 possui metadados do sistema definidos pela AWS (Content-Type, Content-Length, ETag, Last-Modified) e metadados definidos pelo usuário opcionais, pares personalizados de chave-valor prefixados com x-amz-meta-. Os metadados são armazenados com o objeto e retornados nos cabeçalhos de resposta HTTP quando o objeto é baixado. Content-Type é especialmente importante para disponibilização na web: se você fizer upload de um arquivo HTML sem definir Content-Type: text/html, os navegadores poderão oferecê-lo para download em vez de renderizá-lo.

# Upload with explicit Content-Type metadata
aws s3 cp index.html s3://my-website-bucket/ \
  --content-type 'text/html' \
  --metadata 'author=alice,env=production'

S3 para hospedagem de sites estáticos

O Amazon S3 pode atuar como um host de site estático, disponibilizando HTML, CSS, JavaScript, imagens e outros arquivos diretamente de um bucket. Habilite a hospedagem de site estático nas propriedades do bucket e especifique um documento de índice (index.html) e um documento de erro opcional (404.html). A URL do endpoint de site do bucket segue o formato: http://<bucket>.s3-website.<region>.amazonaws.com. Para suporte a HTTPS e domínio personalizado, coloque uma distribuição do CloudFront diante do bucket de site estático do S3.

# Enable static website hosting
aws s3api put-bucket-website \
  --bucket my-website-bucket \
  --website-configuration '{"IndexDocument":{"Suffix":"index.html"},"ErrorDocument":{"Key":"404.html"}}'

S3 Transfer Acceleration

O S3 Transfer Acceleration acelera uploads de objetos a longa distância ao encaminhar os dados pela Location de borda do CloudFront mais próxima e, em seguida, pela rede privada de backbone da AWS até a Region do bucket do S3. Em vez de fazer upload diretamente para o endpoint do S3, o cliente faz upload para um endpoint acelerado, como my-bucket.s3-accelerate.amazonaws.com. Transfer Acceleration acrescenta uma pequena cobrança por GB, mas pode melhorar significativamente as velocidades de upload para usuários geograficamente distantes da Region do bucket.

# Enable Transfer Acceleration on a bucket
aws s3api put-bucket-accelerate-configuration \
  --bucket my-company-data-20240101 \
  --accelerate-configuration Status=Enabled

Marcação de objetos do S3

As tags de objeto são pares de chave-valor que você anexa aos objetos do S3 para categorizá-los e gerenciá-los. As tags são usadas para: regras de ciclo de vida (fazer a transição ou expirar objetos com tags específicas), controle de acesso (condições de políticas do IAM e de buckets baseadas em valores de tags), alocação de custos (o Cost Explorer acompanha os gastos do S3 por tag) e inventário e análises. Cada objeto pode ter até 10 tags. As tags podem ser adicionadas no momento do upload ou atualizadas após a criação do objeto, sem modificar os próprios dados do objeto.

# Add tags to an existing object
aws s3api put-object-tagging \
  --bucket my-company-data-20240101 \
  --key reports/2024/report.pdf \
  --tagging '{"TagSet":[{"Key":"env","Value":"production"},{"Key":"owner","Value":"finance"}]}'

Verificação rápida

Teste sua compreensão dos conceitos de AWS Solutions Architect (SAA-C03) desta lição.

Resumo da lição

Nesta lição, você aprendeu que: buckets do S3 são contêineres com nomes globalmente exclusivos vinculados a uma Region específica, os objetos são armazenados com uma estrutura plana de chaves e oferecem suporte a metadados e tags e o S3 fornece consistência forte de leitura após gravação e 11 noves de durabilidade por meio de redundância em várias AZs. A seguir, exploraremos o controle de acesso do S3 com políticas de bucket e ACLs.

Perguntas Frequentes

A aula “Buckets, objetos e regiões” é grátis?

Sim — o texto completo de “Buckets, objetos e regiões” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AWS Solutions Architect, atualize para CoddyKit PRO. O curso de AWS Solutions Architect inclui 4 aulas no total.

O que vou aprender em “Buckets, objetos e regiões”?

Crie buckets do S3, carregue objetos, entenda a nomenclatura das chaves e veja como o S3 replica dados dentro de uma região. Você pratica AWS Solutions Architect com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AWS Solutions Architect?

Nenhuma experiência prévia é necessária. AWS Solutions Architect no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Buckets, objetos e regiões”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AWS Solutions Architect?

Sim. Cada aula de AWS Solutions Architect inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Buckets, objetos e regiões
  2. Controle de acesso do S3: políticas de bucket e ACLs
  3. Versionamento, exclusão com MFA e replicação
  4. Classes de armazenamento e políticas de ciclo de vida
← Voltar para AWS Solutions Architect