Reglas de nomenclatura de buckets de uso general - Amazon Simple Storage Service

Reglas de nomenclatura de buckets de uso general

Cuando cree un bucket de propósito general, asegúrese de tener en cuenta la longitud, los caracteres válidos, el formato y la unicidad de los nombres de bucket. En las siguientes secciones se ofrece información sobre la denominación de buckets de uso general, incluidas las reglas de denominación, las prácticas recomendadas y un ejemplo de cómo crear buckets en el espacio de nombres regional de su cuenta, así como un ejemplo de cómo crear un bucket de uso general con un nombre que incluya un identificador único global (GUID).

Para obtener información sobre los nombres de claves de objeto, consulte Creación de nombres de claves de objeto.

Para crear un bucket de propósito general, consulte Creación de un bucket de uso general.

Reglas de nomenclatura de los buckets de uso general

Las siguientes reglas de nomenclatura se aplican para buckets de uso general.

importante
  • Los buckets de uso general se encuentran en un espacio de nombres global, lo que significa que el nombre de cada bucket debe ser único en todas las Cuentas de AWS de todas las Regiones de AWS dentro de una partición. Una partición es una agrupación de regiones. AWS actualmente tiene cuatro particiones: aws (regiones estándar), aws-cn (regiones de China) y aws-us-gov (AWS GovCloud (US)) y aws-eusc (nube soberana europea). Una vez creado un bucket de uso general en el espacio de nombres global compartido, ese nombre de bucket ya no estará disponible para que nadie más lo cree dentro de la partición. Cuando el propietario de un bucket lo elimina, el nombre del bucket vuelve a estar disponible en el espacio de nombres global para que cualquiera pueda volver a crearlo.

  • El nombre de un bucket en el espacio de nombres global compartido no puede ser utilizado por otra Cuenta de AWS de la misma partición hasta que se elimine dicho bucket. Tenga en cuenta que, tras eliminar un bucket en el espacio de nombres global compartido, otra Cuenta de AWS de la misma partición puede utilizar el mismo nombre para crear un nuevo bucket y, por lo tanto, podría recibir solicitudes destinadas al bucket eliminado. Si desea evitar esto o seguir utilizando el mismo nombre de bucket, no elimine el bucket. Le recomendamos que vacíe el bucket y lo conserve y que, en su lugar, bloquee las solicitudes de bucket según sea necesario. En el caso de los buckets que ya no se utilicen activamente, recomendamos vaciar el bucket de todos los objetos para minimizar costos y retener el propio bucket.

  • Le recomendamos que cree los buckets en el espacio de nombres regional de su cuenta para garantizar que solo su cuenta pueda ser propietaria de esos nombres de bucket.

  • Cuando cree un bucket de uso general, elija el nombre y la Región de AWS donde se creará. Una vez que haya creado un bucket de uso general, no podrá modificar el nombre ni la región.

  • No incluya información confidencial en el nombre del bucket. El nombre del bucket será visible en las URL que señalan a los objetos almacenados en él.

nota

Antes del 1 de marzo de 2018, los buckets creados en la región EE. UU. Este (Norte de Virginia) podían tener nombres de hasta 255 caracteres e incluir letras mayúsculas y guiones bajos. A partir del 1 de marzo de 2018, los nuevos buckets de EE. UU. Este (Norte de Virginia) deben ajustarse a las mismas reglas aplicadas en todas las demás regiones.

Reglas de nomenclatura del espacio de nombres regional de la cuenta

Aunque los buckets de uso general de Amazon S3 se encuentran en un espacio de nombres global compartido, puede, si lo desea, crear buckets en el espacio de nombres regional de su cuenta. El espacio de nombres regional de la cuenta es una subdivisión reservada del espacio de nombres global de los buckets, en la que solo su cuenta puede crear buckets de uso general. Los nuevos buckets de uso general creados en el espacio de nombres regional de su cuenta son exclusivos de su cuenta y nunca podrán ser recreados por otra cuenta. Estos buckets son compatibles con todas las características de S3 y los servicios de AWS que ya admiten los buckets de uso general del espacio de nombres global compartido; por lo tanto, no es necesario realizar ningún cambio en sus aplicaciones para interactuar con los buckets del espacio de nombres regional de su cuenta.

