Uso de buckets de Amazon S3 - Amazon Simple Storage Service

Uso de buckets de Amazon S3

Para cargar sus datos (fotos, vídeos, documentos, etc.) en Amazon S3, primero tiene que crear un bucket de S3 en una de las regiones de AWS. Luego puede cargar la cantidad de objetos que desee en el bucket.

En términos de implementación, los buckets y objetos son recursos y Amazon S3 proporciona Application Program Interfaces (API, Interfaces de programación de aplicaciones) para que pueda administrarlos. Por ejemplo, puede crear un bucket y cargar objetos con la API de Amazon S3. También puede usar la consola de Amazon S3 para realizar estas operaciones. La consola utiliza las API de Amazon S3 para enviar solicitudes a Amazon S3.

En esta sección se explica cómo trabajar con buckets. Para obtener información acerca del uso de objetos, consulte Trabajo con objetos de Amazon S3.

Un nombre de bucket de Amazon S3 es globalmente único y todas las cuentas de AWS comparten el espacio de nombres. Esto significa que, una vez que se crea un bucket, ninguna otra cuenta de AWS de ninguna otra región de AWS puede usar el nombre de ese bucket hasta que el bucket se elimina. No debe confiar en convenciones específicas de nomenclatura de buckets para propósitos de verificación de la seguridad o disponibilidad. Para conocer las directrices de nomenclatura de buckets, consulte Restricciones y limitaciones de los buckets.

Amazon S3 crea buckets en la región que usted especifique. Elija cualquier región de AWS que esté geográficamente cerca de usted para optimizar la latencia, minimizar los costos o satisfacer los requisitos reglamentarios. Por ejemplo, si vive en Europa, puede que le convenga crear los buckets en las regiones Europa (Irlanda) o Europa (Fráncfort). Para obtener una lista de las regiones de Amazon S3, consulte Regiones y puntos de enlace en la Referencia general de AWS.

nota

Los objetos que pertenecen a un bucket que se crea en una región de AWS específica permanecen siempre en ella, a menos que se transfieran de manera explícita a otra región. Por ejemplo, los objetos que están almacenados en la región Europa (Irlanda) permanecen siempre en ella.

Crear un bucket

Amazon S3 proporciona las API para crear y administrar buckets. De forma predeterminada, puede crear hasta 100 buckets en cada una de sus cuentas de AWS. Si necesita más buckets, puede presentar una solicitud de aumento del límite del servicio para aumentar el límite de buckets de la cuenta hasta un máximo de 1000 buckets. Para obtener información acerca de cómo solicitar un aumento del límite de buckets, consulte Límites de los servicios de AWS en la Referencia general de AWS. En un bucket, puede almacenar la cantidad de objetos que desee.

Cuando crea un bucket, proporciona un nombre y la región de AWS donde desea crear el bucket. Para obtener información acerca de la nomenclatura de los buckets, consulte Reglas de nomenclatura de buckets.

Puede utilizar cualquiera de los métodos enumerados a continuación para crear un bucket. Para ver ejemplos, consulte Ejemplos de creación de buckets.

Consola de Amazon S3

Puede crear un bucket utilizando la consola de Amazon S3. Para obtener más información, consulte Crear un bucket en la Guía del usuario de la consola de Amazon Simple Storage Service.

API REST

Crear un bucket mediante la API REST puede ser engorroso, porque debe escribir el código para autenticar las solicitudes. Para obtener más información, consulte la sección sobre PUT Bucket en la Amazon Simple Storage Service API Reference. En su lugar, le recomendamos que utilice la Consola de administración de AWS o los AWS SDK.

SDK de AWS

Si usa los SDK de AWS para crear un bucket, primero crea un cliente y luego usa el cliente para enviar una solicitud de creación de un bucket. Si no especifica una región al crear un cliente o un bucket, Amazon S3 utiliza US East (N. Virginia), la región predeterminada. También puede especificar una región específica. Para ver una lista de las regiones de AWS disponibles, consulte Regiones y puntos de enlace en la AWS General Reference. Para obtener más información acerca de cómo habilitar o deshabilitar una región de AWS, consulte Administración de regiones de AWS en la AWS General Reference.

Como práctica recomendada, debe crear su cliente y bucket en la misma región. Si su región se lanzó después del 20 de marzo de 2019,, su cliente y su bucket deben estar en la misma región. Sin embargo, puede utilizar un cliente en la región US East (N. Virginia) para crear un bucket en cualquier región que se haya lanzado antes del 20 de marzo de 2019. Para obtener más información, consulte Puntos de enlace heredados.

Crear un cliente

