Regras de nomenclatura de buckets de uso geral - Amazon Simple Storage Service

Regras de nomenclatura de buckets de uso geral

Ao criar um bucket de uso geral, considere o tamanho, os caracteres válidos, a formatação e a exclusividade dos nomes do bucket. As seções a seguir fornecem informações sobre a nomenclatura de buckets de uso geral, como regras de nomenclatura, práticas recomendadas, um exemplo para criar buckets de uso geral no namespace regional da conta e um exemplo para criar um bucket de uso geral com um nome que inclui um identificador único universal (GUID).

Para obter informações sobre nomes de chave de objeto, consulte Escolher nomes de chave de objeto.

Para criar um bucket de uso geral, consulte Criar um bucket de uso geral.

Regras de nomenclatura de buckets de uso geral

As seguintes regras de nomenclatura se aplicam à buckets de uso geral:

  • Os nomes dos buckets devem ter entre 3 (mínimo)e 63 (máximo) caracteres.

  • Os nomes dos buckets podem consistir apenas em letras minúsculas, números, pontos (.) e hifens (-).

  • Os nomes dos buckets devem começar e terminar com uma letra ou um número.

  • O nome do bucket não deve conter pontos adjacentes.

  • Os nomes de bucket não devem ser formatados como um endereço IP (por exemplo, 192.168.5.4).

  • O nome do bucket não deve iniciar com o prefixo xn--.

  • O nome do bucket não deve iniciar com o prefixo sthree-.

  • O nome do bucket não deve iniciar com o prefixo amzn-s3-demo-.

  • Os nomes de bucket não podem terminar com o sufixo -s3alias. Esse sufixo se reserva a nomes de alias de ponto de acesso. Para obter mais informações, consulte Alias de ponto de acesso.

  • Os nomes de bucket não podem terminar com o sufixo --ol-s3. Esse sufixo é reservado a nomes de alias de ponto de acesso de objeto do Lambda. Para obter mais informações, consulte Como usar um alias no estilo do bucket para o ponto de acesso do Object Lambda do bucket do S3.

  • Os nomes de bucket não podem terminar com o sufixo .mrap. Esse sufixo é reservado para nomes de ponto de acesso de várias regiões. Para obter mais informações, consulte Regras para nomear pontos de acesso multirregionais do Amazon S3.

  • Os nomes de bucket não podem terminar com o sufixo --x-s3. Esse sufixo é reservado para buckets de diretório. Para obter mais informações, consulte Regras de nomenclatura de buckets de diretório.

  • Os nomes de bucket não podem terminar com o sufixo --table-s3. Esse sufixo é reservado para buckets do serviço Tabelas do S3. Para obter mais informações, consulte Regras de nomenclatura de buckets de tabela, tabelas e namespaces do Amazon S3.

  • Os nomes de bucket só podem terminar com o sufixo -an quando os buckets estão sendo criados no namespace regional da conta. Para obter mais informações, consulte Namespaces para buckets de uso geral.

  • Os buckets usados com a funcionalidade Aceleração de Transferências do Amazon S3 não podem ter pontos (.) nos nomes. Para obter mais informações sobre o Transfer Acceleration, consulte Configurar transferências de arquivos rápidas e seguras usando o Amazon S3 Transfer Acceleration.

Importante
  • Os buckets de uso geral existem em um namespace global, 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. No momento, a AWS tem quatro partições: aws (regiões padrão), aws-cn (regiões da China), aws-us-gov (AWS GovCloud (US)) e aws-eusc (European Sovereign Cloud). Depois que um bucket de uso geral é criado no namespace global compartilhado, o nome desse bucket torna-se indisponível para qualquer outra pessoa dentro da partição. Quando o proprietário de um bucket o exclui, o respectivo nome é novamente disponibilizado no namespace global para qualquer pessoa.

  • Um nome de bucket no namespace global compartilhado não pode ser usado por outra Conta da AWS na mesma partição enquanto o bucket não for excluído. Depois que você excluir um bucket no namespace global compartilhado, esteja ciente de que outra conta da Conta da AWS na mesma partição poderá usar o mesmo nome de bucket para um novo bucket e, portanto, possivelmente receber solicitações destinadas ao bucket excluído. Para evitar que isso aconteça, ou se quiser continuar a usar o mesmo nome do bucket, não exclua o bucket. Recomendamos que você esvazie o bucket e o mantenha, bloqueando quaisquer solicitações de bucket conforme necessário. Com relação a buckets não usados ativamente, recomendamos esvaziar todos o bucket de todos os objetos para minimizar os custos e, ao mesmo tempo, reter o bucket em si.

  • Recomendamos criar buckets no namespace regional da sua conta para garantir que os nomes de bucket pertençam somente à sua conta.

  • Ao criar um bucket de uso geral, você escolhe seu nome e a Região da AWS onde criá-lo. Depois de criar um bucket de uso geral, não é necessário alterar o nome nem a região.

  • Não inclua informações confidenciais no nome do bucket. O nome do bucket é visível nos URLs que apontam para os objetos no bucket.