Los buckets de uso general del espacio de nombres regional de su cuenta deben seguir una convención de nomenclatura específica. Estos buckets se componen de un prefijo de nombre de bucket que usted crea y un sufijo que contiene su ID de cuenta de Cuenta de AWS de 12 dígitos, el código de Región de AWS y termina en -an.

bucket-name-prefix-accountId-region-an

Por ejemplo, en el espacio de nombres regional de la Cuenta de AWS 111122223333 de la región us-west-2, existe el siguiente bucket de uso general:

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

Para crear un bucket en el espacio de nombres regional de su cuenta, debe realizar una solicitud CreateBucket y especificar el encabezado de solicitud x-amz-bucket-namespace con el valor establecido en account-regional, además de indicar un nombre de bucket con el formato del espacio de nombres regional de la cuenta: customer-chosen-name-AWS-Account-ID-AWS-Region-an. Por ejemplo, podría especificar la creación de un bucket con el nombre: amzn-s3-demo-bucket-111122223333-us-east-1-an donde el sufijo regional de su cuenta es -111122223333-us-east-1-an. Para obtener más información sobre los espacios de nombres regionales de las cuentas, consulte Espacios de nombres para buckets de uso general.

Nombres de buckets de uso general de ejemplo

Los siguientes nombres de bucket muestran ejemplos de los caracteres permitidos en los nombres de bucket de uso general: a-z, 0-9 y guiones (-). El prefijo reservado amzn-s3-demo- se utiliza aquí solo a modo de ejemplo. Debido a que es un prefijo reservado, no puede crear nombres de bucket que comiencen por amzn-s3-demo-.

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

  • amzn-s3-demo-bucket

En los siguientes ejemplos, se muestran los nombres de bucket en el espacio de nombres regional de su cuenta. Estos buckets deben cumplir con la convención de nomenclatura específica del espacio de nombres regional de la cuenta: 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

Los nombres de bucket de ejemplo siguientes son válidos, pero no se recomiendan para usos distintos del alojamiento estático de sitios web porque contienen puntos (.):

  • example.com

  • www.example.com

  • my.example.s3.bucket

Los nombres de bucket de ejemplo siguientes no son válidos:

  • amzn_s3_demo_bucket (contiene guiones bajos)

  • AmznS3DemoBucket (contiene letras mayúsculas)

  • amzn-s3-demo-bucket- (comienza con el prefijo amzn-s3-demo- y termina con un guion)

  • example..com (contiene dos puntos seguidos)

  • 192.168.5.4 (coincide con el formato de una dirección IP)

Prácticas recomendadas

Cuando asigne un nombre a los buckets de uso general, tenga en cuenta las siguientes prácticas recomendadas de nomenclatura de buckets.

Creación de buckets en el espacio de nombres regional de su cuenta

Le recomendamos que cree los buckets en el espacio de nombres regional de su cuenta para garantizar que solo su cuenta pueda ser propietaria de esos nombres de bucket. Con los espacios de nombres regionales de las cuentas, puede crear nombres de bucket predecibles en varias Regiones de AWS con la garantía de que ninguna otra cuenta podrá crear nombres de bucket en su espacio de nombres.

Elección de un esquema de nomenclatura de buckets que sea poco probable que ocasione conflictos de nomenclatura

Si la aplicación crea buckets automáticamente, elija un esquema de nomenclatura de buckets que sea poco probable que ocasione conflictos de nomenclatura. Asegúrese de que la lógica de su aplicación elija un nombre de bucket diferente si un nombre de bucket ya ha sido usado.

Incorporación de identificadores únicos globales (GUID) a los nombres de bucket

