S3 - Deep Dive

Simple Storage Service

Caracterísiticas

  • Interacción con varios servicios
  • Todo es un objeto
  • Control de acceso
  • Almacenamiento redundante
  • 100 buckets por cuenta
  • Interfaz web REST
  • Región Estándar = us-east-1
  • Solo owners por defecto.

Acciones

  • Crear
  • Eliminar
  • Listar objetos
  • Consultar logs de aceso al bucket
  • Elegir región donde el bucket de S3 se generará
  • Interactar con la API

 

 

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/index-all.html

Glacier

Backup vs Archivos

  • S3 = Archivos y Glacier = Archivos
    • Tiempo de acceso
    • Availability
  • NO LO PODEMOS ANTICIPAR!!
  • Costo barato
  • Varias horas
  • No update. Borrar y subir
  • No names a los archives
  • No se puede usar la consola para ejecutar JOBS. Solo el REST API.

Como este hecho

  • Vaults contenedor de
  • Archivos u objetos
  • ID único
  • jobs = operación
  • Puede enviar notificaciones por SNS

Mostrar con crossftp!!

Storage Classes

Storage Classes

  • Standard
    • durability: 99.999999999%
    • availability: 99.99%
    • performance: baja latencia, alto throughput
    • Para: Acceso frecuente y durabilidad
    • Pero: No es el más barato

Storage Classes - 2 

  • Standard - IA
    • durability: 99.999999999%
    • availability 99.9%
    • Bajo costo en los requests
    • Performance: Igual que el Standard
    • Para: No frecuente; pero disponible
    • Pero: Menor availability

Storage Classes - 3

  • RRS - (Reduced Redundancy Storage)
    • durability: 99.99%
    • availability 99.99%
    • Bajo costo en los requests porque tiene menos storage cost.
    • Performance: Igual que el Standard
    • Para: No frecuente; y no tan disponible
    • Pero: Menor availability. No soporta fallo en 2 facilities.

A crear y subir objetos!!

VPC + S3

¿Por que?

  • Seguridad
  • Costo
  • Enrutamiento Interno en la región

 

 

¿Por que?

  • Subnet 1 = Pública
  • Subnet 2 = Acceso web

 

 

¿Que necesitamos?

  • Prefix list

 

 

aws ec2 describe-prefix-lists
  • vpce-id

 

aws ec2 describe-vpcs

¿Que necesitamos?

  • Asociar explicitamente las tablas de enrutamiento.
    • Crearemos una por subred
    • Con un gateway específico por subred
  • Crear Endpoint y asociarlo a la tabla de enrutamiento correspondiente
  • Crear el Security Group y asociarlo al endpoint:
    • Entrante Any / Saliente pl
    • Asociado a este endpoint. Activemos HTTP y HTTPS
  • Crear Instancia EC2 asociado a esa subred
  • URL:

 

https://s3-1.amazonaws.com/workshop-caba/

Seguridad

Seguridad

  • Soporte auditorías - Logs
  • Cifrado
    • SSE-(S3,C,KMS)
  • SSE = clave única por objeto
  • VPC Endpoints para inrerconexión
  • Limitación mediante VPC
  • Customización de políticas

SSE-S3

  • Una clave por objeto
  • Estas encriptadas por una unique key
  • Que es rotada
  • AES-256
  • Properties una vez subido
  • encripta en el 

A hacerlo!!

SSE-KMS 

  • Ubicación central para el manejo de la clave
  • Utiliza una clave central, del cliente para encriptar y desencriptar
  • Policies para contrar como se usan las keys
  • Rotar y desactivar keys
  • Se integra con IAM
  • Se configura en el momento de la subida haciendo:
    • Use Server Side Encryption
    • Segunda opción
    • En IAM podemos crear encryption keys

SSE-C

  • Proveemos nosotros. Total control
  • No podemos perder la key
  • No la almacena. 
    • Utiliza HMAC
    • HTTPS rquests porque provee la key
  • Solo SDK o API

Pricing

Pricing

  • Free Tier
    • 5GB
    • 20000 GET
    • 2000 PUT
    • 15GB Data Stransfer

 

  • Storage: Por Región y Clase
    • 50 TB
    • Next 450 TB
    • +500TB

Pricing

  • Request: Region y Clase
    • PUT, COPY, POST LIST
    • GET
    • DELETE
  • Storage Management: Region 
    • Inventory
    • Analytics
    • Tagging
  • Transfer: Region, Entrante Saliente

 

https://aws.amazon.com/s3/pricing/

S3 Deep Dive

By Alejandro Drabenche