nota

Antes de 1º de março de 2018, os buckets criados na região Leste dos EUA (Norte da Virgínia) podiam ter nomes com até 255 caracteres e incluíam letras maiúsculas e sublinhados. A partir de 1º de março de 2018, os novos buckets na região Leste dos EUA (Norte da Virgínia) devem estar em conformidade com as mesmas regras aplicadas em todas as outras regiões.

Regras de nomenclatura de namespace regional da conta

Embora existam buckets de uso geral do Amazon S3 em um namespace global compartilhado, é possível, opcionalmente, criar buckets no namespace regional de uma conta. O namespace regional da conta é uma subdivisão reservada do namespace de bucket global em que somente a conta pode criar buckets de uso geral. Os novos buckets de uso geral criados no namespace regional da conta são exclusivos da conta e nunca podem ser recriados por outra conta. Eles comportam todos os recursos do S3 e serviços da AWS que os buckets de uso geral no namespace global compartilhado já comportam. Suas aplicações não precisam de alterações para interagir com os buckets no namespace regional da sua conta.

Os buckets de uso geral no namespace regional da conta devem seguir uma convenção de nomenclatura específica. Esses buckets consistem em um prefixo de nome de bucket criado por você e em um sufixo que contém o ID de 12 dígitos da Conta da AWS e o código da Região da AWS e termina com -an.

bucket-name-prefix-accountId-region-an

Por exemplo, o seguinte bucket de uso geral existe no namespace regional da Conta da AWS 111122223333 na região us-west-2:

amzn-s3-demo-bucket-111122223333-us-west-2-an

Para criar um bucket no namespace regional da conta, faça uma solicitação CreateBucket e especifique o cabeçalho da solicitação x-amz-bucket-namespace com o valor definido como account-regional e o namespace regional da conta com o nome do bucket formatado: customer-chosen-name-AWS-Account-ID-AWS-Region-an. Por exemplo, é possível especificar a criação de um bucket chamado amzn-s3-demo-bucket-111122223333-us-east-1-an, em que o sufixo regional da conta é -111122223333-us-east-1-an. Para ter mais informações sobre os namespaces regionais da conta, consulte Namespaces para buckets de uso geral.

Exemplos de nomes de buckets de uso geral

Os nomes de bucket a seguir mostram exemplos de quais caracteres são permitidos em nomes de bucket de uso geral: a–z, 0–9 e hifens (-). O prefixo reservado amzn-s3-demo- é usado aqui somente para fins ilustrativos. Como é um prefixo reservado, não é possível criar nomes de bucket que comecem com amzn-s3-demo-.

  • amzn-s3-demo-bucket1-a1b2c3d4-5678-90ab-cdef-example11111

  • amzn-s3-demo-bucket

Os exemplos a seguir mostram nomes de bucket no namespace regional da conta. Esses buckets devem seguir a convenção de nomenclatura de namespace regional específica da conta: customer-chosen-name-AWS-Account-ID-AWS-Region-an.

  • amzn-s3-demo-bucket-111122223333-us-west-2-an

  • amzn-s3-demo-bucket-012345678910-ap-southeast-2-an

Os exemplos de nomes de bucket a seguir são válidos, mas não recomendados para usos que não sejam hospedagem de sites estáticos porque contêm pontos (.):

  • example.com

  • www.example.com

  • my.example.s3.bucket

Os nomes de buckets de exemplo a seguir não são válidos:

  • amzn_s3_demo_bucket (contém sublinhados)

  • AmznS3DemoBucket (contém letras maiúsculas)

  • amzn-s3-demo-bucket- (começa com o prefixo amzn-s3-demo- e termina com um hífen)

  • example..com (contém dois pontos consecutivos)

  • 192.168.5.4 (corresponde ao formato de um endereço IP)

Práticas recomendadas

Ao nomear buckets de uso geral, considere as práticas recomendadas de nomenclatura de buckets a seguir.

Criar buckets no namespace regional da conta

Recomendamos criar buckets no namespace regional da sua conta para garantir que os nomes de bucket pertençam somente à sua conta. Com namespaces regionais de conta, você pode criar nomes de bucket previsíveis em várias Regiões da AWS com a garantia de que nenhuma outra conta possa criar nomes de bucket em seu namespace.

Escolha um esquema de nomenclatura de bucket que não seja suscetível a causar conflitos de nomenclatura