Le recomendamos que cree nombres de bucket que no sean predecibles. No escriba código con la suposición de que el nombre de bucket elegido esté disponible, a menos que ya haya creado el bucket. Un método para crear nombres de bucket que no sean predecibles consiste en adjuntar un identificador único global (GUID) al nombre de bucket, por ejemplo, amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-example11111. Para obtener más información, consulte Creación de un bucket que utilice un GUID en el nombre del bucket.

Evitación del uso de puntos (.) en los nombres de bucket

Para obtener una mejor compatibilidad, se recomienda evitar el uso de puntos (.) en los nombres de bucket, excepto para los buckets que se utilizan únicamente para el alojamiento estático de sitios web. Si incluye puntos en el nombre de un bucket, no puede usar direccionamiento de estilo host virtual a través de HTTPS, a menos que realice una validación de certificado propia. Los certificados de seguridad utilizados para el alojamiento virtual de los buckets no funcionan para los buckets con puntos en el nombre.

Esta limitación no afecta a los buckets utilizados para el alojamiento de sitios web estáticos, ya que el alojamiento de sitios web estáticos solo está disponible a través de HTTP. Para obtener más información acerca del direccionamiento de tipo de host virtual, consulte Alojamiento virtual de buckets de uso general. Para obtener más información sobre el alojamiento estático de sitios web, consulte Alojamiento de un sitio web estático mediante Amazon S3.

Elección de un nombre pertinente

Al asignar un nombre a un bucket, elija uno que sea pertinente para usted o la empresa. Evite el uso de nombres asociados con otros. Por ejemplo, evite el uso de AWS o Amazon en el nombre de bucket.

No elimine buckets para poder reutilizar nombres de bucket

Si un bucket está vacío, puede eliminarlo. Después de eliminar un bucket, el nombre vuelve a estar disponible para su reutilización. No obstante, no se garantiza que pueda reutilizar el nombre de inmediato o en absoluto. Una vez que haya eliminado un bucket del espacio de nombres global compartido, es posible que transcurra algún tiempo antes de que pueda volver a utilizar ese nombre. Además, otra Cuenta de AWS podría crear un bucket con el mismo nombre antes de que pueda reutilizarlo.

Tenga en cuenta que, tras eliminar un bucket de uso general en el espacio de nombres global compartido, otra Cuenta de AWS de la misma partición puede utilizar el mismo nombre de bucket de uso general para crear un nuevo bucket y, por lo tanto, podría recibir solicitudes destinadas al bucket de uso general eliminado. Si desea evitar esto o seguir utilizando el mismo nombre de bucket de uso general, no elimine el bucket de uso general. Le recomendamos que vacíe el bucket y lo conserve y que, en su lugar, bloquee las solicitudes de bucket según sea necesario.

Creación de un bucket que utilice un GUID en el nombre del bucket

Los siguientes ejemplos muestran cómo crear un bucket de uso general que utilice un GUID al final del nombre del bucket.

En el siguiente ejemplo de la AWS CLI se crea un bucket de uso general en la región Oeste de EE. UU. (Norte de California) (us-west-1) con un nombre de bucket de ejemplo que utiliza un identificador único global (GUID). Para utilizar este comando de ejemplo, sustituya user input placeholders por su propia información.

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

En el siguiente ejemplo se muestra cómo crear un bucket con un GUID al final del nombre de bucket en la región Este de EE. UU. (Norte de Virginia) (us-east-1) mediante AWS SDK para Java. Para utilizar este ejemplo, sustituya user input placeholders por su propia información. Para obtener más información sobre otros SDK de AWS, consulte Herramientas para crear en 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); } }

Creación de un bucket en el espacio de nombres regional de su cuenta

En los siguientes ejemplos se muestra cómo crear un bucket de uso general en el espacio de nombres regional de su cuenta.

En el siguiente ejemplo de la AWS CLI se crea un bucket de uso general en el espacio de nombres regional de la Cuenta de AWS 012345678910, en la región Oeste de EE. UU. (Norte de California) (us-west-1). Para utilizar este comando de ejemplo, sustituya user input placeholders por su propia información.

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