Padrões comuns de buckets para criar aplicações no Amazon S3
Ao criar aplicações no Amazon S3, você pode usar buckets de uso geral exclusivos para separar diferentes conjuntos de dados ou workloads. Ao criar aplicações que atendem usuários finais ou diferentes grupos de usuários, use nossos padrões de design de práticas recomendadas para criar aplicações que possam aproveitar melhor os recursos e a escalabilidade do Amazon S3.
Importante
Recomendamos que você crie nomes de bucket que não sejam previsíveis. Não escreva código presumindo que o nome do bucket escolhido esteja disponível, a menos que você já tenha criado o bucket. Um método para criar nomes de buckets que não sejam previsíveis é acrescentar um identificador único universal (GUID) ao nome do bucket, por exemplo, amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
. Consulte mais informações sobre regras de nomenclatura de buckets de uso geral em Regras de nomenclatura de buckets de uso geral.
Padrão de bucket multilocatário
Com buckets multilocatários, você cria um único bucket para uma equipe ou workload. Você usa prefixos exclusivos do S3 para organizar os objetos que armazena no bucket. Um prefixo é uma string no início do nome da chave do objeto. Um prefixo pode ter qualquer comprimento, sujeito ao comprimento máximo do nome da chave do objeto (1.024 bytes). Você pode pensar nos prefixos como uma forma de organizar seus dados de forma semelhante aos diretórios. No entanto, os prefixos não são diretórios.
Por exemplo, para armazenar informações sobre cidades, você pode organizá-las por continente, país, província ou estado. Como esses nomes geralmente não usam pontuação, você pode usar a barra (/) como delimitador. Os exemplos a seguir mostram prefixos sendo usados para organizar nomes de cidades por continente, país e, depois, província ou estado, usando um delimitador de barra (/).
-
Europa/França/Nova-Aquitânia/Bordeaux
-
América do Norte/Canadá/Quebec/Montreal
-
América do Norte /EUA/Washington/Bellevue
-
América do Norte /EUA/Washington/Seattle
Esse padrão é bem escalado quando você tem centenas de conjuntos de dados exclusivos em um bucket. Com prefixos, você pode facilmente organizar e agrupar esses conjuntos de dados.
No entanto, uma possível desvantagem do padrão de bucket multilocatário é que muitos recursos no nível do bucket do S3, como criptografia de bucket padrão, Versionamento do S3 e Pagamentos a cargo do solicitante do S3, são definidos no nível do bucket e não no nível do prefixo. Se os diferentes conjuntos de dados dentro do bucket multilocatário tiverem requisitos exclusivos, o fato de você não poder configurar muitos recursos no nível do bucket do S3 no nível do prefixo pode dificultar a especificação das configurações corretas para cada conjunto de dados. Além disso, em um bucket multilocatário, a alocação de custos pode se tornar complexa à medida que você trabalha para entender o armazenamento, as solicitações e a transferência de dados associados a prefixos específicos.
Padrão de bucket por uso
Com o padrão de bucket por uso, você cria um bucket para cada conjunto de dados, usuário final ou equipe distintos. Como é possível configurar recursos no nível do bucket do S3 para cada um desses buckets, você pode usar esse padrão para definir configurações exclusivas no nível do bucket. Por exemplo, é possível configurar recursos como criptografia de bucket padrão, Versionamento do S3 e Pagamentos a cargo do solicitante do S3 de uma forma personalizada para o conjunto de dados em cada bucket. Usar um bucket para cada conjunto de dados, usuário final ou equipe distintos também pode ajudar a simplificar suas estratégias de gerenciamento de acesso e alocação de custos.
Uma possível desvantagem dessa estratégia é que você possivelmente precisará gerenciar milhares de buckets. Todas as Contas da AWS têm uma cota padrão de dez mil buckets de uso geral. É possível aumentar a cota de bucket para uma conta enviando uma solicitação de aumento de cota. Para solicitar um aumento de buckets de uso geral, acesse o console do Service Quotas
Para gerenciar seu padrão de bucket por uso e simplificar o gerenciamento da infraestrutura, você pode usar o AWS CloudFormation. Você pode criar um modelo do AWS CloudFormation personalizado para seu padrão que já define todas as configurações desejadas para buckets do S3, a fim de que seja possível implantar e rastrear facilmente quaisquer alterações na infraestrutura. Consulte mais informações em AWS::S3::Bucket no Guia do usuário do AWS CloudFormation.
