Skip to content

Simple Storage Service (S3)

Amazon S3 es uno de los servicios más longevos y más utilizados dentro de AWS, sirve para almacenar cualquier cantidad de objetos(data) dentro de él. Es un servicio altamente escalable, confiable y rápido.

Los usos de este servicio suelen ser muy variados, desde almacenamiento para logs, imágenes, backups o uno de los más destacados que puede ser usado para almacenar páginas web estáticas. Dentro de este servicio la data almacenada se les llama Objetos y están almacenada dentro de contenedores llamados BUCKETS, al momento de crear un BUCKET su nombre debe ser único de forma global no puede existir un BUCKET con el mismo nombre dentro de tu cuenta ni en la de alguien más, debido a que cuando un BUCKET es creado se le crea un DNS de la siguiente forma: https://NOMBREBUCKET.s3.amazonaws.com/

Aunque el servicio funciona de forma global cuando un bucket es creado se debe seleccionar la región donde se quiere crear, esto es de gran ayuda para temas de latencia, seguridad y costo por ejemplo imaginemos que toda nuestra infraestructura esta creada en la región US East-N. Virginia (us-east-1) y necesitamos crear un bucket para dicha infraestructura lo ideal seria crearlo en esta misma región debido a que el acceso será mucho más rápido en comparación si escogemos otra. Dado que los buckets son creados en una región especifica existe una característica llamada Cross-Region Replication (CRR) que permite replicar toda la data de una región a otra, perfecto para escenarios de Disaster Recovery (DR).

Este servicio no tiene costo por subir data dentro de un bucket, pero hay un costo por descargar la data almacenada en los buckets por ejemplo en la Región US east se puede descargar hasta 1GB sin ningún costo si supera este límite tiene un costo asociado de 0.09$ por cada GB S3 también tiene un costo mensual por la cantidad de data almacenada dentro del bucket.

Clases de almacenamiento en S3

Debido a que toda la data no tiene la misma importancia dentro de una organización en AWS S3 existen distintas clases de almacenamiento, que proveen distintos porcentajes de durabilidad y disponibilidad.

La durabilidad se refiere a mantener un objeto intacto y libre de eliminaciones inadvertidas o corrupción, la durabilidad representa el porcentaje el cual un objeto no se perderá en el curso de un año. Para entender cómo funciona la durabilidad consideremos los siguientes ejemplos, supongamos que tenemos almacenados 100,000,000,000 objetos con una durabilidad del 99.999999999% esto significa que se puede esperar perder 1 objeto en el curso de un año (0.000000001%) distinto seria tener un almacenamiento con 99.99% de durabilidad eso sería el equivalente a esperar perder 10.000.000 objetos en un año.

Otro factor a tener en cuenta a la hora de escoger una clase de almacenamiento es la Disponibilidad, que representa el porcentaje del tiempo que un objeto está disponible para ser usado. por ejemplo, la información médica de un paciente necesita tener altos porcentajes de disponibilidad y durabilidad diferentes tipos de información tienen diferentes necesidades de disponibilidad y durabilidad por ello AWS ofrece clases de almacenamiento.

Como vemos el nivel de durabilidad y disponibilidad de un objeto depende de su clase de almacenamiento y S3 ofrece 6 clases de almacenamiento cada uno con precios diferentes.

Clases de almacenamiento en AWS S3

Cuando vamos a decidir qué tipo de almacenamiento queremos escoger es una buena práctica categorizar nuestros archivos dependiendo de qué tan frecuente vamos a acceder a ellos, explicare los distintos tipos de almacenamiento usando como referencia estas categorias.

  • Objetos de Acceso Frecuente
  • Objetos de Acceso Infrecuente
  • Objetos de Acceso mixto (Frecuente e Infrecuente)

Clase de almacenamiento para objetos de acceso Frecuente

Si se necesita acceder a los objetos de manera frecuente y con un mínimo de latencia las siguientes 2 clases son las recomendadas.

STANDARD esta es la clase de almacenamiento por defecto. Ofrece los mayores niveles de durabilidad y disponibilidad. Otra característica de esta clase de almacenamiento es que los objetos se replican en al menos 3 zonas de disponibilidad también es importante tener en cuenta que esta clase es la más costosa de todas

REDUCED_REDUNDANCY (RRS) Esta clase de almacenamiento se usa para objetos que se puedan reemplazar fácilmente, esta clase posee el nivel más bajo de durabilidad, pero tiene la misma disponibilidad que la clase STANDARD. Algo súper importante con este tipo de almacenamiento es que ahora es más costoso que el STANDARD ya que el precio del almacenamiento STANDARD fue reducido lo que quiere AWS con este movimiento es forzar a sus usuarios que usen el almacenamiento STANDARD y no así el RRS

Clase de almacenamiento para objetos de acceso Infrecuente

2 de las clases diseñadas para almacenar objetos de acceso infrecuente tienen en su nombre el sufijo IA “Infrequent Access”, este tipo de clases tiene una latencia muy baja de acceso y una alta durabilidad, pero posee el menor porcentaje de disponibilidad de todas las clases.

Estas clases están diseñadas para almacenar objetos de al menos 128KB, puedes almacenar objetos más pequeños, pero serán facturados como si su peso fuese de 128KB.

STANDARD_IA Los objetos en esta clase son almacenados en varias zonas de disponibilidad la única diferencia en comparación con la clase STANDARD es que posee 99.9% de disponibilidad y esto hace que su costo sea mucho menor.

ONEZONE_IA Los objetos que usan este tipo de clase son almacenados en una sola zona de disponibilidad lo cual le hace tener el menor porcentaje de disponibilidad solo el 99.5%, si la zona de disponibilidad se ve afectada todos los objetos quedarían inaccesibles.

GLACIER Los objetos almacenados en esta clase no pueden accesados en tiempo real esta clase es usada para almacenar data que raramente se necesita acceder, si quieres hacer backups de tu data y mantenerla guardada por años este servicio se adapta perfectamente a esa necesidad.

Clase de almacenamiento para objetos accesados frecuente e Infrecuentemente.

En estos momentos AWS ofrece una sola clase que está diseñada para ambos casos donde los objetos se necesitan acceder frecuente e infrecuentemente.

INTELLIGENT_TIERING Esta clase de almacenamiento mueve objetos entre las clases de almacenamiento automáticamente basando en el patrón de acceso, por ejemplo un objeto que no ha sido accesado por 30 días consecutivos es movido a una clase de almacenamiento de acceso infrecuente, una vez este objeto es accesado es retornado a la clase de acceso frecuente.

Como vemos escoger la forma correcta de almacenar nuestra informacion en AWS es de suma importancia ya que dependiendo del volumen de data que se vaya a almacenar los ahorros pueden ser siginificativos.

Published inAWSCloud Computing

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *