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 proporciona información sobre la nomenclatura de buckets de uso general, incluidas las reglas de nomenclatura, las prácticas recomendadas y un ejemplo para 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 Crear un bucket.

Reglas de nomenclatura de los buckets de uso general

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

importante
  • Los nombres de bucket deben ser únicos en todas las Cuentas de AWS de todas las Regiones de AWS de una partición. Una partición es una agrupación de regiones. AWS actualmente tiene tres particiones: aws (regiones comerciales), aws-cn (regiones de China) y aws-us-gov (regiones de AWS GovCloud (US)).

  • Otra Cuenta de AWS de la misma partición no puede utilizar el mismo nombre de bucket hasta que se elimine el bucket. Después de eliminar un bucket, tenga en cuenta que otra Cuenta de AWS en la misma partición puede utilizar el mismo nombre de bucket para un nuevo bucket y, por lo tanto, puede recibir potencialmente 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.

  • 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.

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

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, tenga en cuenta las siguientes prácticas recomendadas de nomenclatura de buckets.

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. 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. Después de eliminar un bucket, puede pasar algún tiempo antes de que pueda volver a utilizar el nombre. Además, otra Cuenta de AWS podría crear un bucket con el mismo nombre antes de que pueda reutilizarlo.

Después de eliminar un bucket, tenga en cuenta que otra Cuenta de AWS en la misma partición puede utilizar el mismo nombre de bucket para un nuevo bucket y, por lo tanto, puede recibir potencialmente 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.

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 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 demuestra 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, reemplace los user input placeholders con 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); } }