# Architecting AWS ## Introducción ![](https://i.imgur.com/2Spv3em.png) ![](https://i.imgur.com/IpgkaVz.png) ## Infraestructura global AWS ![](https://i.imgur.com/26mycTp.png) ## Módulo 2 ### Las arquitecturas más simples ![](https://i.imgur.com/uJYxj1k.png) Lo principal es el PARC (Principal, Action, Resource y Condition) ::: info Deny no implica Conceder Deny prevalece por encima de conceder ::: **Athena** permite realizar consultas SQL en servidores S3 ![](https://i.imgur.com/YMnSqxk.png) ::: info AWS Snowball -> transferencia de datos a escala de petabytes ::: ::: info AWS Snowmobile -> transferencia de datos a escala de exabytes ::: ::: info AWS SnowballEdge -> transferencia de datos a escala de petabytes y tiene capacidad de Computo / Procesamiento ::: ![](https://i.imgur.com/HYyedeL.png) ![](https://i.imgur.com/RsCLdwS.png) #### Amazon S3, Glacier Es un subservicio de S3, para almacenamiento a Largo Plazo Para recuperar no se puede hacer desde Consola, solo desde CLI / SDK ## Módulo 3 - Agregar una capa informática ::: info ![](https://i.imgur.com/I7xldc7.png) Qué consulto aquí? los metadatos de la instancia ::: ![](https://i.imgur.com/fddury6.png) Ahora mismo, ya existen EBS compartidos (pero esto de momento no lo tenemos en cuenta para el examen) ![](https://i.imgur.com/VPeuIWy.png) Si quiero un almacenamiento compartido, EBS no se puede usar porque solo se asocia a una instancia, se podría usar S3 pero tampoco es lo ideal. La elección sería EFS(Linux)/FSx(windows) ::: info ![](https://i.imgur.com/e9CBtFI.png) ::: ![](https://i.imgur.com/ug2z8tj.png) Diferencia: Instancias reservadas es el compromiso por USO Savings Plans compromiso por COSTO ![](https://i.imgur.com/8wjvosN.png) ![](https://i.imgur.com/c65xkjZ.png) ![](https://i.imgur.com/mt8cliu.png) EXAMEN ![](https://i.imgur.com/7DzxK8p.png) EXAMEN ![](https://i.imgur.com/vwc16L1.png) ## Módulo 4 - Adding a database layer ![](https://i.imgur.com/H232FCt.png) BBDD Relacionales y no relacionales ![](https://i.imgur.com/ORkgsit.png) ### Amazon RDS DynamoDB ![](https://i.imgur.com/a7Nc5wu.png) ![](https://i.imgur.com/UrqX6Mm.png) **Amazon Aurora** es propio de AWS, pero está más optimizado que MySQL... **Escala horizontal Escala** horizontal es el acto de cambiar el número de nodos en un sistema informático sin cambiar el tamaño de ningún nodo individual. **Escalado vertical El escalado** vertical aumenta el tamaño y la potencia informática de una sola instancia o nodo sin aumentar el número de nodos o instancias. AWS DMS (Data Migration Service) ### Redes en AWS (parte 1) #### VPC ![](https://i.imgur.com/HNmMTVY.png) ![](https://i.imgur.com/eCASPqo.png) RFC 1918 https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html ![](https://i.imgur.com/OdBJ7Lw.png) ![](https://i.imgur.com/Ivp4dkG.png) 0/24 (es 8*3 xx.xx.xx.0) por lo tanto son las 256 del último -> es 2 elevado a la 8 (32-24) de 10.22.33.0 a 10.22.33.255 (2 a la 8) Si fuera /23 (es 32-23=9 bits)-> 2 elevado 9=512 10.22.3**3**.0 hasta 10.22.3**4**.255 Si fuera /22 (32-22=10 -> 2 a la 10=1024) De 10.22.33.0 a 10.22.35.255 EXAMEN -> mínimo número de direcciones IP? 16 pero tengo que quitar 5 porque son para AWS ![](https://i.imgur.com/iqFkLl3.png) ![](https://i.imgur.com/Rbuitg7.png) NAT Gateway es para tráfico saliente, no entrante. Admite la respuesta de lo que se ha enviado, pero no admite lo que se origina desde fuera ![](https://i.imgur.com/mpiXFg9.png) ENI (Elastic Network Internet) ![](https://i.imgur.com/bZqPOAA.png) #### Security Groups Firewalls virtuales -> no DENIEGAN, solo es para PERMITIR. Por defecto está todo denegado. Están enfocado a nivel de INSTANCIA Las reglas llevan ESTADO (STATEFULL), si el tráfico puede salir, puede entrar ![](https://i.imgur.com/IGKxTdP.png) Para denegar sería con un ACL EXAMEN -> de forma predeterminada todo se bloquea ![](https://i.imgur.com/Eg7gzxn.png) #### ACL (Lista de Control de Acceso) Esto si permite DENEGAR Se configuran a nivel de SUBNET, no de INSTANCIA PERMITEN todo el tráfico entrante / Saliente No llevan ESTADO (STATELESS), si se configura una regla para tráfico saliente, también habría que configurar el entrante ## Modulo 6 ### VGW Sirve para hacer conexiones VPN a otras redes, son conexiones de tipo IPSec ### AWS Directo Connect (DX) ::: info VPC Peering es la conexión de 2 VPN ::: ## Balanceo de carga en AWS - ELB Elastic Load Balancing ## Alta disponibilidad ## Route 53 Servicio DNS de Amazon Simple Round Robin -> distribuye de forma equitativa Weighted round robin -> distribuye por el peso que tengamos marcaddo ## Módulo 7 (IAM)- AWS Identity and Access Management Federación de identidades -> atribuir las labores de autorización a un proveedor independiente IAM no puede gestionar permisos sobre el hipervisor (sobre el SO) En IAM se DENIEGA por DEFECTO STS Identity Broker Process -> es el responsable de hacer la gestión de identidades en AWS Amazon Cognito -> federación de identidades / usuarios SCP -> son las políticas de control de servicio, se aplican a las Unidades Organizativas ::: info si dudas en el examen de cual es la respuesta, seguro que es el ROL ::: ## Módulo 8 - Elasticity, High Availability and Monitoring Cloud Trail -> es un log detallado de todo lo que recibe la API de AWS y como ha respondido Alarmas relacionadas con Métricas Reglas relacionadas con Eventos ## Módulo 9 - Automatización ### CloudFormation -> es para automatizar es exclusivo de AWS, pero también hay TERRAFORM es es multicloud (esta herramienta ya no es propiedad de AWS) ### Elastic Beanstalk ![](https://i.imgur.com/GHOy8Xm.png) ## Módulo 10 - Caching - CloudFront ![](https://i.imgur.com/GYQF9jy.png) ![](https://i.imgur.com/eu1GwDp.png) ![](https://i.imgur.com/ycnQp9c.png) TTL por defecto lo almacena 24h, si ponemos TTL a 0, CloudFront irá siempre a consultar al servidor en función de la cabecera EXAMEN ::: info Firewall a nivel de Subred -> ACL Se suele usar para DENEGAR un determinado rango de IPPS ::: ::: info Security Group -> Firewall a nivel de Instancia Son STATEFULL -> si ponemos una regla para permitir una salida, luego se permite su respuesta a ese tráfico Pero el tráfico entrante hay que permitirlo de manera explícita. ::: ::: info Tabla de enrutamiento -> esto también hay que tenerlo para que se comunique de forma interna ::: #### Elastic Load Balancing ![](https://i.imgur.com/XkjqWIb.png) **Stiky sessions** Identifica qué servidor ha dado una sesión a un usuario, por ejemplo, el servidor A, y el ELB deberá seguir enviando las solicitudes de ese usuaio a ese servidor A **DynamoDB** -> también es bueno para almacenar estados #### Amazon ElastiCache https://aws.amazon.com/es/caching/aws-caching/ ![](https://i.imgur.com/fxMmt8F.png) ![](https://i.imgur.com/DeS9vkC.png) ##### Memcached ![](https://i.imgur.com/QiKcIx3.png) ![](https://i.imgur.com/7qHm43K.png) ##### Redis :::info Lazy loading -> solo carga los datos en la caché cuando sea necesario ::: ## Módulo 11 - Arquitectura Desacopladas ![](https://i.imgur.com/40QREA5.png) ### SQS Simple Queue Service (día 3 - 1:30) ![](https://i.imgur.com/h3KO5wb.png) Tipos de Cola: FIFO -> se procesan en orden Estándar -> no tiene en cuenta el orden, el rendimiento es superior ![](https://i.imgur.com/HQQlbhR.png) DLQ (Dead letter queue) ### SNS Amazon Simple Notification Service Es un modelo asíncrono de tipo PUSH ![](https://i.imgur.com/25Bo7Gx.png) Examen -> qué es un modelo pub / Sub (publisher / Subscriber) ##### Cuando usar MQ o SQS o SNS ![](https://i.imgur.com/GFX2yDr.png) ##### Uso de LAMBDA con SQS https://docs.aws.amazon.com/es_es/lambda/latest/dg/with-sqs.html ## Modelo 12 - Microservicios y Arquitecturas ### Contenedores - Amazon ECS Elastic Container Service ![](https://i.imgur.com/qlI5lku.png) ![](https://i.imgur.com/6OGY8W1.png) #### ECR - Elastic Container Registry Se encarga de registrar los contenedores dentro de ECS #### AWS Fargatee Lanza los contenedores ![](https://i.imgur.com/S3djyYR.png) Permite usar cluster de kubernetes (EKS) ### Eliminación del servidor (Going Serveless) HA: High Availability FT: Failure Tolerant.. ### AWS Lambda ![](https://i.imgur.com/lHAfy6x.png) Orígenes de Eventos ![](https://i.imgur.com/7eM3wCf.png) Gestiona ![](https://i.imgur.com/slTRqpy.png) ### API Gateway ![](https://i.imgur.com/w1dlEuw.png) ### AWS Step Functions Es cuando se necesitan flujos para las Lambda ![](https://i.imgur.com/cFBhUJE.png) ## Módulo 13 - RTO/RPO and Backup Recovery Setup ![](https://i.imgur.com/Hsl71Gn.png) :::info RPO Recovery Point Objetive (Objetivo punto de recuperación) -> con qué frecuencia se necesita realizar una copia de seguridad? ::: :::info RTO Recovery Time Objetive -> cuánto tiempo admito que mi aplicación no esté disponible? ::: #### Estrategias de restauración ![](https://i.imgur.com/0HhZHVf.png) Training y certificación ![](https://i.imgur.com/XK7mTHH.png) ![](https://i.imgur.com/85hYTHH.png) EXAMEN -> revisar https://aws.amazon.com/es/faqs/