Patrones de bucket comunes para crear aplicaciones en Amazon S3 - Amazon Simple Storage Service

Patrones de bucket comunes para crear aplicaciones en Amazon S3

Al crear aplicaciones en Amazon S3, puede usar buckets de uso general únicos para separar diferentes conjuntos de datos o cargas de trabajo. Cuando cree aplicaciones para usuarios finales o grupos de usuarios diferentes, utilice nuestras prácticas recomendadas sobre patrones de diseño para crear aplicaciones que puedan aprovechar mejor las características y la escalabilidad de Amazon S3.

importante

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 del bucket, por ejemplo, amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. Para obtener más información sobre las reglas de nomenclatura de buckets de uso general, consulte Reglas de nomenclatura de buckets de uso general.

Patrón de bucket de varios inquilinos

Con los buckets de varios inquilinos, se crea un único bucket para un equipo o una carga de trabajo. Utilice prefijos de S3 únicos para organizar los objetos que almacene en el bucket. Un prefijo es una cadena de caracteres al principio del nombre de la clave de objeto. Los prefijos pueden tener cualquier longitud, dentro de la longitud máxima permitida para los nombres de la clave de objeto (1024 bytes). Puede considerar los prefijos como una forma de organizar los datos similar a los directorios. No obstante, los prefijos no son directorios.

Por ejemplo, para información sobre ciudades, podría organizarla por continente, país y provincia o estado. Dado que estos nombres no suelen contener puntuación, podría usar la barra inclinada (/) como delimitador. En los siguientes ejemplos, se muestran los prefijos que se utilizan para organizar los nombres de ciudad por continente, país y, después, por provincia o estado, mediante un delimitador de barra diagonal (/).

  • Europa/Francia/Nueva Aquitania/Burdeos

  • Norteamérica/Canadá/Quebec/Montreal

  • Norteamérica/EE. UU./Washintgon/Bellevue

  • Norteamérica/EE. UU./Washintgon/Seattle

Este patrón se escala bien cuando hay cientos de conjuntos de datos únicos en un bucket. Con los prefijos, puede organizar y agrupar fácilmente estos conjuntos de datos.

Sin embargo, una posible desventaja del patrón de bucket de varios inquilinos es que muchas características de nivel de bucket de S3, como el cifrado de bucket predeterminado, el control de versiones de S3 y los pagos por solicitante de S3, se configuran en el nivel de bucket y no en el de prefijo. Si los diferentes conjuntos de datos del bucket de varios inquilinos tienen requisitos únicos, el hecho de que no pueda configurar muchas características de nivel de bucket de S3 en el nivel de prefijo puede dificultar la especificación de la configuración correcta para cada conjunto de datos. Además, en un bucket de varios inquilinos, la asignación de costos puede resultar compleja a medida que se trabaja para comprender el almacenamiento, las solicitudes y la transferencia de datos asociados a prefijos específicos.

Patrón de bucket por uso

Con el patrón de bucket por uso, se crea un bucket para cada conjunto de datos, usuario final o equipo distinto. Como puede configurar las características de nivel de bucket de S3 para cada uno de estos buckets, puede usar este patrón a fin de configurar opciones únicas de nivel de bucket. Por ejemplo, puede configurar características como el cifrado de bucket predeterminado, el control de versiones de S3 y los pagos de solicitante de S3 de forma que se personalicen según el conjunto de datos de cada bucket. El uso de un bucket para cada conjunto de datos, usuario final o equipo distinto también puede ayudarlo a simplificar las estrategias de administración de acceso y de asignación de costos.

Un posible inconveniente de esta estrategia es que posiblemente tendrá que administrar miles de buckets. Todas las Cuentas de AWS tienen una cuota de buckets predeterminada de 10 000 buckets de uso general. Puede aumentar la cuota de buckets de una cuenta si envía una solicitud de aumento de cuota. Para solicitar un aumento de los buckets de uso general, visite la consola de Service Quotas.

Para administrar el patrón de buckets por uso y simplificar la administración de la infraestructura, puede utilizar AWS CloudFormation. Puede crear una plantilla de AWS CloudFormation personalizada para el patrón que defina todos los ajustes que desee para los buckets de S3, de forma que pueda implementar y realizar un seguimiento de los cambios en la infraestructura con facilidad. Para obtener más información, consulte AWS::S3::Bucket en la Guía del usuario de AWS CloudFormation.

Diagrama que muestra cómo crear una plantilla de AWS CloudFormation personalizada para la aplicación que define la configuración de los buckets de S3.