Visão geral dos buckets
Para fazer upload de seus dados (fotos, vídeos, documentos etc.) para o Amazon S3, primeiro é necessário criar um bucket do S3 em uma das Regiões da AWS.
Há vários tipos de bucket do Amazon S3. Antes de criar um bucket, escolha o tipo de bucket que melhor se adapte aos requisitos de performance e da aplicação. Para obter mais informações sobre os vários tipos de bucket e os casos de uso apropriados para cada um, consulte Buckets.
As seções a seguir fornecem mais informações sobre buckets de uso geral, incluindo regras de nomenclatura de buckets, cotas e detalhes de configuração de buckets. Consulte uma lista de restrições e limitações relacionadas aos buckets do Amazon S3 em Cotas, limitações e restrições de bucket.
Tópicos
Visão geral dos buckets de uso geral
Um bucket de uso geral é um contêiner para objetos armazenados no Amazon S3. Você pode armazenar qualquer número de objetos em um bucket, e todas as contas têm uma cota de bucket padrão de 10 mil buckets de uso geral. Para ver a utilização do bucket, a cota do bucket ou solicitar um aumento dessa cota, acesse o console do Service Quotas
-
As cotas de buckets de uso geral para regiões comerciais só podem ser visualizadas e gerenciadas na região Leste dos EUA (N. da Virgínia).
-
As cotas de buckets de uso geral para AWS GovCloud (US) só podem ser visualizadas e gerenciadas em AWS GovCloud (Oeste dos EUA).
Cada objeto está contido em um bucket. Por exemplo, se o objeto chamado photos/puppy.jpg
estiver armazenado no bucket amzn-s3-demo-bucket
da região Oeste dos EUA (Oregon), ele poderá ser endereçado usando o URL https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/photos/puppy.jpg
. Para obter mais informações, consulte Accessing a Bucket (Como acessar um bucket).
Em termos de implementação, os buckets e objetos são recursos da AWS, e o Amazon S3 fornece APIs para você gerenciá-los. Por exemplo, é possível criar um bucket e fazer upload de objetos usando a API do Amazon S3. Também é possível usar o console do Amazon S3 para executar essas operações. O console usa as APIs do Amazon S3 para enviar solicitações ao Amazon S3.
Esta seção descreve como trabalhar com buckets. Para obter mais informações sobre como trabalhar com objetos, consulte Visão geral de objetos Amazon S3.
O Amazon S3 oferece suporte a buckets globais, o que significa que cada nome de bucket deve ser exclusivo em todas as Contas da AWS de todas as Regiões da AWS dentro de uma partição. Uma partição é um agrupamento de regiões. Atualmente, a AWS tem três partições: aws
(regiões padrão), aws-cn
(regiões da China) e aws-us-gov
(AWS GovCloud (US)).
Após a criação de um bucket, o nome dele não poderá ser usado por outra Conta da AWS na mesma partição enquanto ele não for excluído. Você não pode depender de convenções de nomenclatura de buckets específicos para fins de disponibilidade ou verificação de segurança. Para ver as diretrizes de nomeação de bucket, consulte Regras de nomenclatura de buckets de uso geral.
O Amazon S3 cria buckets na região que você especificar. Para reduzir a latência, minimizar os custos ou atender a requisitos regulatórios, escolha qualquer Região da AWS geograficamente próxima a você. Por exemplo, se você residir na Europa, poderá considerar vantajoso criar buckets nas regiões UE (Irlanda) ou UE (Frankfurt). Para obter uma lista de regiões do Amazon S3, consulte Regiões e endpoints na Referência geral da AWS.
nota
Os objetos pertencentes a um bucket criado em uma Região da AWS específica jamais saem dela, a menos que você os transfira explicitamente para outra região. Por exemplo, os objetos que são armazenados na região UE (Irlanda) nunca saem dela.
Padrões comuns de buckets
Ao criar aplicações no Amazon S3, você pode usar buckets de uso geral exclusivos para separar diferentes conjuntos de dados ou workloads. Dependendo do seu caso de uso, existem diferentes padrões de design e práticas recomendadas para o uso de buckets. Para obter mais informações, consulte Padrões comuns de buckets para criar aplicações no Amazon S3.
Permissões
É possível usar suas credenciais de Usuário raiz da conta da AWS para criar um bucket e executar qualquer outra operação do Amazon S3. No entanto, recomendamos não usar as credenciais de usuário root da sua Conta da AWS para fazer solicitações, como criar um bucket. Em vez disso, crie um usuário do AWS Identity and Access Management (IAM) e conceda a esse usuário acesso total (por padrão, os usuários não têm nenhuma permissão).
Esses usuários são referidos como administradores. As credenciais do usuário administrador podem ser usadas em vez das credenciais do usuário root da conta para interagir com a AWS e executar tarefas, tais como criar um bucket, criar usuários e conceder permissões a eles.
Para obter mais informações, consulte Credenciais de Usuário raiz da conta da AWS e credenciais de usuário do IAM na Referência geral da AWS e Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.
A Conta da AWS que cria um recurso é proprietária daquele recurso. Por exemplo, se você criar um usuário do IAM na sua Conta da AWS e conceder permissões para esse usuário criar um bucket, o usuário poderá criar um bucket. Mas o usuário não é proprietário do bucket; a Conta da AWS à qual o usuário pertence é que é a proprietária do bucket. O usuário precisará de permissão adicional do proprietário do recurso para executar qualquer outra operação de bucket. Para obter mais informações sobre o gerenciamento de permissões para recursos do Amazon S3, consulte Gerenciamento de identidade e acesso para o Amazon S3.
Gerenciar o acesso público aos buckets
O acesso público aos buckets e objetos é concedido por meio de políticas de bucket, listas de controle de acesso (ACLs) ou ambos. Para ajudar você a gerenciar o acesso público aos recursos do Amazon S3, o Amazon S3 fornece configurações de bloqueio de acesso público. As configurações de bloqueio de acesso público do Amazon S3 podem substituir ACLs e políticas de bucket para que você possa impor limites uniformes ao acesso público a esses recursos. Você pode aplicar as configurações de bloqueio de acesso público a buckets individualmente ou grupos de buckets na sua conta.
Para garantir que todos os seus buckets e objetos do Amazon S3 tenham o acesso público bloqueado, todas as quatro configurações do Bloqueio de Acesso Público devem estar habilitadas por padrão ao criar um bucket. Recomendamos ativar todas as quatro configurações do Bloqueio de Acesso Público na sua conta também. Estas configurações bloqueiam o acesso público a todos os buckets atuais e futuros.
Antes de aplicar estas configurações, verifique se seus aplicativos funcionarão corretamente sem acesso público. Se você precisa de um nível determinado de acesso público aos buckets ou objetos, por exemplo, para hospedar um site estático como descrito em Hospedagem de um site estático usando o Amazon S3, é possível personalizar as configurações individualmente para atender aos seus casos de uso de armazenamento. Para obter mais informações, consulte Bloquear o acesso público ao armazenamento do Amazon S3.
No entanto, é altamente recomendável manter o Bloqueio de Acesso Público habilitado. Se quiser manter todas as quatro configurações do Bloqueio de Acesso Público habilitadas e hospedar um site estático, use o controle de acesso à origem (OAC) do Amazon CloudFront. O Amazon CloudFront fornece os recursos necessários para configurar um site estático seguro. Os sites estáticos do Amazon S3 só são compatíveis com endpoints HTTP. O Amazon CloudFront usa o armazenamento durável do Amazon S3 ao mesmo tempo que fornece cabeçalhos de segurança adicionais, como HTTPS. O HTTPS adiciona segurança criptografando uma solicitação HTTP normal e protegendo-a contra ataques cibernéticos comuns.
Para obter mais informações, consulte Conceitos básicos de um site estático seguro no Guia do desenvolvedor do Amazon CloudFront.
nota
Se você vir um Error
ao listar seus buckets e as respectivas configurações de acesso público, talvez você não tenha as permissões necessárias. Verifique se você tem as seguintes permissões adicionadas à política de usuário ou perfil:
s3:GetAccountPublicAccessBlock s3:GetBucketPublicAccessBlock s3:GetBucketPolicyStatus s3:GetBucketLocation s3:GetBucketAcl s3:ListAccessPoints s3:ListAllMyBuckets
Em alguns casos raros, as solicitações também podem falhar devido a uma interrupção da Região da AWS.
Opções de configuração do bucket
O Amazon S3 é compatível com várias opções para que você configure o bucket. Por exemplo, você pode configurar seu bucket para hospedagem de site, adicionar configuração para gerenciar o ciclo de vida de objetos no bucket e configurar o bucket para registrar todos os acessos a ele. O Amazon S3 é compatível com sub-recursos para que você armazene e gerencie informações de configuração do bucket. É possível usar a API do Amazon S3 para criar e gerenciar esses sub-recursos. No entanto, você também pode usar o console ou os SDKs da AWS.
nota
Há também configurações no nível do objeto. Por exemplo, você pode configurar permissões no nível do objeto configurando uma lista de controle de acesso (ACL) específica para aquele objeto.
São chamados de sub-recursos porque existem no contexto de um bucket ou objeto específico. A tabela a seguir lista os sub-recursos que permitem gerenciar configurações específicas de bucket.
Sub-recurso | Descrição |
---|---|
cors (compartilhamento de recurso de origem cruzada) |
Você pode configurar seu bucket para autorizar solicitações de origem cruzada. Para obter mais informações, consulte Usar o compartilhamento de recursos de origem cruzada (CORS). |
notificação de evento |
Você pode permitir que seu bucket envie notificações de eventos do bucket especificado. Para obter mais informações, consulte Notificações de eventos do Amazon S3. |
ciclo de vida |
Você pode definir regras de ciclo de vida para objetos em seu bucket que têm um ciclo de vida bem definido. Por exemplo, você pode definir uma regra para arquivar objetos um ano após a criação ou excluir um objeto 10 anos após a criação. Para obter mais informações, consulte Gerenciar o ciclo de vida dos objetos. |
location |
Ao criar um bucket, você especifica a Região da AWS onde deseja que o Amazon S3 crie o bucket. O Amazon S3 armazena essas informações no sub-recurso local e fornece uma API para que você recupere essas informações. |
registro em log |
O registro em log permite que você rastreie solicitações de acesso ao seu bucket. Cada registro de log de acesso fornece detalhes sobre uma única solicitação de acesso, como solicitante, nome do bucket, horário da solicitação, ação da solicitação, status de resposta e código de erro, se houver. As informações de log de acesso podem ser úteis em auditorias de segurança e acesso. Isso também pode ajudá-lo a conhecer sua base de clientes e entender a conta do Amazon S3. Para obter mais informações, consulte Registrar em log as solicitações com registro em log de acesso ao servidor. |
bloqueio de objetos |
Para usar o bloqueio de objetos do S3, é necessário habilitá-lo para um bucket. Também é possível configurar um modo e um período de retenção padrão que se aplicam a novos objetos colocados no bucket. Para obter mais informações, consulte Bloquear objetos com o Bloqueio de Objetos. |
política e ACL (lista de controle de acesso) |
Todos os seus recursos (como buckets e objetos) são privados por padrão. O Amazon S3 é compatível com opções de política de bucket e de lista de controle de acesso (ACL) para que você conceda e gerencie permissões no nível do bucket. O Amazon S3 armazena as informações de permissão nos sub-recursos política e acl. Para obter mais informações, consulte Gerenciamento de identidade e acesso para o Amazon S3. |
replicação |
A replicação é a cópia assíncrona automática de objetos em buckets na mesma Regiões da AWS ou em regiões diferentes. Para obter mais informações, consulte Replicar objetos dentro de uma região e entre regiões. |
requestPayment |
Por padrão, a Conta da AWS que cria o bucket (o proprietário do bucket) paga pelos downloads do bucket. Usando esse sub-recurso, o proprietário do bucket pode especificar que a pessoa que solicita o download será cobrada pelo download. O Amazon S3 fornece uma API para gerenciamento desse sub-recurso. Para obter mais informações, consulte Configuração de buckets de Pagamento pelo solicitante para transferências de armazenamento e uso. |
marcação |
Você pode adicionar tags de alocação de custo ao seu bucket para classificar e acompanhar seus custos com a AWS. O Amazon S3 fornece o sub-recurso marcação para armazenar e gerenciar tags em um bucket. Com o uso de tags em seu bucket, a AWS gera um relatório de alocação de custos com o uso e custos agregados por suas tags. Para obter mais informações, consulte Relatórios de uso e faturamento do Amazon S3. |
aceleração de transferência |
O Transfer Acceleration possibilita transferências de arquivos rápidas, fáceis e seguras entre seu cliente e um bucket do S3 em longas distâncias. O Transfer Acceleration tira proveito dos pontos de presença distribuídos globalmente no Amazon CloudFront. Para obter mais informações, consulte Configurar transferências de arquivos rápidas e seguras usando o Amazon S3 Transfer Acceleration. |
versionamento |
O versionamento ajuda a recuperar substituições e exclusões acidentais. Recomendamos o versionamento como melhor prática para impedir a exclusão ou substituição de objetos por engano. Para obter mais informações, consulte Reter várias versões de objetos com o Versionamento do S3. |
site |
Você pode configurar seu bucket para hospedagem de site estático. O Amazon S3 armazena essa configuração criando um sub-recurso site. Para obter mais informações, consulte Hospedagem de um site estático usando o Amazon S3. |
Operações de buckets
A engenharia de alta disponibilidade do Amazon S3 é focada nas operações get, put, list e delete. Como as operações de bucket funcionam utilizando um espaço centralizado e global de recursos, recomendamos criar, excluir ou configurar buckets no caminho de código de alta disponibilidade da aplicação. É melhor criar, excluir ou configurar buckets em uma rotina de inicialização ou configuração separada que você execute com menor frequência.
Monitoramento do desempenho do bucket
Quando você tem aplicações e processos empresariais críticos que dependem de recursos da AWS, é importante monitorar e receber alertas referentes ao sistema. Monitorar seus dados pode ajudar a manter a confiabilidade, a disponibilidade e o desempenho do Amazon S3 e das soluções da AWS. Há vários serviços da AWS que você pode usar para coletar e agregar métricas e logs para os buckets do S3.
Dependendo do caso de uso, você pode escolher qual serviço da AWS melhor atende às necessidades da sua organização para depurar problemas, monitorar dados, otimizar os custos de armazenamento ou solucionar problemas em vários pontos. Por exemplo:
-
Como melhorar o desempenho das aplicações que usam o S3: configure os alarmes do CloudWatch para monitorar dados de armazenamento, métricas de replicação ou métricas de solicitação.
-
Como planejar o uso do armazenamento, otimizar custos de armazenamento ou descobrir quanto você tem de armazenamento em toda a organização: use a funcionalidade Lente de Armazenamento do Amazon S3. Se preferir, você poderá usar esse recurso para aprimorar o desempenho dos dados habilitando métricas avançadas e usando as métricas detalhadas de código de status para obter contagens de solicitações bem-sucedidas ou malsucedidas.
-
Como ter uma visualização unificada de sua integridade operacional: publique as métricas de uso e atividade da Lente de Armazenamento do S3 em um painel do Amazon CloudWatch.
nota
A opção de publicação do Amazon CloudWatch está disponível para painéis da Lente de Armazenamento do S3 atualizados para Métricas e recomendações avançadas. É possível habilitar a opção de publicação do CloudWatch para uma configuração de painel nova ou existente no S3 Storage Lens.
-
Para obter um registro das ações realizadas por um usuário, perfil ou serviço do AWS: configure logs do AWS CloudTrail. Você também pode usar logs do AWS CloudTrail para analisar chamadas de API para o Amazon S3 como eventos.
-
Como receber notificações sobre quando determinado evento ocorre no bucket do S3: configure notificações de eventos do Amazon S3.
-
Como obter registros detalhados das solicitações feitas a um bucket do S3: configure os logs de acesso do S3.
Consulte uma lista de todos os diferentes serviços da AWS que você pode usar para monitorar dados em Registrar em log e monitorar no Amazon S3.