View a markdown version of this page

Uso de archivos de Amazon S3 - Amazon Simple Storage Service

Uso de archivos de Amazon S3

¿Qué son los archivos de S3?

Los archivos de S3 son un sistema de archivos compartidos que conectan cualquier recurso informático de AWS directamente con los datos en Amazon S3. Proporciona un acceso rápido y directo a todos los datos de S3 en forma de archivos con una semántica completa del sistema de archivos y un rendimiento de baja latencia, sin que los datos salgan nunca de S3. Cada aplicación, agente y equipo basados en archivos pueden acceder a los datos de S3 y trabajar con ellos como un sistema de archivos mediante las herramientas de las que ya dependen. Diseñados con Amazon EFS, los archivos de S3 conceden el rendimiento y la simplicidad de un sistema de archivos con la escalabilidad, la durabilidad y la rentabilidad de S3. Puede leer, escribir y organizar los datos mediante operaciones de archivos y directorios, mientras que los archivos de S3 administran la sincronización de los cambios entre el bucket y el sistema de archivos.

¿Cómo funcionan los archivos de S3?

Cuando crea un sistema de archivos de S3 vinculado al bucket de S3 o a un prefijo incluido en él y lo monta en un recurso informático, como una instancia de EC2 o una función de Lambda, los archivos de S3 presentan primero una vista transitable de los objetos del bucket como archivos. A medida que navega por los directorios y abre los archivos, los metadatos y el contenido asociados se colocan en el almacenamiento de alto rendimiento del sistema de archivos. Al leer archivos, los archivos de S3 cargan el contenido de los archivos en el almacenamiento de alto rendimiento bajo demanda sin duplicar todo el conjunto de datos. Cuando escribe datos, las escrituras van al almacenamiento de alto rendimiento y se sincronizan de nuevo con el bucket de S3. Los archivos de S3 traducen de forma inteligente las operaciones del sistema de archivos en solicitudes de S3 eficientes en su nombre. Muchas operaciones de lectura eluden por completo el sistema de archivos y los datos se envían directamente desde S3.

Puede configurar el límite de tamaño del archivo para lo que se cargue en el almacenamiento de alto rendimiento (128 KB de forma predeterminada), ya que las latencias son las más importantes en el caso de los archivos pequeños. Los datos que no cumplen con este umbral se leen directamente desde S3. Para lecturas de 128 KB o más en datos que ya se han sincronizado con S3, los archivos de S3 se transmiten directamente desde S3, incluso si los datos residen en un almacenamiento de alto rendimiento, ya que S3 está optimizado para un alto rendimiento, mientras que la capa de almacenamiento de alto rendimiento del sistema de archivos está optimizada para el acceso a archivos pequeños de baja latencia. Los datos modificados recientemente que aún no se han sincronizado con S3 siempre se envían desde el sistema de archivos. Para obtener más información, consulte Personalización de la sincronización de archivos de S3.

Los datos que no se hayan leído en un periodo configurable (de 1 a 365 días, 30 de forma predeterminada) caducan automáticamente del almacenamiento de alto rendimiento. Los datos autorizados siempre permanecen en S3 y la sincronización en segundo plano mantiene la coherencia entre el sistema de archivos y el bucket en ambas direcciones. Para obtener más información, consulte Descripción de cómo funciona la sincronización.

Los servicios informáticos compatibles para montar los sistemas de archivos de S3 son Amazon EC2, AWS Lambda, Amazon EKS y Amazon ECS. Para obtener más información, consulte Montaje de los buckets de S3 en recursos informáticos.

Diagrama que muestra el flujo de datos entre un bucket de S3, un sistema de archivos de S3 y recursos informáticos.

¿Es la primera vez que usa archivos de S3?

Si es la primera vez que utiliza archivos de S3, cree su primer sistema de archivos de S3 mediante la consola de S3 o la AWS CLI siguiendo Tutorial: Introducción a archivos de S3.

Conceptos clave

Los siguientes términos se utilizan en toda la documentación de los archivos de S3:

Sistema de archivos

Un sistema de archivos compartido vinculado al bucket de S3.

Almacenamiento de alto rendimiento

Capa de almacenamiento de baja latencia del sistema de archivos en la que residen los datos y metadatos de los archivos que se utilizan activamente. Los archivos de S3 administran automáticamente este almacenamiento, se copian los datos en él cuando se accede a los archivos y se eliminan los datos que no se han leído dentro de un plazo de caducidad configurable. Paga una tarifa de almacenamiento por residencia de datos en el almacenamiento de alto rendimiento.

Sincronización

El proceso mediante el cual los archivos de S3 mantienen la coherencia entre el sistema de archivos y el bucket de S3, el conjunto de datos de trabajo activo y los cambios. Al importar, se copian los datos del bucket de S3 al sistema de archivos. La exportación copia los cambios que realiza a través del sistema de archivos al bucket de S3. Los archivos de S3 realizan la sincronización automáticamente en ambas direcciones.

Destino de montaje

