Amazon Simple Storage Service
Guía del desarrollador (Versión de API 2006-03-01)

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 UE (Irlanda) o UE (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 UE (Irlanda) permanecen siempre en ella.

Creación de 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.

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 para la nomenclatura de buckets.

En un bucket, puede almacenar la cantidad de objetos que desee.

Puede crear un bucket con cualquiera de los siguientes métodos:

  • Mediante la consola

  • Mediante programación, con los SDK de AWS

    nota

    Si lo necesita, también puede realizar las llamadas a la API REST de Amazon S3 directamente desde su código. Sin embargo, esto 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.

    Si usa los SDK de AWS, primero crea un cliente y luego usa el cliente para enviar una solicitud de crear un bucket.  Cuando cree el cliente, puede especificar una región de AWS. US East (N. Virginia) es la región predeterminada. Tenga en cuenta lo siguiente:

    • Si usted especifica la región US East (N. Virginia) para crear un cliente, el cliente usa el siguiente punto de enlace para comunicarse con Amazon S3:

      s3.amazonaws.com

      nota

      • Puede usar este cliente para crear un bucket en cualquier región de AWS lanzada hasta el 20 de marzo de 2019. Para crear un bucket en las regiones que se lanzaron después del 20 de marzo de 2019, debe crear un cliente específico para la región en la que desea crear el bucket. Para obtener más información sobre cómo habilitar y deshabilitar una región de AWS, consulte Regiones y puntos de enlace de AWS en la AWS General Reference.

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

      En la solicitud de creación de buckets:

      • Si no especifica una región, Amazon S3 crea el bucket en la región US East (N. Virginia).

      • Si especifica una región de AWS, Amazon S3 crea el bucket en la región especificada.

    • Si especifica cualquier otra región de AWS para crear un cliente, cada una de estas regiones se asigna al punto de enlace específico de la región:

      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

      En este caso, puede usar el cliente para crear un bucket solo en la región eu-west-1. Amazon S3 devolverá un error si especifica cualquier otra región en su solicitud para crear un bucket.

    • Si crea un cliente para obtener acceso a un punto de enlace de doble stack, debe especificar una región de AWS. Para obtener más información, consulte Puntos de enlace de doble pila.

    Para ver una lista de las regiones de AWS disponibles, consulte Regiones y puntos de enlace en la AWS General Reference.

Para ver ejemplos, consulte Ejemplos de creación de buckets.

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 Alojamiento de 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 Uso de Amazon S3 Block Public Access.

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.

  • En una URL de tipo alojamiento virtual, el nombre del bucket forma parte del nombre del dominio en la URL. Por ejemplo:  

    • http://bucket.s3-aws-region.amazonaws.com

    • http://bucket.s3.amazonaws.com

      nota

      No es posible tener acceso a los buckets creados en las regiones lanzadas después del 20 de marzo de 2019 a través del esquema de nomenclatura https://bucket.s3.amazonaws.com.

    En una URL de tipo alojamiento virtual, puede usar cualquiera de estos puntos de enlace. Si hace una solicitud al punto de enlace http://bucket.s3.amazonaws.com, el Domain Name System (DNS, Sistema de nombres de dominio) tiene información suficiente para direccionar su solicitud directamente a la región donde reside su bucket.

    Para obtener más información, consulte Alojamiento virtual de buckets.

     

  • En una URL de tipo ruta, el nombre del bucket no forma parte del dominio. Por ejemplo:

    • Punto de enlace específico de la región, http://s3-aws-region.amazonaws.com/bucket

    • Punto de enlace de la región EE. UU. Este (Norte de Virginia), http://s3.amazonaws.com/bucket

    En un URL de tipo ruta, el punto de enlace que usa debe coincidir con la región en la que reside el bucket. Por ejemplo, si su bucket está en la región América del Sur (São Paulo), debe usar el punto de enlace http://s3.sa-east-1.amazonaws.com/bucket. Si su bucket está en la región EE. UU. Este (Norte de Virginia), debe usar el punto de enlace http://s3.amazonaws.com/bucket.

importante

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.

Acceso a un bucket de S3 mediante el 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 Realización de solicitudes mediante IPv6.

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. Es decir, puede usar la API de Amazon S3 para crear y administrar estos subrecursos. 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 Configuración de 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 el bloqueo de objetos de Amazon S3, 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 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 de uso para 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 Uso del 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