Al crear el cliente, debería especificar una región de AWS en la que crearlo. Si no especifica una región, Amazon S3 crea el cliente en US East (N. Virginia) ya que es la región predeterminada. Para crear un cliente para obtener acceso a un punto de enlace de doble pila, debe especificar una región de AWS. Para obtener más información, consulte Puntos de enlace de doble pila.

Al crear un cliente, la región se asigna al punto de enlace específico de la región. El cliente utiliza este punto de enlace para comunicarse con Amazon S3:

s3.<region>.amazonaws.com

Por ejemplo, si especifica la región eu-west-1 para crear un cliente, se asigna al siguiente punto de enlace específico de la región:

s3.eu-west-1.amazonaws.com

Crear un bucket

Si no especifica una región al crear un bucket, Amazon S3 crea el bucket en la región US East (N. Virginia). Por lo tanto, si quiere crear un bucket en una región específica, debe especificar la región al crear el bucket.

Los buckets creados después del 30 de septiembre de 2020 solo admitirán solicitudes virtuales de estilo alojado. Las solicitudes de estilo de ruta seguirán siendo compatibles para con los buckets creados en esta fecha y antes de ella. Para más información, consulte Amazon S3 Path Deprecation Plan – The Rest of the Story.

Acerca de los permisos

Puede usar las credenciales raíz de la cuenta de AWS para crear un bucket y realizar cualquier otra operación de Amazon S3. Sin embargo, AWS recomienda no usar las credenciales raíz de la cuenta de AWS para realizar solicitudes como la de creación de un bucket. En su lugar, cree un usuario de Identity and Access Management (IAM) y concédale acceso completo a dicho usuario (de forma predeterminada, los usuarios no tienen permisos). Estos usuarios se denominan usuarios administradores. Para interactuar con AWS y realizar tareas, como crear un bucket, crear usuarios y concederles permisos, puede usar las credenciales del usuario administrador, en lugar de las credenciales raíz de su cuenta.

Para obtener más información, consulte Credenciales de cuenta raíz y credenciales de usuario de IAM en la Referencia general de AWS y Prácticas recomendadas de IAM en la Guía del usuario de IAM.

La cuenta de AWS que crea un recurso se convierte en la propietaria de dicho recurso. Por ejemplo, si usted crea un usuario de IAM en su cuenta de AWS y le concede al usuario permiso para crear un bucket, el usuario puede crear un bucket. Sin embargo, el usuario no es el propietario del bucket; la cuenta de AWS a la que pertenece el usuario es la propietaria del bucket. El usuario necesita un permiso adicional del propietario del recurso para realizar otras operaciones en el bucket. Para obtener más información acerca de la administración de permisos para los recursos de Amazon S3, consulte Administración de identidad y acceso en Amazon S3.

Administración del acceso público a los buckets

El acceso público se otorga a grupos y objetos a través de listas de control de acceso (ACL), políticas de bucket o ambas. Para ayudarle a administrar el acceso público a los recursos de Amazon S3, Amazon S3 cuenta con una configuración de bloqueo de acceso público. La configuración de bloqueo de acceso público de Amazon S3 puede anular políticas de buckets y ACL para que pueda aplicar límites uniformes al acceso público a dichos recursos. Puede aplicar una configuración de bloqueo de acceso público a buckets individuales o a todos los buckets de la cuenta.

Para ayudar a garantizar que todos los buckets y objetos de Amazon S3 tienen su acceso público bloqueado, se recomienda activar los cuatro ajustes de bloqueo de acceso público de la cuenta. Estos ajustes bloquean el acceso público a todos los buckets actuales y futuros.

Antes de aplicar estos ajustes, verifique que sus aplicaciones funcionen correctamente sin acceso público. Si necesita algún nivel de acceso público a los buckets u objetos, como, por ejemplo, con el fin de alojar un sitio web estático, tal y como se describe en Alojar un sitio web estático en Amazon S3, puede personalizar los ajustes individuales para que se adapten a sus casos de uso de almacenamiento. Para obtener más información, consulte Usar Block Public Access de Amazon S3.

Acceso a un bucket

Para obtener acceso a su bucket puede usar la consola de Amazon S3. Con la User Interface (UI, Interfaz de usuario) de la consola, puede realizar prácticamente todas las operaciones en el bucket sin tener que escribir ningún código.

Si obtiene acceso a un bucket mediante programación, tenga en cuenta que Amazon S3 admite la arquitectura RESTful en la que los buckets y objetos son recursos, cada uno con un Uniform Resource Identifier (URI, Identificador uniforme de recursos) mediante el cual se identifica específicamente el recurso.

