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.
Temas
Reglas de nomenclatura de los buckets de uso general
Las siguientes reglas de nomenclatura se aplican para buckets de uso general.
-
Los nombres de bucket deben tener entre 3 caracteres (mín.) y 63 caracteres (máx.).
-
Los nombres de bucket pueden consistir únicamente de letras minúsculas, números, puntos (
.) y guiones (-). -
Los nombres de bucket deben comenzar y terminar con una letra o un número.
-
Los nombres de bucket no deben contener dos puntos adyacentes.
-
Los nombres de bucket no deben tener el formato de una dirección IP (por ejemplo,
192.168.5.4). -
Los nombres de los buckets no deben comenzar con el prefijo
xn--. -
Los nombres de los buckets no deben comenzar con el prefijo
sthree-. -
Los nombres de los buckets no deben comenzar con el prefijo
amzn-s3-demo-. -
Los nombres de los buckets no deben terminar con el sufijo
-s3alias. Este sufijo está reservado para nombres de alias de punto de acceso. Para obtener más información, consulte Alias de punto de acceso. -
Los nombres de los buckets no deben terminar con el sufijo
--ol-s3. Este sufijo está reservado para nombres de alias de punto de acceso de Object Lambda. Para obtener más información, consulte Cómo usar un alias de estilo de bucket para su punto de acceso de Object Lambda de bucket de S3. -
Los nombres de los buckets no deben terminar con el sufijo
.mrap. Este sufijo está reservado para nombres de punto de acceso multirregionales. Para obtener más información, consulte Reglas para asignar nombres a los puntos de acceso de varias regiones de Amazon S3. -
Los nombres de los buckets no deben terminar con el sufijo
--x-s3. Este sufijo está reservado para buckets de directorio. Para obtener más información, consulte Reglas de nomenclatura de buckets de directorio. -
Los nombres de los buckets no deben terminar con el sufijo
--table-s3. Este sufijo está reservado para los buckets de Tablas de S3. Para obtener más información, consulte Reglas de nomenclatura de espacios de nombres, tablas y buckets de tablas de Amazon S3. -
Los nombres de los buckets solo pueden terminar con el sufijo
-ancuando se crean buckets en el espacio de nombres regional de su cuenta. Para obtener más información, consulte Espacios de nombres para buckets de uso general. -
Los buckets utilizados con Aceleración de transferencias de Amazon S3 no pueden tener puntos (
.) en los nombres. Para obtener más información acerca de Aceleración de transferencias, consulte Configuración de transferencias de archivos rápidas y seguras con Aceleración de transferencias de Amazon S3.
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) yaws-us-gov(AWS GovCloud (US)) yaws-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: . Por ejemplo, podría especificar la creación de un bucket con el nombre: customer-chosen-name-AWS-Account-ID-AWS-Region-an donde el sufijo regional de su cuenta es amzn-s3-demo-bucket-111122223333-us-east-1-an-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 prefijoamzn-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 por su propia información.user input placeholders
aws s3api create-bucket \ --bucketamzn-s3-demo-bucket1$(uuidgen | tr -d - | tr '[:upper:]' '[:lower:]' ) \ --regionus-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 por su propia información. Para obtener más información sobre otros SDK de AWS, consulte Herramientas para crear en AWSuser input placeholders
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 \ --bucketamzn-s3-demo-bucket-012345678910-us-west-1-an\ --bucket-namespace account-regional --regionus-west-1\ --create-bucket-configuration LocationConstraint=us-west-1