Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AWS Certified Solutions Architect v2
AWS Certified Solutions Architect v2
com
AWS Certified Solutions Architect Associate
Por Stéphane Maarek y Joan Amengual
https:// https://
links.datacumu links.datacumul
lus.com/aws- us.com/aws-
certified-sa- cert-solution-
associate- architect-pt-
https://links.datacumulus.com/
coupon
CURSO
coupon
EXÁMENES PRÁCTICOS
aws-cert-solution-architect-pt-
© Stephane Maarek & Joan Amengual coupon
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Descargo de responsabilidad: Estas diapositivas están protegidas
por derechos de autor y son estrictamente para uso personal
Amazon EC2 Amazon ECR Amazon ECS AWS Elastic AWS IAM AWS KMS Amazon
Auto Scaling
Beanstalk Lambda S3
Amazon Amazon Amazon Amazon Amazon Amazon Amazon AWS Step Functions
SES RDS Aurora DynamoDB ElastiCache SQS SNS
Amazon AWS AWS Amazon API Elastic Load Amazon Amazon Amazon
CloudWatch CloudFormation CloudTrail Gateway Balancing CloudFront Kinesis Route 53
2003: 2006:
La infraestructura de Relanzamiento
Amazon es uno de sus público con
puntos fuertes. De la idea al SQS, S3 y EC2
mercado
• https://infrastructure.aws/
https://aws.amazon.com/about-aws/global-infrastructure/
https://aws.amazon.com/cloudfront/features/
políticas {
"Effect": "Allow",
• Estas políticas definen los "Action": "elasticloadbalancing:Describe*",
"Resource": "*"
permisos de los usuarios },
{
• En AWS se aplica el "Effect": "Allow",
"Action": [
principio de mínimo "cloudwatch:ListMetrics",
Desarrolladores Operaciones
en línea
Alice
Soporte para múltiples tokens en un solo dispositivo. Soporte para múltiples usuarios root e IAM
utilizando una única clave de seguridad
Proporcionado por Gemalto (3rd party) Proporcionado por SurePassID (3rd party)
• m: clase de instancia
• 5: generación (AWS los mejora con el tiempo)
• 2xlarge: tamaño dentro de la clase de instancia
* Esta lista evolucionará con el tiempo, por favor, consulta el sitio web de AWS para obtener la información más reciente
* Esta lista evolucionará con el tiempo, por favor, consulta el sitio web de AWS para obtener la información más reciente
* Esta lista evolucionará con el tiempo, por favor, consulta el sitio web de AWS para obtener la información más reciente
* Esta lista evolucionará con el tiempo, por favor, consulta el sitio web de AWS para obtener la información más reciente
t2.micro forma parte de la capa gratuita de AWS (hasta 750 horas al mes)
https://instances.vantage.sh
Security
Group
WWW Tráfico de salida Instancia EC2
Instancia EC2
IP XX.XX.XX.XX
Grupo de seguridad 1
Instancia EC2 Grupo de
Entrada
Puerto 123 seguridad 1 Instancia EC2
IP XX.XX.XX.XX Autorización del grupo de seguridad 1 IP XX.XX.XX.XX
(adjunto)
Autorización del grupo de seguridad 2
Grupo de
Puerto 123 seguridad 3 Instancia EC2
IP XX.XX.XX.XX
(adjunto)
Mac
Linux
Windows < 10
Windows >= 10
• Windows:
• Clase sobre Putty
• Si Windows 10: Clase sobre SSH en Windows 10
• Si uno de los métodos funciona (SSH, Putty o EC2 Instance Connect) estás bien
• Si ningún método funciona, no pasa nada, el curso no utilizará mucho SSH
SSH – Puerto 22
Instancia EC2
WWW
Linux
IP pública
SSH – Puerto 22
WWW Instancia EC2
Linux
IP pública
• Útil para las cargas de trabajo que son resistentes a los fallos
• Trabajos por lotes (Batch Jobs)
• Análisis de datos
• Procesamiento de imágenes
• Cualquier carga de trabajo distribuida
• Cargas de trabajo con una hora de inicio y finalización flexible
• Útil para el software que tiene un modelo de licencia complicado (BYOL - Bring
Your Own License)
• O para empresas que tienen fuertes necesidades de regulación o cumplimiento
• Define el precio spot máximo y obtén la instancia mientras el precio spot actual sea < máximo
• El precio spot por hora varía en función de la oferta y la capacidad
• Si el precio spot actual > tu precio máximo, puedes elegir parar o terminar tu instancia con un
periodo de gracia de 2 minutos.
• Otra estrategia: Bloqueo de Spot
• "Bloquea" la instancia Spot durante un periodo de tiempo determinado (de 1 a 6 horas) sin
interrupciones
• En raras situaciones, la instancia puede ser reclamada
• Se utiliza para trabajos por lotes, análisis de datos o cargas de trabajo resistentes a los fallos
• No es ideal para trabajos críticos o bases de datos
https://console.aws.amazon.com/ec2sp/v1/spot/home?region=us-east-1#
Sólo puedes cancelar las solicitudes de Instancias Spot que estén abiertas, activas o desactivadas.
La cancelación de una Solicitud Spot no termina las instancias
Primero debes cancelar una Solicitud de Spot, y luego terminar las Instancias de Spot asociadas
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html
• Las flotas de Spot nos permiten solicitar automáticamente las Instancias de Spot con el precio más bajo
WWW
• IP privada:
• La IP privada significa que la máquina sólo puede ser identificada en una red privada
• La IP debe ser única en toda la red privada
• PERO dos redes privadas diferentes (dos empresas) pueden tener las mismas IP.
• Las máquinas se conectan a la WWW mediante un NAT + Gateway de Internet (un proxy)
• Sólo se puede utilizar un rango específico de IPs como IP privada
• Sólo puedes tener 5 Elastic IP en tu cuenta (puedes pedir a AWS que lo aumente).
• Ventajas: Gran red (10 Gbps de ancho de banda entre instancias con la red mejorada activada
- recomendada)
• Contras: Si el rack falla, todas las instancias fallan al mismo tiempo
• Caso de uso:
• Trabajo de Big Data que necesita completarse rápidamente
• Aplicación que necesita una latencia extremadamente baja y un alto rendimiento de la red
Ejecutando
RAM
Volumen EBS raíz
• Presentación de EC2 Hibernate: (Cifrado)
Empieza la
• Se conserva el estado en memoria (RAM) Hibernación
• El arranque de la instancia es mucho más rápido
(el sistema operativo no se detiene/reinicia) Apagando
• Bajo el capó: el estado de la RAM se escribe en RAM
US-EAST-1A US-EAST-1B
EBS Snapshot
AMI personalizada
US-EAST-1A US-EAST-1B
Lanzamiento
Crear AMI de AMI
• Los volúmenes EBS se caracterizan en Tamaño | Rendimiento | IOPS (I/O Ops Per Sec)
• En caso de duda, consulta siempre la documentación de AWS: ¡es buena!
• Sólo se pueden utilizar gp2/gp3 y io1/io2 como volúmenes de arranque
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#solid-state-drives
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#solid-state-drives
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#solid-state-drives
Grupo de Seguridad
EFS FileSystem
• Sistema de archivos POSIX (~Linux) que tiene una API de archivos estándar
• El sistema de archivos se escala automáticamente, paga por uso, ¡no hay que
planificar la capacidad!
EFS Standard
• Disponibilidad y durabilidad
• Estándar: Multi-AZ, ideal para prod mover Política del
ciclo de vida
• Una zona: Una AZ, genial para dev, copia de
seguridad activada por defecto, compatible con IA
(EFS One Zone-IA)
EFS IA
• Más del 90% de ahorro de costes
Amazon EFS File System
EFS
Instancia EC2
Instancia EC2
Protocolo: HTTP
Puerto: 4567
Controles de salud Endpoint: /health
• En general, se recomienda utilizar los load balancer de nueva generación, ya que ofrecen más funciones
• Algunos Load Balancer pueden configurarse como ELB internos (privados) o externos (públicos)
• Los ALB son muy adecuados para los microservicios y las aplicaciones
basadas en contenedores (ejemplo: Docker y Amazon ECS)
• Tiene una función de mapeo de puertos para redirigir a un puerto dinámico
en ECS
• En comparación, necesitaríamos varios Classic Load Balancer por aplicación
para usuarios
objetivo de la
Control de salud
aplicación
WWW Ruta /user HTTP
Grupo
Application
Load Balancer
externo (v2)
objetivo de la
aplicación de
Control de salud
búsqueda
WWW Ruta /search HTTP
Grupo
© Stephane Maarek & Joan Amengual
Application Load Balancer (v2)
Solicitudes Application
WWW Load Balancer
externo (v2)
Target Group 2 (Grupo objetivo 2)
En las instalaciones - Enrutamiento IP privado
?Platform=Desktop
Terminación de la conexión
para usuarios
objetivo de la
Control de salud
aplicación
WWW TCP + Reglas TCP
Grupo
Network Load
Balancer
externo (v2)
objetivo de la
aplicación de
Control de salud
búsqueda
WWW TCP + Reglas HTTP
Grupo
© Stephane Maarek & Joan Amengual
Network Load Balancer
Target Group (Grupo objetivo) Target Group (Grupo objetivo) Target Group (Grupo objetivo)
(Instancias EC2) (Direcciones IP) (Application Load Balancer)
Gateway Gateway
Load Balancer Load Balancer
• SSL hace referencia a Secure Sockets Layer, que se utiliza para cifrar las conexiones
• TLS se refiere a Transport Layer Security, que es una versión más reciente
• Hoy en día, se utilizan principalmente los certificados TLS, pero la gente sigue
refiriéndose a ellos como SSL
• Los certificados SSL públicos son emitidos por las Autoridades de Certificación (CA)
• Comodo, Symantec, GoDaddy, GlobalSign, Digicert, Letsencrypt, etc.
• Los certificados SSL tienen una fecha de caducidad (que tú estableces) y deben ser
renovados
….
• Los ASG son gratuitos (sólo pagas por las instancias EC2 subyacentes)
Capacidad deseada
Capacidad máxima
• Volúmenes EBS
• Grupos de seguridad
AMI Tipo de Volúmenes EBS
• Par de claves SSH Instancia
Sí
• Consejo: Utiliza una AMI lista para usar para
reducir el tiempo de configuración y así
poder servir las peticiones más rápidamente Ignorar la acción
y reducir el periodo de enfriamiento
VS
Replicación Replicación
ASYNC ASYNC
Instancia de Réplica de lectura Instancia de Réplica de lectura
la BD RDS Misma región de la instancia de la BD RDS Entre regiones de la instancia de
Gratis la BD RDS $$$ la BD RDS
Auto Scaling
Uso Uso
CPU CPU
E
L L L L
Consultas analíticas
Consultas
Cliente
Cliente
Múltiples conexiones a la base de datos (para la conmutación por error)
Replica Replica
• Truco: en una base de datos RDS parada, seguirás pagando por el almacenamiento. Si planeas
detenerla durante mucho tiempo, deberías hacer un Snapshot y restaurar en su lugar
• Snapshots manuales de la BD
• Activadas manualmente por el usuario
• Retención de la copia de seguridad durante el tiempo que quieras
Usuario
Recuperar la
ElastiCache sesión
aplicación
• El usuario accede a otra
instancia de nuestra
aplicación
• La instancia recupera los
datos y el usuario ya ha aplicación
iniciado la sesión
Replicación +
Partición
ElastiCache
para Redis 1
2
ElastiCache 3
para Redis
Clientes
Tabla de clasificación en tiempo real
ElastiCache
para Redis
.com
example.com
www.example.com
api.example.com
http://api.www.example.com. Raíz
Protocolo TLD
SLD
Subdominio
Nombre de dominio
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Cómo funciona el DNS
Servidor web
(example.com)
(IP: 9.10.11.12) Gestionado por ICANN
l e. com?
p
exam
Servidor DNS raíz
S 1.2.3.4
N
.com
example.com? example.com?
Gestionado por la IANA
9.10.11.12 (Rama de la ICANN)
TTL example.com NS 5.6.7.8
TTL
Navegador web Servidor DNS TLD
Quieres acceder a exam
Servidor DNS local p le.co (.com)
example.com exam m?
Asignado y gestionado por tu p le.co
m IP
empresa o asignado por tu ISP 9.10 Gestionado por el registrador
. 11.1
de forma dinámica 2 de dominios
(por ejemplo, Amazon
Register, Inc.)
Servidor DNS SLD
(example.com)
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Amazon Route 53
• Un DNS altamente disponible, escalable, example.com?
totalmente gestionado y autoritativo Amazon
Route 53
• Autoritario = el cliente (tú) puede Cliente
54.22.33.44
example.com?
VPC
54.22.33.44
Cliente Zona de alojamiento privado
Zona de alojamiento público
db.example.internal?
al?
ern
10.0.0.35
.int
0
ple
0.1
Instancia de la BD
am
.0.
VPC
10
(db.example.internal)
i.ex
ap
(IP privada)
• CNAME:
• Apunta un nombre de host a cualquier otro nombre de host. (app.midominio.com =>
blabla.algo.com)
• SÓLO PARA DOMINIOS NO ROOT (algo.midominio.com)
• Alias:
• Apunta un nombre de host a un recurso de AWS (app.mydomain.com => blabla.amazonaws.com)
• Funciona para DOMINIO RAÍZ y DOMINIO NO RAÍZ (mydomain.com)
• Gratis
• Comprobación de salud nativa
Application
Load Balancer
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Route 53 – Objetivos Registros con Alias
• Elastic Load Balancers
• Distribuciones CloudFront Elastic Amazon Amazon
• API Gateway Load Balancer CloudFront API Gateway
de salud elige
A 55.66.77.88
A 99.11.22.33
Amazon
un valor aleatorio Route 53
HT /hea
mayor coste)
to
TP lth
20
req
• Protocolo soportado: HTTP, HTTPS y TCP
0c
ue
• Si > 18% de los comprobadores de salud informan de
od
st
e
que el endpoint está sano, Route 53 lo considera sano.
En caso contrario, se considera no saludable. eu-west-1
Debe permitir la
• Posibilidad de elegir qué ubicaciones quieres que utilice entrada de solicitudes
Route 53 de Route 53
• Las comprobaciones de salud sólo pasan cuando el endpoint ALB Rango de direcciones IP
responde con los códigos de estado 2xx y 3xx de los comprobadores
de salud
• Las comprobaciones de salud pueden configurarse para que
pasen/no pasen en función del texto de los primeros 5120
bytes de la respuesta Auto Scaling group
https://ip-ranges.amazonaws.com/ip-ranges.json
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Route 53 - Controles de salud calculados
Amazon Route 53
• Combinar los resultados de varios chequeos de
salud en un solo chequeo de salud
Health Check
• Puedes utilizar OR, AND o NOT (Parent/Padre)
Instancia EC2
Health Check (Primaria)
(obligatorio)
Peticiones de DNS
Failover
Cliente
Amazon
Route 53
Instancia EC2
(Secundaria - Recuperación de desastres)
us-west-1 us-east-1
Tendencia: 0 Tendencia: 0
us-west-1 us-east-1
Tendencia: 0 Tendencia: 50
compra
example.com gestionar los registros DNS
Usuario
Amazon
Route 53
5:30 pm!
Usuario
EC2 pública
7:30 pm!
6:30 pm!
7:30 pm!
5:30 pm!
User
6:30 pm!
5:30 pm!
6:30 pm!
6:30 pm!
Restringido
Reglas de los grupos
de seguridad
Consulta DNS
ELB +
Para api.whatisthetime.com
Controles de salud
Registro de alias
TTL 1 hora
Instancias EC2
privadas
Consulta DNS
ELB +
Para api.whatisthetime.com
Controles de salud
Registro de alias
TTL 1 hora
Instancias EC2
privadas
Zona de disponibilidad 2
Consulta DNS
Para api.whatisthetime.com ELB +
Controles de salud
Registro de alias
+ Multi AZ
TTL 1 hora Zona de disponibilidad 3
Zona de disponibilidad 2
Zona de disponibilidad 1
Multi AZ
Zona de disponibilidad 2
Zona de disponibilidad 3
Zona de disponibilidad 1
Multi AZ
Zona de disponibilidad 2
ELB Persistente
Zona de disponibilidad 3
Zona de disponibilidad 1
Multi AZ
Enviar el contenido del
Sin estado
carrito de la compra en
Las peticiones HTTP son más pesadas
las cookies de la web Zona de disponibilidad 2
Riesgo de seguridad (las cookies pueden
ser alteradas)
Las cookies deben ser validadas
Las cookies deben ser inferiores a 4KB
Zona de disponibilidad 3
Multi AZ
Zona de disponibilidad 3
Amazon DynamoDB
(alternativa)
Multi AZ
Zona de disponibilidad 2
Zona de disponibilidad 3
Amazon RDS
Multi AZ
RDS
Réplicas de lectura
© Stephane Maarek & Joan Amengual
Aplicación web con estado: MyClothes.com
hit
Zona de disponibilidad 2 Leer de la caché
Lectura/
Zona de disponibilidad 3 escritura
RDS
Multi AZ
Zona de disponibilidad 2
Zona de disponibilidad 3
RDS
Multi AZ
RDS
Zona de disponibilidad 3
Zona de disponibilidad 1
Multi AZ
Zona de disponibilidad 2
RDS
Multi AZ
Zona de disponibilidad 3
Zona de disponibilidad 1
Multi AZ
Zona de disponibilidad 2
Aurora MySQL
Multi AZ
Zona de disponibilidad 3
Réplicas de lectura
Multi AZ
Zona de disponibilidad 1
Envía la imagen
Volúmenes de
Amazon EBS
Multi AZ
Volúmenes de
Amazon EBS
Envía la imagen
Zona de disponibilidad 2
Volúmenes de
Amazon EBS
Multi AZ
ENI
Envía la imagen
Zona de disponibilidad 2
EFS
ENI
Zona de disponibilidad 1
Multi AZ
Almacenar / recuperar
Zona de disponibilidad 2
datos de la sesión
+ datos en caché
ELB
Zona de disponibilidad 3
Amazon RDS
Read / write data
SUBRED PÚBLICA SUBRED PRIVADA SUBRED DE DATOS
SQS Queue
Zona de disponibilidad 1 ELB Zona de disponibilidad 2 Zona de disponibilidad 1 Zona de disponibilidad 2
Grupo de Grupo de
Seguridad Seguridad
Auto Scaling group Auto Scaling group
• Basada en recursos
• Políticas de bucket - reglas para todo el bucket desde la consola de S3 - permite cuentas
cruzadas
• Lista de control de acceso a objetos (ACL) - nivel de detalle profundo (puede desactivarse)
• Lista de control de acceso a bucket (ACL) - menos común (puede desactivarse)
Política de bucket S3
Permite el acceso al público
Política IAM
Usuario IAM
S3 Bucket
Instancia EC2
S3 Bucket
Usuario IAM
Otra cuenta de AWS
S3 Bucket
Bucket S3
• Si recibes un error 403 Forbidden, ¡asegúrate de que la (demo-bucket)
• Nota: Version 3
• Cualquier archivo que no esté versionado antes de activar el s3://my-bucket/my-file.docx
versionado tendrá la versión "nula".
• Suspender el versionado no elimina las versiones anteriores
• Casos de uso:
• CRR - normativa, acceso de menor latencia, replicación entre
cuentas
• SRR - agregación de logs, replicación en vivo entre cuentas de Bucket S3
producción y de test (us-east-2)
• Disponibilidad:
• Mide la disponibilidad de un servicio
• Varía en función de la clase de almacenamiento
• Ejemplo: El Estándar S3 tiene una disponibilidad del 99,99% = no está disponible 53
minutos al año
Acuerdo de nivel
de servicio de 99.9% 99% 99% 99% 99% 99.9% 99.9%
disponibilidad
Zonas de
>= 3 >= 3 >= 3 1 >= 3 >= 3 >= 3
disponibilidad
https://aws.amazon.com/s3/storage-classes/
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Clases de almacenamiento S3 - Comparación de precios
Ejemplo: us-east-1
Glacier Instant Glacier Flexible Glacier Deep
Standard Intelligent-Tiering Standard-IA One Zone-IA
Retrieval Retrieval Archive
Coste de
almacenamiento 0.023$ 0.0025$ - 0.023$ %0.0125 0.01$ 0.004$ 0.0036$ 0.00099$
(por GB al mes)
GET: 0.0004$
GET: 0.0004$
Coste de POST: 0.03$
POST: 0.05$
recuperación (por GET: 0.0004$ GET: 0.0004$ GET: 0.001$ GET:$0.001$ GET: 0.01$
cada 1000 POST: 0.005$ POST: 0.005$ POST: 0.01$ POST: 0.01$ POST: 0.02$ Expedited: 10$
Standard: 0.10$
solicitudes) Standard: 0.05$
Bulk: 0.025$
Bulk: gratis
Expedited (1 – 5 mins)
Tiempo de Standard (12 horas)
Instantáneo Standard (3 – 5 hours)
recuperación Bulk (48 horas)
Bulk (5 – 12 hours)
Coste de la
monitorización 0.0025$
(1000 objetos)
https://aws.amazon.com/s3/pricing/
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Desarrollo en AWS
Standard IA
• Para los objetos a los que se accede con
poca frecuencia, muévelos a IA Estándar Intelligent Tiering
• Para los objetos de archivo a los que no
necesitas acceder rápidamente, muévelos One-Zone IA
a Glacier o Glacier Deep Archive
Glacier Instant Retrieval
• Acciones de expiración - configura los objetos para que caduquen (se eliminen) después de un
tiempo
• Los archivos de logs de acceso pueden configurarse para que se eliminen después de 365 días
• Se puede utilizar para eliminar versiones antiguas de archivos (si el versionado está
activado)
• Se puede utilizar para eliminar subidas incompletas de Multipartes
Rápida Rápida
(www pública) (AWS privado)
Amazon S3
Archivo Archivo en Edge Location S3 Bucket
grande USA USA Australia
Archivo en S3 Archivo en S3
Archivo CSV
Obtener CSV con S3 Select
Enviar el conjunto de
Amazon S3 datos filtrado
Amazon S3
Objeto
carga
HTTP(S) + Cabecera + Cifrado
Usuario
S3 Bucket
Clave de propiedad S3
Amazon S3
Objeto
cargar
HTTP(S) + Cabecera
+ Cifrado
Usuario
Bucket S3
Clave KMS
AWS KMS
Amazon S3
Objeto
+
cargar
Fichero Amazon S3
+ Cifrado
cargar
HTTP(S)
Fichero
(cifrado)
Bucket S3
Clave del cliente
• Se recomienda HTTPS
• HTTPS es obligatorio para SSE-C
• La mayoría de los clientes usarían el endpoint HTTPS por defecto
Access-Control-Allow-Origin: https://www.example.com
Access-Control-Allow-Methods: GET, PUT, DELETE
Petición HTTPS
Respuesta antes del vuelo
Navegador web
Servidor web Servidor web
(Origen) GET / (Origen cruzado)
https://www.example.com Host: www.other.com https://www.other.com
Origen: https://www.example.com
Cabeceras CORS recibidas ya por el Origen
El navegador web puede hacer peticiones
GET /images/coffee.jpg
Navegador web Host: http://my-bucket-assets.s3-website.us-west-2.amazonaws.com
Origen: http://my-bucket-html.s3-website.us-west-2.amazonaws.com Bucket S3
(my-bucket-assets)
(Sitio web estático activado)
Access-Control-Allow-Origin: http://my-bucket-html.s3-website.us-west-2.amazonaws.com
Bucle de logs
PutObject
Bucket de aplicaciones y
bucket de logs
No lo intentes en casa ☺
• Los usuarios a los que se les da una URL pre-firmada heredan los permisos del
usuario que generó la URL para GET / PUT
URL
• Ejemplos: Bucket S3
• Permite que sólo los usuarios que han iniciado sesión descarguen un vídeo premium de (Privado)
tu bucket de S3
• Permitir que una lista cambiante de usuarios descargue archivos generando URLs
dinámicamente
• Permitir temporalmente que un usuario suba un archivo a una ubicación precisa en tu URL
bucket de S3
Usuario
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
S3 Glacier Vault Lock
• Adoptar un modelo WORM (Write Objeto
Once Read Many)
• Crea una política de bloqueo de bóveda
• Bloquea la política para futuras ediciones
(ya no se puede modificar ni borrar)
• Útil para el cumplimiento de la Vault Lock Policy
normativa y la retención de datos El objeto no se puede borrar
Origen
Reenviar la solicitud
a tu origen
S3
HTTP
Caché local
www pública
AWS Privado
AWS Privado
Edge Edge
Los Angeles Mumbai
Grupo de seguridad
Permitir Grupo de Grupo de seguridad
Permitir la IP pública Seguridad del
de Edge Locations Load Balancer
actualizar archivos
S3 Bucket
(origen)
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Usuarios globales para nuestra aplicación
• Has desplegado una aplicación y
tienes usuarios globales que
quieren acceder a ella
directamente. Saltos (hops)
Europa
América
• Van a través de la Internet
pública, lo que puede añadir
mucha latencia debido a los
numerosos saltos
ALB público
• Queremos ir lo más rápido
posible a través de la red de Australia India
AWS para minimizar la latencia
12.34.56.78 98.76.54.32
12.34.56.78 12.34.56.78
• CloudFront
• Mejora el rendimiento tanto del contenido almacenable en caché (como imágenes y vídeos)
• Contenido dinámico (como la aceleración de la API y la entrega de sitios dinámicos)
• El contenido se sirve en el borde
• Global Accelerator
• Mejora el rendimiento de una amplia gama de aplicaciones sobre TCP o UDP
• Proxy de paquetes en el borde a las aplicaciones que se ejecutan en una o más regiones de AWS.
• Es adecuado para casos de uso no HTTP, como juegos (UDP), IoT (MQTT) o voz sobre IP
• Bueno para casos de uso HTTP que requieren direcciones IP estáticas
• Bueno para casos de uso de HTTP que requieran una conmutación por error regional determinista y rápida
• Migración de datos:
Snowcone Snowball Edge Snowmobile
• Edge computing:
Snowcone Snowball Edge
Familia AWS Snow: dispositivos sin conexión para realizar migraciones de datos
Si la transferencia a través de la red tarda más de una semana, ¡utiliza los dispositivos Snowball!
Cliente Amazon S3
bucket
• Con la Familia Snow:
transporte: barco
costes
• Sistema de archivos persistente Región
Zona Disponibilidad 1 Zona Disponibilidad 2
• Almacenamiento a largo plazo Instancias
ENI
Instancias
• Los datos se replican dentro del mismo AZ
• Reemplaza los archivos fallidos en cuestión de
minutos FSx para Lustre
• Uso: procesamiento a largo plazo, datos sensibles (Sistema de archivos
persistente)
S3 bucket
(depósito de datos opcional)
• MacOS
• VMware Cloud en AWS
• Amazon Workspaces y AppStream 2.0
• Amazon EC2, ECS y EKS
EC2 ECS EKS
• El almacenamiento se reduce o crece automáticamente
• Snapshots, replicación, bajo coste, compresión y
desduplicación de datos
• Clonación instantánea puntual (útil para probar nuevas VMware Cloud Amazon Amazon Servidor local
cargas de trabajo) en AWS AppStream 2.0 WorkSpaces
Amazon EBS Almacén de Amazon EFS Amazon FSx Amazon S3 Amazon Glacier
instancias EC2
Clientes SMB
Amazon FSx
File Gateway Amazon FSx Sistemas de archivos
Región
iSCSI HTTPS
Servidor de Volume Gateway S3 Bucket Amazon EBS
aplicaciones Snapshots
Cualquier clase de
Archivos compartidos File Gateway Amazon S3 excluyendo
de usuario/grupo almacenamiento S3
caché local Glacier & Glacier Deep Archive
incluido Glacier
Cifrado en Tránsito por
iSCSI Internet o Direct Connect
Opciones de despliegue
Copias de seguridad
de Gateway VM(VMware, Hyper-V, KVM) automatizadas Amazon S3
Amazon FSx
o Hardware Appliance
Para Windows File Server
Amazon S3
Usuarios Route 53
(Cliente FTP) (opcional) Transferencia AWS para FTP
(sólo dentro de VPC)
Amazon EFS
AWS Transfer Family
AWS Snowcone
(agente preinstalado) AWS EFS Amazon FSx
Amazon S3 Amazon S3
Productor
Consumidor
Envió de mensajes
Productor Mensajes de encuesta
Consumidor
Cola SQS
Productor
Consumidor
• Atributos:
• Rendimiento ilimitado, número ilimitado de mensajes en cola
• Retención de mensajes por defecto 4 días, máximo de 14 días
• Baja latencia (<10 ms en publicación y recepción)
• Limitación de 256 KB por mensaje enviado
Sondeo /
Recibir mensajes insertar
Consumidores
Borrar mensaje
Cola SQS
Grupo de autoescalado
escalado del ASG
Alarma de aviso
Cola SQS
(infinitamente escalable)
Auto-Scaling Auto-Scaling
• Rendimiento limitado: 300 msg/s sin procesamiento por lotes, 3000 msg/s
con procesamiento por lotes
• Capacidad de envío exactamente una vez (eliminando los duplicados)
• El consumidor procesa los mensajes en orden
Cola SQS
Grupo de autoescalado
escala
Alarma de infracción
Amazon RDS
Aplicación
Inserta
solicita transacciones
Amazon Aurora
Amazon DynamoDB
Auto-Scaling
Mensaje de cola
Mensaje en cola
Cola SQS
(infinitamente escalable)
Auto-Scaling Auto-Scaling
Procesamiento back-end
Aplicación web front-end
aplicación
Cola SQS
(infinitamente escalable)
Auto-Scaling Auto-Scaling
Servicio Servicio
antifraude antifraude
Servicio de Servicio de
compra compra
Servicio de Servicio de
envío SNS Topic envío
SNS
Emails SMS y HTTP(S)
notificaciones por móvil Endpoints
…
CloudWatch Alarms AWS Budgets Lambda
…
publicar
Auto Scaling Group S3 Bucket DynamoDB
(Notifications) (Events)
SNS
…
CloudFormation AWS DMS RDS Events
(State Changes) (New Replic)
• Haz el push una vez en SNS, recibe en todas las colas SQS que son suscriptores
• Totalmente desacoplado, sin pérdida de datos
• SQS permite: persistencia de datos, procesamiento diferido y reintentos de trabajo
• Posibilidad de añadir más suscriptores SQS con el tiempo
• Asegúrate de que la política de acceso a la cola SQS permite que SNS pueda escribir
Fan-out
Objeto S3 eventos
creado...
SNS Topic
Amazon S3
Lambda Function
Servicio de Amazon S3
compras
SNS Tema Datos de Kinesis
Firehose
Cualquier KDF compatible
Destino
Cola SQS
(Todos)
Aplicaciones Aplicaciones
Registro Registro (KCL, SDK)
Fragmento 1
Clave de partición Clave de partición
mediante CloudTrail
Cifrado en reposo
Lambda
function Datadog
Aplicaciones
Kinesis Transformación
de datos Destinos AWS
Data Streams
Amazon S3
Clientes Registro
Hasta 1 MB
Amazon Redshift
Amazon Escritura por (COPIA a través de S3)
SDK, KPL CloudWatch lotes
(Logs y Eventos) Kinesis
Amazon ElasticSearch
Data Firehose
Agente Kinesis todos los datos o datos fallidos
Destinos personalizados
AWS IoT Bucket de copia de
Productores seguridad S3 HTTP Endpoint
Fragmento 3
• Respuesta: enviar utilizando un valor
de "Partition Key" del La clave de partición es "truck_id"
“truck_id" ("camion_id").
• La misma clave irá siempre al mismo
fragmento
• Deseas escalar el número de consumidores, pero quieres que los mensajes estén
"agrupados" cuando se relacionan entre sí
• En ese caso, puedes utilizar un ID de grupo (similar a la clave de partición en Kinesis).
https://aws.amazon.com/blogs/compute/solving-complex-ordering-challenges-with-amazon-sqs-fifo-queues/
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Ordenación Kinesis vs SQS
• Supongamos 100 camiones, 5 fragmentos kinesis, 1 SQS FIFO
• Kinesis Data Streams:
• Por término medio, tendrás 20 camiones por fragmento.
• Los camiones tendrán sus datos ordenados dentro de cada fragmento
• La cantidad máxima de consumidores en paralelo que podemos tener es 5
• Puede recibir hasta 5 MB/s de datos
• SQS FIFO
• Sólo tienes una cola SQS FIFO
• Tendrás 100 ID de grupo
• Podrás tener hasta 100 Consumidores (debido al 100 Group ID)
• Tendrás hasta 300 mensajes por segundo (o 3000 si utilizamos batching)
Agente MQ de Amazon
Amazon EFS
(almacenamiento)
conm Zona de disponibilidad
Cliente u tación
p or e
ESPERA
(us-east-1b)
rror
Agente MQ de Amazon
Infraestructura Infraestructura
Dockerfile
image
Push Pull
Repositorio Docker
Amazon
ECR
• AWS Fargate
• Plataforma de contenedores sin servidor propia de Amazon AWS Fargate
• Funciona con ECS y con EKS
lanzamiento EC2):
• Utilizado por el agente ECS ECR
• Realiza llamadas API al servicio ECS
Agente ECS CloudWatch
• Envía logs de contenedores a CloudWatch Logs Logs
• Extrae imagen de Docker de ECR
Rol EC2 Tarea A
• Hace referencia a datos sensibles en Secrets
Manager o SSM Parameter Store Tarea A S3
Tarea ECS
• Network Load Balancer recomendado
solo para casos de uso de alto 80/443
• Nota:
Amazon EFS
• Amazon S3 no se puede montar como sistema de
archivos
Sistema de archivos
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Escalado automático del servicio ECS
• Aumentar/disminuir automáticamente el número deseado de tareas ECS
• Seguimiento de objetivo - escala basada en el valor objetivo para una métrica específica de CloudWatch
• Escalado por pasos - escalado basado en una alarma CloudWatch específica
• Escalado programado - escalado basado en una fecha/hora especificada (cambios predecibles)
• Autoescalado del servicio ECS (nivel de tarea) ≠ Autoescalado de EC2 (nivel de instancia de EC2)
• Fargate Auto Scaling es mucho más fácil de configurar (porque es Serverless)
Tarea 1 Tarea 3
(nueva)
Tarea 2
Service A
Auto Scaling
Auto Scaling Group
VPC
Cargar objeto
Ob AWS Fargate
te
ne
ro
Cliente bje
Bucket S3 to
Tarea
(nueva) Rol de la tarea ECS
Evento (Access S3 y DynamoDB)
a:
Regl ea ECS
u ta r tar Guardar resultado
Ejec
Amazon
DynamoDB
Amazon ECS Cluster
Amazon
EventBridge
AWS Fargate
Tarea
(nueva) Rol de Acceso
Cada 1 hora Regla: Ejecutar tarea ECS
S3 en la Tarea
Tratamiento por lotes
Amazon S3
Amazon
EventBridge
Amazon ECS Cluster
Tarea 1 Tarea 3
Mensajes Encuesta (sondeo)
de mensajes
Cola SQS
Tarea 2
Servicio A
Escalado automático de ECS
Cluster ECS
VPC
Subred pública 1 Subred pública 2 Subred pública 3
EKS
Publico
NGW Servicio LB NGW NGW
ELB ELB ELB
• Nodos autogestionados
• Nodos creados por ti y registrados en el clúster EKS y gestionados por un ASG
• Puede utilizar AMI preconstruidas - Amazon EKS Optimized AMI
• Admite instancias bajo demanda o puntuales
• AWS Fargate
• No requiere mantenimiento; no se administran nodos
• Compatible con...
• Amazon EBS
• Amazon EFS (funciona con Fargate)
• Amazon FSx para Lustre
• Amazon FSx para NetApp ONTAP
tico
stá
Co
ne
oe
• AWS Lambda
API REST
cta
id
en
rs
• DynamoDB
nt
e
Co
• AWS Cognito
• AWS API Gateway
• Amazon S3
S3 bucket API Gateway Cognito
• AWS SNS y SQS
• Kinesis Data Firehose
• Aurora Serverless
• Funciones por pasos (Step Functions) Lambda
• Fargate
DynamoDB
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Por qué AWS Lambda
• Servidores virtuales en la nube
• Limitado por RAM y CPU
• Funcionamiento continuo
• Escalado significa intervención para añadir/eliminar
Amazon EC2 servidores
s h
pu
Nueva miniatura en S3
trigger
pu
Nombre de la imagen
sh
Nueva imagen en S3 La función AWS Lamba Tamaño de la imagen
crea una miniatura Fecha de creación
etc.
Metadata en DynamoDB
Trigger
Cada 1 hora
• Ejecución:
• Asignación de memoria: 128 MB - 10GB (incrementos de 1 MB)
• Tiempo máximo de ejecución: 900 segundos (15 minutos)
• Variables de entorno (4 KB)
• Capacidad de disco en el "contenedor de funciones" (en /tmp): 512 MB a 10GB
• Concurrencia de ejecuciones: 1000 (puede aumentarse)
• Despliegue:
• Tamaño del despliegue de la función lambda (.zip comprimido): 50 MB
• Tamaño del despliegue sin comprimir (código + dependencias): 250 MB
• Puede utilizar el directorio /tmp para cargar otros archivos al inicio
• Tamaño de las variables de entorno: 4 KB
RDS privado
Amazon RDS
en VPC
Amazon
ElastiCache
Aplicación
Amazon
DynamoDB
Acelerador de DynamoDB (DAX)
archivado
Amazon S3
Table Table
US-EAST-1 AP-SOUTHEAST-2
replicación
en ambas direcciones
Proceso de expiración
escanear y
• Borrar automáticamente los elementos después caducar artículos
escanear y
eliminar elementos
Proceso de supresión
© Stephane Maarek & Joan Amengual
DynamoDB - Copias de seguridad para
• Importación a S3
• Importación en formato CSV, DynamoDB JSON o ION
importar
• No consume capacidad de escritura
• Crea una nueva tabla
• Los errores de importación se registran en S3 DynamoDB
CloudWatch Logs (.csv, .json, .ion)
• HTTP
• Exponer puntos de enlace HTTP en el backend
• ¿Por qué? Añadir limitación de velocidad, almacenamiento en caché, autenticaciones de
usuario, claves API, etc...
• Servicio AWS
• Exponer cualquier API de AWS a través de API Gateway
• Ejemplo: iniciar un flujo de trabajo AWS Step Function, enviar un mensaje a SQS
• ¿Por qué? Añadir autenticación, desplegar públicamente, control de tasa (rate) …
almacenar
solicitudes envío registros archivos .json
Amazon Cognito
Permisos
autentifica
Genera
credenciales
Amazon Cognito
temporales AWS STS
Almacenar/recuperar archivos
Amazon S3
Permisos
Almacenar/recuperar archivos
Amazon S3
Premisos
ALMACENAMIENTO EN CACHÉ DE LAS RESPUESTAS
Cliente
Cliente
Cambios en el stream
IAM Role
SDK para enviar
correo electrónico Invocar lambda
Amazon Simple AWS Lambda
DynamoDB
Email Service (SES)
Stream
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Flujo de generación de miniaturas
OAC: Control de acceso al origen Política de buckets
Interacción con las Autorizar sólo desde la
Edge Locations Amazon S3
distribución de CloudFront
Distribución Amazon
CloudFront Global
opcional
Subir fotos desencadenar miniatura
Aceleración de OAC
SQS
transferencia
Distribución Amazon Amazon S3 AWS Lambda Amazon S3
CloudFront Global
SNS
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Resumen del sitio web hospedado en AWS
• Hemos visto contenido estático siendo distribuido usando CloudFront con S3
• La API REST era sin servidor, no necesitaba Cognito porque era pública.
• Aprovechamos una tabla Global DynamoDB para servir los datos globalmente
• (podríamos haber utilizado Aurora Global Database)
• Habilitamos los flujos de DynamoDB para activar una función Lambda.
• La función Lambda tenía un rol IAM que podía utilizar SES.
• SES (Simple Email Service) se utilizó para enviar correos electrónicos de una
manera sin servidor
• S3 puede activar SQS / SNS / Lambda para notificar eventos
Amazon Route 53
Elastic Load Balancing ECS DynamoDB
servicio2.ejemplo.com
HTTPS
Amazon API Gateway AWS Lambda ElastiCache
Usuarios servicio3.ejemplo.com
Zona de disponibilidad 1
Zona de disponibilidad 1 a 3
Zona de disponibilidad 2
Amazon Elastic
File System
Zona de disponibilidad 3
Zona de disponibilidad 1
Grupo de autoescalado
Zona de disponibilidad 2
Amazon Elastic
Amazon CloudFront File System
Zona de disponibilidad 3
• Caso de uso: Almacenar conjuntos de datos relacionales (RDBMS / OLTP), realizar consultas SQL,
transacciones
• Casos de uso: almacenar información de dispositivos IoT, datos de series temporales, ...
• Rendimiento 2-3 veces mejor que los marcos de blockchain de libro mayor común
• Diferencia con Amazon Managed Blockchain: no hay componente de descentralización, de acuerdo con
las normas de regulación financiera
https://docs.aws.amazon.com/qldb/latest/developerguide/ledger-structure.html
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Amazon Timestream
• Base de datos de series temporales totalmente gestionada, rápida,
escalable y sin servidor
• Se amplía y reduce automáticamente para ajustar la capacidad
• Almacena y analiza billones de eventos al día
• 1000 veces más rápida y 1/10 del coste de las bases de datos
relacionales
• Consultas programadas, registros multimedida, compatibilidad con SQL
• Almacenamiento de datos por niveles: los datos recientes se guardan en
la memoria y los históricos en un almacenamiento de coste optimizado
• Funciones integradas de análisis de series temporales (ayuda a identificar
patrones en los datos casi en tiempo real)
• Cifrado en tránsito y en reposo
Amazon
Timestream
Datos Kinesis
Streams
Cualquier conexión JDBC
Redshift
© Stephane Maarek & Joan Amengual Aurora SQL Server MySQL
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Visión general de Redshift
• Redshift se basa en PostgreSQL, pero no se utiliza para OLTP
• Es OLAP - procesamiento analítico en línea (análisis y almacenamiento de
datos)
• 10 veces mejor rendimiento que otros almacenes de datos, escala a PBs de datos
• Almacenamiento de datos en columnas (en lugar de filas) y motor de consulta
paralelo
• Pago por uso en función de las instancias aprovisionadas
• Dispone de una interfaz SQL para realizar consultas
• Se integra con herramientas de BI como Amazon Quicksight o Tableau
• vs Athena: consultas / uniones / agregaciones más rápidas gracias a los índices
Consulta
SELECT COUNT (*), …
FROM MY_TABLE
• Nodo líder: planifica las
GROUP BY … consultas y agrega los
resultados.
JDBC/ODBC
• Nodo de cálculo: realiza
Amazon Redshift Cluster las consultas y envía los
Nodo líder resultados al líder.
• Se aprovisiona el tamaño
del nodo por adelantado
Nodos de
cálculo
• Puedes utilizar instancias
reservadas para ahorrar
costes
A través de VPC
Amazon Redshift Con enrutamiento VPC mejorado
Amazon Kinesis Amazon Redshift Instancia EC2 Amazon Redshift
Bucket S3
Data Firehose Cluster
(mibucket) Clúster Clúster
(a través de copia S3) Mejor escribir
Datos por lotes
copy customer
from 's3://mybucket/mydata’
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
JDBC/ODBC
• Consultar datos que ya están en
S3 sin cargarlos Clúster de Amazon Redshift
Amazon S3
Casi en
tiempo real
Función Lambda
Kinesis Data Firehose
transformación
(casi en tiempo real) Función Lambda
de datos
(tiempo real)
Amazon Amazon
OpenSearch OpenSearch
Fuentes de datos
(importaciones)
Athena S3 OpenSearch
Glue ETL
Bucket S3
Extracción Carga
Amazon RDS Redshift
Transformación
Data Warehouse
Notificaciones de eventos
En S3 PUT Función Lambda
(EventBridge funciona como alternativa)
Rastreadores de fuentes
Lago de datos
(almacenado en S3)
© Stephane Maarek & Joan Amengual
Ejemplo de permisos centralizados de
Lago de datos
(almacenado en S3)
Kinesis Amazon S3
Data Firehose
Kinesis Amazon Redshift
Kinesis Análisis de datos (COPIA a través de S3)
Data Firehose para aplicaciones SQL
Otros destinos de Firehose...
Fuentes
Datos de referencia en S3
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Kinesis Data Analytics (aplicación SQL)
• Análisis en tiempo real en Kinesis Data Streams & Firehose mediante SQL
• Añadir datos de referencia de Amazon S3 para enriquecer los datos de streaming
• Totalmente administrado, sin servidores que aprovisionar
• Escalado automático
• Paga por la tasa de consumo real
• Salida:
• Kinesis Data Streams: crea flujos a partir de las consultas analíticas en tiempo real
• Kinesis Data Firehose: envío de resultados de consultas analíticas a destinos
• Casos de uso:
• Análisis de series temporales
• Dashboards en tiempo real
• Métricas en tiempo real
Kinesis
S3
i ón
Broker 2
c
ca
li
rep
IoT SageMaker
Productores Escribir al tema Encuesta del tema Consumidores
(Tu código) (Tu código)
rep
Broker 1
li
cac
RDS Kinesis
i ón
Etc…
RDS
Broker 3
Etc…
• Límite de tamaño de los • 1MB por defecto, configurar para mayor (ej: 10MB)
mensajes: 1 MB • Temas Kafka con particiones
• Flujos de datos con shards • Sólo se pueden añadir particiones a un tema
• División y fusión de fragmentos • Cifrado en vuelo PLAINTEXT o TLS
• Cifrado TLS en vuelo • Cifrado KMS en reposo
• Cifrado KMS en reposo
AWS Glue
Desarrollado por Apache Spark Streaming
Lambda
Amazon MSK
Amazon Kinesis Data Amazon Kinesis Data Amazon Simple Storage Amazon Simple Queue AWS Lambda Amazon Athena Amazon Simple Storage
Streams Firehose Service (S3) Service Service (S3)
(opcional)
AWS Lambda
Amazon QuickSight Amazon Redshift
(no es Serverless)
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Debate sobre el Pipeline de ingestión de Big Data
• IoT Core permite recopilar datos de dispositivos IoT
• Kinesis es ideal para la recopilación de datos en tiempo real
• Firehose ayuda con la entrega de datos a S3 en tiempo casi real (1 minuto)
• Lambda puede ayudar a Firehose con las transformaciones de datos
• Amazon S3 puede activar notificaciones a SQS
• Lambda puede suscribirse a SQS (podríamos tener un conector S3 a
Lambda)
• Athena es un servicio SQL sin servidor y los resultados se almacenan en S3
• El bucket de reportes contiene datos analizados y puede ser utilizado por
herramientas de informes como AWS QuickSight, Redshift, etc...
Fuentes de datos
indexación
Amazon S3 Amazon RDS Google Drive MS SharePoint 1ª planta
Índice de conocimiento
3rd party, (con tecnología ML)
Usuario
APNs,
MS OneDrive Amazon Kendra
Custom
Emails
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Amazon Textract
• Extrae automáticamente el texto, la escritura y los datos de cualquier documento
escaneado utilizando IA y ML
{
“Document ID”: “123456789-005”,
analiza resultado “Name”: “”,
“SEX”: “F”,
“DOB”: “23.05.1997”,
…
Amazon Textract }
• Extrae datos de formularios y tablas
• Leer y procesar cualquier tipo de documento (PDFs, imágenes, ...)
• Casos de uso:
• Servicios financieros (por ejemplo, facturas, informes financieros)
• Sanidad (por ejemplo, historiales médicos, reclamaciones de seguros)
• Sector público (por ejemplo, formularios fiscales, documentos de identidad, pasaportes)
Amazon ES
Casi en
tiempo real
Alarma compuesta
monitor CPU ALARMA
CW Alarm - A dispara
Instancia EC2
CW Alarm - B
monitorización alerta
CloudWatch
Filtro métrico
Alerta
Logs CW Alarma CW
Amazon SNS
Cálculo
{
"version": "0", Lambda AWS Batch ECS Task
Instancia EC2 CodeBuild "id": "6a7e8feb-b491",
Integración
"detail-type": "EC2 Instance
(ej: Instancia de inicio) (ej: construcción fallida) State-change Notification",
Filtrar eventos ….
}
(opcional)
SQS SNS Kinesis Data
Streams
Mantenimiento Orquestación
Evento S3 Trusted Advisor
(ej: subir objeto) (por ejemplo: nueva Amazon
búsqueda)
EventBridge
Step CodePipeline CodeBuild
Functions
CloudTrail Horario o Cron
(cualquier llamada a (ej: cada 4 horas)
la API)
SSM EC2 Actions
• Otras cuentas de AWS pueden acceder a los buses de eventos mediante políticas
basadas en recursos
• Puedes archivar eventos (todos/filtro) enviados a un bus de eventos (indefinidamente
o por un periodo determinado)
• Posibilidad de reproducir eventos archivados
PutEvents
Logs de CloudWatch
Consola CloudTrail
CLI
Consola
Inspeccionar y auditar S3 Bucket
• Eventos de datos:
• Por defecto, los eventos de datos no se registran (porque son operaciones de gran volumen)
• Actividad a nivel de objeto de Amazon S3 (ej: GetObject, DeleteObject, PutObject): puede separar los Eventos
de Lectura de los de Escritura
• Actividad de ejecución de funciones de AWS Lambda (la API Invoke)
CloudTrail Insights
EventBridge event
90 días S3 Bucket
Eventos de datos Retención a largo plazo
retención
Usuario
• Precios: sin capa gratuita, 0,003 $ por elemento de configuración registrado por región,
0,001 $ por evaluación de regla de configuración por región
desactiva
Cuenta de gestión
OU (Dev) OU (Prod)
OU (HR) OU (Finanzas)
Cuentas de los
miembros
• s3:GetObject, s3:PutObject,
s3:DeleteObject se aplica a
arn:awn:s3:::test/*
• => permiso de nivel de objeto
AWS Organizations
(o-yyyyyyyyyy)
…
Cuentas de los miembros
S3 Bucket
(2022-datos-financieros)
Cuenta de Rol
usuario A Cuenta B
Amazon S3
Cuenta de Política de
usuario A bucket S3
Amazon S3
Permisos IAM
A través de la Política IAM
Límite del permiso IAM
https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html
• ¿Puedes ejecutar
ec2:DescribeInstances?
Backend
Cognito
User Pools
Bucket Privado S3 Tabla DynamoDB
Almacenar / recuperar
Identidades de usuario
Active Directory
IAM Identity Center Aplicaciones personalizadas
Usuarios y grupos
Almacén de identidades compatibles con SAML2.0
(En las instalaciones, o Cloud)
incorporado
OU (Desarrollo) OU (Producción)
Bob Alice
Cuenta de Cuenta de
Desarrollo A Producción A asigna asigna
Cuenta de Cuenta de
Desarrollo B Producción B Conjunto de permisos
ReadOnlyAccess
Conjunto de permisos
FullAccess
• Asignaciones de aplicaciones
• Acceso SSO a muchas aplicaciones empresariales SAML 2.0 RDS Aurora RDS Aurora
(Salesforce, Box, Microsoft 365, ...) Rol IAM Rol IAM
• Proporciona las URL, certificados y metadatos necesarios
Conjuntos de
• Control de acceso basado en atributos (ABAC) supone permisos
• Permisos detallados basados en los atributos de los usuarios (Administradores
almacenados en el Almacén de Identidades del Centro de de BD)
Identidades IAM Conjuntos de permisos
• Ejemplo: centro de costes, cargo, configuración regional, ... (Administradores de BD)
• Caso práctico: Define los permisos una vez, y luego modifica el Administradores IAM Identity Center
acceso a AWS cambiando los atributos de bases de datos
Simple AD
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Centro de Identidades IAM - Configuración del Directorio Activo
Conector AD
• Ventajas:
• Automatiza la configuración de tu entorno con unos pocos clics
• Automatiza la gestión continua de las políticas mediante guardrails
• Detecta las infracciones de las políticas y corrígelas
• Controla la normativa mediante un dashboards interactivo
Cuentas remediar
Miembro (añadir etiquetas)
Lambda
U: admin aGVsbG8gd29
P: supersecret ybGQgZWh…
+ encriptacion desencriptación
Clave de datos
Clave de datos
+ encriptación + desencriptación
Clave de datos del lado del cliente Clave de datos del lado del cliente
us-east-1 eu-west-1
sync
Clave Primaria multirregión Clave Replica multirregión
arn:aws:kms:us-east-1:111122223333: arn:aws:kms:eu-west-1:111122223333:
key/mrk-1234abcd12ab34cd56ef1234567890ab key/mrk-1234abcd12ab34cd56ef1234567890ab
ap-southeast-2
• Casos de uso: cifrado global del lado del cliente, cifrado en DynamoDB Global, Aurora Global
replicación
la misma región que la tabla DynamoDB Global, 3. Replicación
los clientes de estas regiones pueden utilizar global de tablas
KMS
© Stephane Maarek & Joan Amengual
Cifrado del lado del cliente de las claves
replicación
Aurora, los clientes de estas regiones pueden 3. Replicación
utilizar llamadas API de baja latencia al KMS de su global de BD
región para descifrar los datos del lado del cliente.
ap-southeast-2
• Usando el cifrado del lado del cliente podemos
proteger campos específicos y garantizar sólo el 4. Obtener la Col
descifrado si el cliente tiene acceso a una clave columna cifrada (SSN)
API, podemos proteger campos específicos Aplicación cliente Tabla
MRK
incluso de los administradores de la base de 5. Descifra el atributo
datos con la réplica MRK
KMS
© Stephane Maarek & Joan Amengual
Replicación S3
Servicio de
descifrado
AWS KMS
• Despliega en
• Application Load Balancer
• Gateway API
• CloudFront
• API GraphQL de AppSync
• Grupo de usuarios Cognito (Cognito User Pool)
ALB
Usuarios
Global Accelerator Instancias EC2
IPv4 fija del: 1.2.3.4 adjunto
WebACL
WebACL debe estar en la misma
AWS WAF región de AWS que el ALB
• Las reglas se aplican a los nuevos recursos a medida que se crean (bueno para
la normativa) en todas y futuras cuentas de tu organización
• WAF, Shield y Firewall Manager se utilizan juntos para una protección integral
• Define tus reglas ACL Web en WAF
• Para una protección granular de tus recursos, WAF solo es la opción correcta
• Si quieres utilizar AWS WAF en todas las cuentas, acelerar la configuración de WAF,
automatizar la protección de nuevos recursos, utiliza Firewall Manager con AWS WAF
• Shield Advanced añade funciones adicionales a AWS WAF, como el soporte dedicado
del Shield Response Team (SRT) y la elaboración de informes avanzados.
• Si eres propenso a frecuentes ataques DDoS, considera la compra de Shield Advanced
• BP3 - Route 53
• Resolución de nombres de dominio en
el borde
• Mecanismo de protección DDoS
Logs de CloudTrail
• Máscara de subred
• Define cuántos bits pueden cambiar en la IP
• Ejemplo: /0, /24, /32
• Puede adoptar dos formas:
• /8 ⬄ 255.0.0.0
• /16 ⬄ 255.255.0.0
• /24 ⬄ 255.255.255.0
• /32 ⬄ 255.255.255.255
• El CIDR de tu VPC NO debe solaparse con tus otras redes (por ejemplo, la
corporativa)
VPC
Zona de disponibilidad
VPC
Internet
Gateway
Zona de disponibilidad
Internet VPC
Gateway de Router
Internet
Tabla de
rutas Grupo de Seguridad
Zona de Disponibilidad
Internet VPC
Zona de disponibilidad
Internet VPC
Grupo de Seguridad
Internet Router
Gateway
NAT Gateway
Instancia EC2 privada
Tabla de Tabla de
rutas Grupo de Seguridad rutas
Zona de Disponibilidad
AZ - A AZ - B
Disponibilidad Alta disponibilidad dentro de AZ (crear en Utiliza un script para gestionar la conmutación por
otra AZ) error entre instancias
Ancho de banda Hasta 45 Gbps Depende del tipo de instancia EC2
Mantenimiento Gestionado por AWS Gestionados por ti (por ejemplo, software, parches
del SO, ...)
Coste Por hora y cantidad de datos transferidos Por hora, tipo y tamaño de instancia EC2, + red $
Publica IPv4
Privada IPv4
Grupos de seguridad
¿Utilizar como Host Bastion?
Subred Subred
1 2 1
NACL
NACL
3 3
Grupo de Seguridad
Internet Router
Gateway
NAT Gateway
Instancia EC2 privada
Tabla de Tabla de
rutas Grupo de Seguridad rutas
Zona de Disponibilidad
Petición
IP fuente Puerto fuente IP Dest. Puerto fuente
Payload …
11.22.33.44 50105 55.66.77.88 443
Web-NACL
BD-NACL
Puerto efímero Permitir TCP entrante Permitir TCP saliente Instancia BD
En el puerto 1024-65535 En el puerto 1024-65535 Puerto 3306
del cliente
Desde la Subred BD CIDR A la Subred Web CIDR
https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html#nacl-ephemeral-ports
Web-NACL
DB-NACL
Instancia de BD
Instancia de BD
ID de cuenta
Grupo de Seguridad
Internet Router
Gateway
NAT Gateway
Instancia EC2 privada
Tabla de Tabla de
rutas Grupo de Seguridad rutas
Zona de disponibilidad
Availability Zone
NAT
• Son redundantes y escalan horizontalmente Instancia EC2 Gateway
• Eliminan la necesidad de IGW, NATGW, ... para
acceder a los servicios de AWS Subred privada
Opción 1
• En caso de problemas Instancia EC2
Opción 2
• Comprueba la Resolución de Ajustes DNS en
tu VPC
• Comprueba las tablas de rutas Endpoint de la VPC
Amazon SNS
VPC
• Endpoints de interfaz (alimentados por PrivateLink) Subred privada
• Proporciona una ENI (dirección IP privada) como Endpoint de la VPC
(Interfaz)
punto de entrada (debe adjuntar un Grupo de Instancia EC2
Seguridad) ENI (PrivateLink)
• Gateway Endpoints
Región
• Proporciona un Gateway y debe utilizarse como
destino en una tabla de rutas (no utiliza grupos de VPC
seguridad) Subred privada
interface endpoint
VPC
PrivateLink Amazon S3
Zona de Disponibilidad
Subred Subred
Reglas de Reglas de Reglas de salida Reglas de salida Grupo de
Grupo de
entrada NACL entrada del SG NACL del SG
Seguridad Seguridad
NACL
NACL
Amazon Amazon
VPC Flow Logs Bucket S3
Athena QuickSight
• Si necesitas hacer ping a tus instancias EC2 desde el local, (IP pública)
Centro de datos corporativo
asegúrate de añadir el protocolo ICMP en la entrada de
tus grupos de seguridad Cliente
Gateway
(IP privada)
Servidor
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
VPN de AWS CloudHub
• Proporciona una comunicación segura entre VPC Red de clientes
varias sedes, si tienes varias conexiones VPN
Zona de disponibilidad
• Modelo hub-and-spoke de bajo coste para la Cliente
conectividad de red primaria o secundaria Subred privada 1
Gateway
entre distintas sedes (sólo VPN)
Red de clientes
• Es una conexión VPN, así que va por la Instancias EC2
Internet pública
Zona de disponibilidad Cliente
Virtual
• Para configurarla, conecta varias conexiones Private Gateway
VPN en la misma VGW, establece un Subred privada 2
enrutamiento dinámico y configura tablas de Gateway
rutas Red de clientes
Instancias EC2
Cliente
Gateway
Región Región
(us-east-1) (us-west-1)
VPC VPC
Red de clientes
10.0.0.0/16 172.16.0.0/16
Interfaz virtual
Interfaz virtual
privada
privada
Interfaz virtual
privada
Conexión
Gateway de Direct Connect AWS Direct Connect
• Los plazos suelen ser superiores a 1 mes para establecer una nueva conexión
Zona de disponibilidad
implantar Ubicación
Red de clientes
AWS Direct
Instancias EC2 Connect
Ubicación AWS
Direct Connect - 1
Ubicación AWS Direct
Connect - 1
Empresa
centro de Centro de datos
datos
Ubicación AWS
Direct Connect - 2
Ubicación AWS Direct
Connect - 2
Una conexión en varios lugares La máxima resiliencia se consigue mediante conexiones separadas
que terminan en dispositivos separados en más de una ubicación.
© Stephane Maarek & Joan Amengual
Conexión VPN Site-to-Site (Sitio a Sitio) como
AWS Cloud
Direct Connect
Conexión primaria
VPC
• Soporta IP Multicast (no soportada por ningún otro Amazon VPC Amazon VPC
servicio de AWS)
Conexión VPN
C
VP
Transit Gateway
(Sitio a Sitio) para aumentar el
n
xió
de AWS
ne
ancho de banda de tu
Co
VPC
conexión a AWS
VPC VPC
1x = 1x 1x = 1x VPC
VPC
VPC
Cuenta 1
Clientes Clientes
VPC
Tránsito VIF VLAN
• Ejemplos:
• 2001:db8:3333:4444:5555:6666:7777:8888
• 2001:db8:3333:4444:cccc:dddd:eeee:ffff
• :: ➔ los 8 segmentos son cero
• 2001:db8:: ➔ los 6 últimos segmentos son cero
• ::1234:5678 ➔ los 6 primeros segmentos son cero
• 2001:db8::1234:5678 ➔ los 4 segmentos centrales son cero
• Envía logs de las coincidencias de las reglas a Amazon S3, CloudWatch Logs, Kinesis Data
Firehose
Amazon EC2
ciclo de vida
AWS Storage Gateway Amazon S3
Replicación de datos
Invierte
Route 53
proxy
ELB
Servidor
App
Autoescalado EC2 conmutación por error
(mínimo)
Base de Replicación de datos
Datos
Master Esclavo RDS (en
funcionamiento)
Invierte
Route 53
proxy
ELB
App
Servidor
Autoescalado EC2 conmutación por error
(producción)
Master Replicación de datos
DB
Esclavo RDS (en
funcionamiento)
Route 53
ELB ELB
Migración de datos
Carga completa +
CDC
Servidor con
AWS SCT instalado
EC2 EBS S3
Crea un plan de
RDS DynamoDB DocumentDB Automáticamente
copias de seguridad copia de seguridad en
(frecuencia, política de
retención)
AWS Backup Amazon S3
EFS Aurora Neptune
FSx Storage
Gateway
BD AWS Replication
Agent
Discos Instancias EC2 de bajo coste Instancias EC2 de destino
y volúmenes EBS y volúmenes EBS
SQS asíncrono
DLQ SQS + Lambda
SNS DLQ
Intentar,
reintentar SQS
bloqueo
SQS FIFO SNS + Lambda
DLQ SQS FIFO + Lambda
PUT #1
SDK SDK SNS
PUT #3
Usuario
almacenar archivos
peticiones envío registros .json
S3
VPC
Grupo de seguridad
NACL
Cliente IP pública de
instancia EC2 +
software firewall
opcional en EC2
VPC
NACL
Cliente
Application Load Balancer IP privada
Terminación de la conexión Instancia EC2
VPC
NACL
Cliente Network Load Balancer IP privada
El tráfico pasa Instancia EC2
Ningún Grupo de Seguridad
VPC
NACL ALB
Cliente IP privada
Instancia EC2
WAF
Filtrado de direcciones IP
IP públicas de CloudFront
NACL
NACL no ayuda
WAF
Filtrado de direcciones IP
• Snowball y Snowmobile:
• Mueve PB de datos al Cloud
• AWS DataSync:
• Mueve grandes cantidades de datos entre las instalaciones y S3, EFS, FSx para
Windows
• Almacenamiento en red:
• Amazon S3: blob grande, no es un sistema de archivos
• Amazon EFS: escala las IOPS en función del tamaño total, o utiliza IOPS
provisionadas
• Amazon FSx para Lustre:
• Sistema de archivos distribuidos optimizado para HPC, millones de IOPS
• Respaldado por S3
• AWS ParallelCluster
• Herramienta de gestión de Cluster de código abierto para implementar HPC en
AWS
• Configurar con archivos de texto
• Automatiza la creación de VPC, Subred, tipo de Cluster y tipos de instancia
• Posibilidad de activar EFA en el Cluster (mejora el rendimiento de la red)
monitorización
Iniciar la instancia
Conecta la IP elástica
• Coste
• Cada recurso dentro de la pila está etiquetado con un identificador para que
puedas ver fácilmente cuánto te cuesta una pila
• Puedes estimar los costes de tus recursos utilizando la plantilla de
CloudFormation
• Estrategia de ahorro: En Dev, podrías automatizar la eliminación de plantillas a
las 5 de la tarde y volver a crearlas a las 8 de la mañana, de forma segura
• Ejemplo: Stack de
CloudFormation para WordPress
Aplicación
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Amazon Pinpoint
• Servicio escalable de comunicaciones de marketing
bidireccional (saliente/entrante)
• Soporta correo electrónico, SMS, push, voz y mensajería in-
app
Amazon
• Posibilidad de segmentar y personalizar los mensajes con el SMS Pinpoint
contenido adecuado para los clientes Clientes
• Posibilidad de recibir respuestas
• Escala a miles de millones de mensajes al día stream events
(e.g., TEXT_SUCCESS,
• Casos de uso: realiza campañas enviando mensajes SMS de TEXT_DELIVERED, …)
marketing, masivos y transaccionales
• Frente a Amazon SNS o Amazon SES
• En SNS y SES gestionas la audiencia, el contenido y el
calendario de entrega de cada mensaje
• En Amazon Pinpoint, creas plantillas de mensajes,
horarios de entrega, segmentos altamente segmentados
y campañas completas
SNS Kinesis Data CloudWatch
Firehose Logs
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
AWS Systems Manager (SSM)
• Te ayuda a gestionar tus sistemas EC2 y On-Premises a escala
• Otro servicio híbrido de AWS
• Obtén información operativa sobre el estado de tu infraestructura
• Conjunto de más de 10 productos
• Las características más importantes son:
• Automatización de parches para mejorar la normativa
• Ejecuta comandos en toda una flota de servidores
• Almacena la configuración de los parámetros con el almacén de parámetros SSM
• Funciona tanto para el sistema operativo Windows como para el Linux
Ejecuta
• No se necesita acceso SSH ni claves SSH comandos
Usuario
no
tif
• No necesitas SSH
ica
ció
n
trigger
• La salida del comando puede mostrarse en la
consola de AWS, enviarse al bucket de S3 o a
los logs de CloudWatch Amazon S3 salida
Instancias EC2
activar cada 24 horas actualiza (con Agente SSM)
Instancias EC2
(con Agente SSM)
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Systems Manager - Automatización
• Simplifica las tareas comunes de mantenimiento e
implementación de instancias EC2 y otros recursos de
AWS
• Ejemplos: reiniciar instancias, crear una AMI, Snapshot de Consola AWS AWS SDK Ventanas de Amazon AWS Config
EBS Mantenimiento EventBridge
AWS Batch
Instancia EC2
ECS Insert
Amazon S3
Trigger objeto procesado
Spot Instance
Amazon S3
• Por lotes:
• Sin límite de tiempo
• Cualquier tiempo de ejecución siempre que esté empaquetado
como imagen Docker
• Depende de EBS / almacén de instancias para el espacio en disco
• Depende de EC2 (puede ser gestionado por AWS)
https://aws.amazon.com/blogs/aws/new-aws-well-architected-tool-review-workloads-against-best-practices/
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Trusted Advisor
• Sin necesidad de instalar nada - evaluación de
alto nivel de la cuenta de AWS
• https://aws.amazon.com/certification/certified-solutions-architect-
associate/
Arquitectura
Arquitecto de aplicaciones
Diseñar aspectos significativos de la
arquitectura de la aplicación,
incluidos la interfaz de usuario,
el middleware y la infraestructura, y
garantizar sistemas escalables,
fiables y gestionables en toda la empresa Profundización
https://d1.awsstatic.com/training-and-certification/docs/
AWS_certification_paths.pdf
© Stephane Maarek & Joan Amengual
NOT FOR DISTRIBUTION © Stephane Maarek & Joan Amengual www.blockstellart.com
Rutas de certificación de AWS – Operaciones
Operaciones
Administrador de sistemas
Instalar, actualizar y mantener componentes
informáticos y software, e integrar procesos
de automatización
Profundización
Operaciones
Ingeniero en el Cloud
Implantar y utilizar
la infraestructura informática
en red de una organización e
implantar sistemas de seguridad
para mantener la seguridad de los datos
Profundización
Seguridad
Arquitecto de seguridad en el Cloud
Diseñar e implantar soluciones
empresariales en el Cloud aplicando
la gobernanza para identificar, comunicar
y minimizar los riesgos empresariales y técnicos
Profundización
Desarrollo
Ingeniero de desarrollo de software
Desarrollar, construir y mantener software en distintas
plataformas y dispositivos
AI/ML
Ingeniero de Machine Learning
Investiga, construye y diseña sistemas de
inteligencia artificial (IA) para automatizar
modelos predictivos, y diseña sistemas,
modelos y esquemas de Machine Learning
• En general, espero que hayas aprendido a utilizar AWS y que seas un Arquitecto
de Soluciones AWS tremendamente bueno