Se a sua aplicação cria buckets automaticamente, escolha um esquema de nomenclatura de bucket que não seja suscetível a causar conflitos de nomenclatura. Certifique-se de que a lógica do seu aplicativo escolha um nome de bucket diferente, caso um nome de bucket já esteja em uso.

Anexe identificadores únicos universais (GUIDs) aos nomes de bucket

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 bucket 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. Para obter mais informações, consulte Criar um bucket que usa um GUID no nome.

Evite usar pontos (.) em nomes de bucket

Para obter a melhor compatibilidade, recomendamos evitar o uso de pontos (.) em nomes de bucket, exceto em buckets usados apenas para hospedagem de sites estáticos. Se você incluir pontos no nome de um bucket, não poderá usar o endereçamento no estilo de host virtual por HTTPS, a menos que execute a própria validação de certificado. Os certificados de segurança usados para hospedagem virtual de buckets não funcionam para buckets com pontos nos nomes.

Essa limitação não afeta os buckets usados para hospedagem de sites estáticos, pois essa hospedagem só está disponível via HTTP. Para obter mais informações sobre o endereçamento no estilo de hospedagem virtual, consulte Hospedagem virtual de buckets de uso geral. Para obter mais informações sobre hospedagem de sites estáticos, consulte Hospedagem de um site estático usando o Amazon S3.

Escolha um nome relevante

Ao nomear um bucket, recomendamos que você escolha um nome que seja relevante para você ou para sua empresa. Evite usar nomes associados a outros. Por exemplo, evite usar AWS ou Amazon no nome do bucket.

Não exclua buckets com o intuito de reutilizar os nomes de bucket

Se um bucket estiver vazio, você poderá excluí-lo. Depois de excluído, o nome do bucket fica disponível para reutilização. No entanto, não há garantia de que você poderá reutilizar o nome imediatamente ou de forma alguma. Após a exclusão de um bucket no namespace global compartilhado, a possibilidade de reutilizar o nome desse bucket pode levar algum tempo. Além disso, outra Conta da AWS pode criar um bucket com o mesmo nome antes que você consiga reutilizar o nome.

Depois que você excluir um bucket de uso geral no namespace global compartilhado, esteja ciente de que outra Conta da AWS na mesma partição poderá usar o mesmo nome de bucket de uso geral para um novo bucket e, portanto, possivelmente receber solicitações destinadas ao bucket excluído. Para evitar que isso aconteça, ou se quiser continuar a usar o mesmo nome do bucket de uso geral, não exclua o bucket de uso geral. Recomendamos que você esvazie o bucket e o mantenha, bloqueando quaisquer solicitações de bucket conforme necessário.

Criar um bucket que usa um GUID no nome

Os exemplos a seguir mostram como criar um bucket de uso geral que usa um GUID no final do nome.

O exemplo a seguir da AWS CLI cria um bucket de uso geral na região Oeste dos EUA (N. da Califórnia) (us-west-1) com um exemplo de nome de bucket que usa um identificador único universal (GUID). Para usar esse exemplo de comando, substitua os user input placeholders por suas próprias informações.

aws s3api create-bucket \ --bucket amzn-s3-demo-bucket1$(uuidgen | tr -d - | tr '[:upper:]' '[:lower:]' ) \ --region us-west-1 \ --create-bucket-configuration LocationConstraint=us-west-1

O exemplo a seguir mostra como criar um bucket de uso geral com um GUID no final do nome na região Leste dos EUA (Norte da Virgínia) (us-east-1) usando o AWS SDK para Java. Para usar esse exemplo, substitua os user input placeholders por suas próprias informações. Consulte mais informações sobre outros AWS SDKs em Ferramentas para criar com a AWS.

import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.Bucket; import com.amazonaws.services.s3.model.CreateBucketRequest; import java.util.List; import java.util.UUID; public class CreateBucketWithUUID { public static void main(String[] args) { final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).build(); String bucketName = "amzn-s3-demo-bucket" + UUID.randomUUID().toString().replace("-", ""); CreateBucketRequest createRequest = new CreateBucketRequest(bucketName); System.out.println(bucketName); s3.createBucket(createRequest); } }

Criar um bucket no namespace regional da conta

Os exemplos a seguir mostram como criar um bucket de uso geral no namespace regional da conta.

O exemplo da AWS CLI a seguir da cria um bucket de uso geral no namespace regional para a Conta da AWS 012345678910 na região Oeste dos EUA (N. da Califórnia) (us-west-1). Para usar esse exemplo de comando, substitua os user input placeholders por suas próprias informações.

aws s3api create-bucket \ --bucket amzn-s3-demo-bucket-012345678910-us-west-1-an \ --bucket-namespace account-regional --region us-west-1 \ --create-bucket-configuration LocationConstraint=us-west-1