Un destino de montaje proporciona acceso de red al sistema de archivos dentro de una única zona de disponibilidad en la VPC. Necesita al menos un destino de montaje para acceder al sistema de archivos desde los recursos informáticos y puede crear un máximo de un destino de montaje por zona de disponibilidad.

Punto de acceso

Los puntos de acceso son puntos de entrada específicos de la aplicación a un sistema de archivos que simplifican la administración del acceso de los datos a escala para conjuntos de datos compartidos. Puede utilizar puntos de acceso para aplicar identidades y permisos del usuario para todas las solicitudes del sistema de archivos realizadas a través del punto de acceso. Al crear un sistema de archivos mediante la consola de administración de AWS, los archivos de S3 crean automáticamente un punto de acceso para el sistema de archivos.

Características

Alto rendimiento sin replicación completa de los datos

Los archivos de S3 ofrecen acceso a los archivos con baja latencia al copiar solo el conjunto de trabajo activo en el almacenamiento de alto rendimiento del sistema de archivos, no todo el conjunto de datos. Los archivos pequeños a los que se accede con frecuencia se almacenan desde el almacenamiento de alto rendimiento con latencias inferiores a milisegundos o milisegundos de un solo dígito. Las lecturas de gran tamaño se transmiten directamente desde S3 a una velocidad de procesamiento total de hasta terabytes por segundo. Esto significa que obtiene el rendimiento del sistema de archivos para las cargas de trabajo interactivas y el rendimiento de S3 para las cargas de trabajo en streaming, sin tener que pagar por almacenar o importar datos que no utiliza o que no se benefician de una baja latencia. Para obtener más información, consulte Especificaciones de rendimiento.

Enrutamiento de lectura inteligente

Los archivos de S3 enrutan automáticamente las solicitudes de lectura a la capa de almacenamiento (sistema de archivos de S3 o bucket de S3) que mejor se adapte a ellas, al tiempo que mantiene la semántica completa del sistema de archivos, incluida la coherencia, el bloqueo y los permisos POSIX. El almacenamiento de alto rendimiento permite realizar pequeñas lecturas aleatorias de los archivos que se utilizan de forma activa para reducir la latencia. Las lecturas secuenciales de gran tamaño y las lecturas de datos que no se encuentran en el sistema de archivos se envían directamente desde el bucket de S3 para lograr un alto rendimiento y sin costo alguno de los datos del sistema de archivos.

Sincronización automática

Los archivos de S3 mantienen automáticamente la coherencia entre el sistema de archivos y el bucket de S3 en ambas direcciones. Los cambios que realice a través del sistema de archivos se copiarán de nuevo en el bucket de S3 y los cambios que se realicen directamente en el bucket de S3 se reflejarán en la vista del sistema de archivos. Puede personalizar el comportamiento de sincronización, incluidos los datos que se importan y el tiempo que permanecen en el sistema de archivos. Para obtener más información, consulte Descripción de cómo funciona la sincronización.

Rendimiento escalable

Los archivos de S3 escalan automáticamente el rendimiento y las IOPS para adaptarse a la actividad de la carga de trabajo. No es necesario aprovisionar ni administrar la capacidad de rendimiento y solo se paga por lo que se usa.

Durabilidad regional

Los datos escritos en la capa de almacenamiento de alto rendimiento tienen la misma durabilidad que Amazon S3. Almacena los datos de forma redundante en varias zonas de disponibilidad separadas geográficamente dentro de la misma región de AWS, lo que proporciona alta durabilidad y disponibilidad de los datos.

Cifrado

Los archivos de S3 cifran todos los datos en tránsito mediante TLS y todos los datos en reposo mediante claves de AWS KMS. Puede usar claves propiedad de AWS (de forma predeterminada) o sus propias claves administradas por el cliente. Para obtener más información, consulte Cifrado.

Semántica del sistema de archivos

Los archivos de S3 admiten la versión de NFS 4.2 y los protocolos 4.1. Proporciona la semántica de file-system-access, como la coherencia de datos de read-after-write, el bloqueo de archivos y los permisos POSIX.

¿Cómo se facturan los archivos de S3?

Paga una tarifa de almacenamiento por la fracción de datos activos que residen en el almacenamiento de alto rendimiento y paga los cargos de acceso al sistema de archivos por leer y escribir en el almacenamiento de alto rendimiento del sistema de archivos. Para lecturas de 128 KB o más en datos que ya se han sincronizado con S3, los archivos de S3 se transmiten directamente desde S3, incluso si los datos residen en un almacenamiento de alto rendimiento, ya que S3 está optimizado para un alto rendimiento, mientras que la capa de almacenamiento de alto rendimiento del sistema de archivos está optimizada para el acceso a archivos pequeños de baja latencia. Estas lecturas solo conllevan el costo de las solicitudes GET estándar de S3, sin costo alguno por el acceso al sistema de archivos. Los cargos de acceso al sistema de archivos se aplican a las operaciones de sincronización: la importación de datos al sistema de archivos conlleva gastos de escritura y la exportación de los cambios a S3 conlleva gastos de lectura. Para obtener más información, consulte Cómo se miden los archivos de S3. Para conocer los precios actuales, consulte la página de precios de archivos de S3.