# Architecting AWS
## Introducción


## Infraestructura global AWS

## Módulo 2
### Las arquitecturas más simples

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

::: 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
:::


#### 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

Qué consulto aquí? los metadatos de la instancia
:::

Ahora mismo, ya existen EBS compartidos (pero esto de momento no lo tenemos en cuenta para el examen)

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

:::

Diferencia:
Instancias reservadas es el compromiso por USO
Savings Plans compromiso por COSTO



EXAMEN

EXAMEN

## Módulo 4 - Adding a database layer

BBDD Relacionales y no relacionales

### Amazon RDS DynamoDB


**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


RFC 1918 https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html


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


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

ENI (Elastic Network Internet)

#### 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

Para denegar sería con un ACL
EXAMEN -> de forma predeterminada todo se bloquea

#### 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

## Módulo 10 - Caching - CloudFront



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

**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/


##### Memcached


##### Redis
:::info
Lazy loading -> solo carga los datos en la caché cuando sea necesario
:::
## Módulo 11 - Arquitectura Desacopladas

### SQS Simple Queue Service (día 3 - 1:30)

Tipos de Cola:
FIFO -> se procesan en orden
Estándar -> no tiene en cuenta el orden, el rendimiento es superior

DLQ (Dead letter queue)
### SNS Amazon Simple Notification Service
Es un modelo asíncrono de tipo PUSH

Examen -> qué es un modelo pub / Sub (publisher / Subscriber)
##### Cuando usar MQ o SQS o SNS

##### 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


#### ECR - Elastic Container Registry
Se encarga de registrar los contenedores dentro de ECS
#### AWS Fargatee
Lanza los contenedores

Permite usar cluster de kubernetes (EKS)
### Eliminación del servidor (Going Serveless)
HA: High Availability
FT: Failure Tolerant..
### AWS Lambda

Orígenes de Eventos

Gestiona

### API Gateway

### AWS Step Functions
Es cuando se necesitan flujos para las Lambda

## Módulo 13 - RTO/RPO and Backup Recovery Setup

:::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

Training y certificación


EXAMEN -> revisar https://aws.amazon.com/es/faqs/