Amazon S3 admite URL tanto de tipo alojamiento virtual como de tipo ruta para obtener acceso a un bucket. Debido a que se puede obtener acceso a los buckets mediante los URL de tipo ruta y alojamiento virtual, le recomendamos crear buckets con nombres de buckets compatibles con DNS. Para obtener más información, consulte Restricciones y limitaciones de los buckets.

nota

Las solicitudes de alojamiento de tipo virtual y de tipo ruta utilizan la estructura de punto de enlace de S3 punto región (s3.Region), por ejemplo, https://my-bucket.s3.us-west-2.amazonaws.com. Sin embargo, algunas regiones más antiguas de Amazon S3 también admiten puntos de enlace de S3 guión región s3-Region, por ejemplo, https://my-bucket.s3-us-west-2.amazonaws.com. Si el bucket se encuentra en una de estas regiones, es posible que vea puntos de enlace de s3-Region en los registros de acceso al servidor o en los registros de CloudTrail: Le recomendamos que no utilice esta estructura de punto de enlace en sus solicitudes.

Acceso de tipo alojamiento virtual

En una solicitud de tipo alojamiento virtual, el nombre del bucket forma parte del nombre del dominio en la URL.

La URL de tipo alojada virtual Amazon S3 sigue el formato que se muestra a continuación.

https://bucket-name.s3.Region.amazonaws.com/key name

En este ejemplo, my-bucket es el nombre del bucket, EE.UU Oeste (Oregon) es la región y puppy.png es el nombre clave:

https://my-bucket.s3.us-west-2.amazonaws.com/puppy.png

Para obtener más información acerca de las solicitudes de tipo alojamiento virtual, consulte Solicitudes de tipo alojamiento virtual.

Acceso de tipo ruta

En Amazon S3, la URL de tipo ruta sigue el formato que se muestra a continuación.

https://s3.Region.amazonaws.com/bucket-name/key name

Por ejemplo, si crea un bucket con el nombre mybucket en la región EE.UU. Oeste (Oregón) y quiere acceder al objeto puppy.jpg en dicho bucket, puede usar la siguiente URL de tipo ruta:

https://s3.us-west-2.amazonaws.com/mybucket/puppy.jpg

Para obtener más información, consulte Solicitudes de tipo ruta.

importante

Los buckets creados después del 30 de septiembre de 2020 solo admitirán solicitudes virtuales de estilo alojado. Las solicitudes de estilo de ruta seguirán siendo compatibles para con los buckets creados en esta fecha y antes de ella. Para más información, consulte Amazon S3 Path Deprecation Plan – The Rest of the Story.

Acceder a un bucket de S3 a través de IPv6

Amazon S3 tiene un conjunto de puntos de enlace de doble pila que admite solicitudes a los buckets de S3 mediante Internet Protocol version 6 (IPv6) y mediante IPv4. Para obtener más información, consulte Realizar solicitudes mediante IPv6.

Acceder a un bucket a través de un punto de acceso de S3

Además de directamente, puede acceder a un bucket a través de un punto de acceso de S3. Para obtener más información acerca de los puntos de acceso de S3, consulte Administrar el acceso a datos con puntos de acceso de Amazon S3 .

Los puntos de acceso de S3 solo admiten el direccionamiento de tipo host virtual. Para direccionar un bucket a través de un punto de acceso, use este formato:

https://AccessPointName-AccountId.s3-accesspoint.region.amazonaws.com.
nota
  • Si el nombre del punto de acceso incluye caracteres de guion (-), incluya los guiones en la URL e inserte otro guion antes del ID de cuenta. Por ejemplo, para utilizar un punto de acceso denominado finance-docs propiedad de la cuenta 123456789012 en la región us-west-2, la dirección URL apropiada sería https://finance-docs-123456789012.s3-accesspoint.us-west-2.amazonaws.com.

  • Los puntos de acceso de S3 no admiten el acceso por HTTP, solo el acceso seguro por HTTPS.

Acceso a un bucket mediante S3://

Algunos servicios de AWS requieren especificar un bucket de Amazon S3 mediante S3://bucket. El formato correcto se muestra a continuación. Tenga en cuenta que al utilizar este formato, el nombre del bucket no incluye la región.

s3://bucket-name/key-name

Por ejemplo, utilizando el bucket de muestra descrito en la sección anterior de tipo ruta:

s3://mybucket/puppy.jpg

Opciones de configuración de buckets

Amazon S3 admite varias opciones para que configure su bucket. Por ejemplo, puede configurar su bucket para alojamiento de sitios web, añadir configuraciones para administrar el ciclo de vida de los objetos en el bucket y configurar el bucket para registrar todo el acceso al bucket. Amazon S3 admite subrecursos para que almacene y administre la información de configuración del bucket. Puede usar la API de Amazon S3 para crear y administrar estos subrecursos. Sin embargo, también puede usar la consola o los SDK de AWS.

nota

También hay configuraciones a nivel del objeto. Por ejemplo, puede configurar permisos a nivel del objeto mediante la configuración de una Access Control List (ACL, Lista de control de acceso) que sea específica para ese objeto.

Estos se denominan subrecursos porque existen en el contexto de un bucket u objeto específico. En la siguiente tabla, se muestran los subrecursos que le permiten administrar configuraciones específicas de buckets.

Subrecurso Descripción

cors (uso compartido de recursos entre orígenes)

Puede configurar su bucket para permitir solicitudes entre orígenes.

Para obtener más información, consulte la sección sobre uso compartido de recursos entre orígenes.

notificación de eventos

Puede habilitar su bucket para que le envíe notificaciones de eventos especificados de buckets.

Para obtener más información, consulte Configurar notificaciones de eventos de Amazon S3.

ciclo de vida

Puede definir reglas de ciclo de vida para los objetos de su bucket que tienen un ciclo de vida bien definido. Por ejemplo, puede definir una regla para archivar objetos un año después de su creación o para eliminar objetos 10 años después de su creación.

Para obtener más información, consulte Administración del ciclo de vida de los objetos.

location

Cuando cree un bucket, deberá especificar la región de AWS donde desea que Amazon S3 cree el bucket. Amazon S3 almacena esta información en el subrecurso ubicación y proporciona una API para que recupere esta información.

registro

El registro le permite realizar un seguimiento de las solicitudes de acceso a su bucket. Cada entrada del registro de acceso contiene detalles de la solicitud de acceso tales como el solicitante, el nombre del bucket, la hora de la solicitud, la acción solicitada, el estado de la respuesta y el código de error, si hay alguno. La información del registro de acceso puede ser útil en auditorías de acceso y seguridad. También puede ayudarle a conocer mejor su base de clientes y a entender su factura de Amazon S3.  

Para obtener más información, consulte Registro de acceso al servidor de Amazon S3.

bloqueo de objetos

Para usar S3 Bloqueo de objetos, debe habilitarlo para un bucket. De manera opcional, puede configurar un modo y un periodo de retención predeterminados para los nuevos objetos colocados en el bucket.

Para obtener más información, consulte Configuración del bucket.

política y ACL (lista de control de acceso)

Todos sus recursos (como buckets y objetos) son de carácter privado de forma predeterminada. Amazon S3 admite opciones de política y lista de control de acceso (ACL) de buckets para que conceda y administre los permisos a nivel del bucket. Amazon S3 almacena la información de los permisos en los subrecursos política y acl.

Para obtener más información, consulte Administración de identidad y acceso en Amazon S3.

replicación

La replicación consiste en la copia automática y asincrónica de los objetos de los buckets en diferentes o en las mismas regiones de AWS. Para obtener más información, consulte Replicación.

requestPayment

De forma predeterminada, la cuenta de AWS que crea el bucket (el propietario del bucket) paga las descargas realizadas desde el bucket. Mediante este subrecurso, el propietario del bucket puede especificar que se le cobre la descarga a la persona que la solicita. Amazon S3 proporciona una API para que administre este subrecurso.

Para obtener más información, consulte Los buckets de pago por solicitante.

etiquetado

Puede añadir etiquetas de asignación de costos al bucket para categorizar y seguir sus costos de AWS. Amazon S3 proporciona el subrecurso etiquetado para almacenar y administrar etiquetas en un bucket. Mediante las etiquetas que aplica a su bucket, AWS genera un informe de asignación de costos con el uso y los costos agregados por sus etiquetas.

Para obtener más información, consulte Informes de facturación y uso de los buckets de S3.

aceleración de transferencia

Transfer Acceleration permite transferir archivos de manera rápida, fácil y segura entre su cliente y un bucket de S3 a larga distancia. Transfer Acceleration aprovecha las ubicaciones de borde distribuidas globalmente de Amazon CloudFront.

Para obtener más información, consulte Aceleración de transferencia de Amazon S3.

control de versiones

EL control de versiones lo ayuda a recuperar objetos que se han sobrescrito y eliminado accidentalmente.

Recomendamos el control de versiones como práctica recomendada para recuperar objetos que se han eliminado o sobrescrito accidentalmente.

Para obtener más información, consulte Usar el control de versiones.

sitio web

Puede configurar su bucket para el alojamiento de sitios web estáticos. Amazon S3 almacena esta configuración creando un subrecurso sitio web.

Para obtener más información, consulte Alojamiento de un sitio web estático en Amazon S3