Sei sulla pagina 1di 27

Capacitación AWS

Sesión 1 (agosto 27 del 2019)


URL Practica : https://flane-latam.qwiklabs.com/

Module 1: Introduction Architecting on AWS


Nube -> funciona como un sistema operativo, se ocupa de gestionar los recursos.
Conjunto de servicios que se encuentran en una plataforma.

Regla 1 de Amazon: cualquier funcionalidad que se implemente se realiza a base de APIS


con el fin de aprovechar la reutilización.
Regla 2: se prohibió la compra de equipos ya que no se dimensionaba bien y había mala
utilización de recursos.
(AWS) De aquí nació el servicio de alquiler de infraestructura a empresas

 La nube maneja 3 componentes:


Se alquila recursos a pedido.
Se accede siempre por internet, es la única forma de acceder.
Solo pago por lo que uso.

 Se debe dejar de pensar en infraestructura en términos de hardware y pensar


como si fuera software.

Nos genera diferentes ventajas tales como:


 Ya no se necesita la compra de recursos físicos por adelantado ya que todo se
alquila, se remplazan gastos de capital por operativos; donde ya no se tiene que
dar dinero por adelantado
PAY-AS-YOU-GO
Se evita la depreciación del hardware.
 Nos da la ventaja económica ya que posee grandes capacidades respecto a precio.
ya que Amazon usa el 20% de los discos duros del mundo, y ofrece diferentes
sistemas operativos sin necesidad de comprar licencias.
Amazon ofrece precios que tiendes a disminuir gracias a su gran escala.

 No me preocupo por la capacidad, solo pido lo que necesito teniendo la posibilidad


de aumentar o disminuir el performance que necesito, lo que me permite
adaptarme de manera automática.

 Se paga por lo que se pide, dando la posibilidad de tener lo que se necesita de


manera inmediata sin tener tiempos de espera por adquisición de hardware, tengo
la facilidad de probar y equivocarme ya que no habría perdidas por compra de
equipo innecesario.

 Permite enfocarse en lo que importa ya que me permite la ejecución de


aplicaciones sin necesidad de armar infraestructura ya que él se encarga de
escoger los requerimientos

 Amazon es global ya que nos permite tener nuestra información guardada de


forma segura en diferentes lugares.

The well-architected framework (WAF)


Documentos que me da las pautas para validar si la arquitectura se está realizando de
manera adecuada donde se tratan 5 pilares.
 Seguridad: Validar que mis datos estén seguros, teniendo controles para el acceso
a estos recursos
 Fiabilidad: se deben tener procedimiento para evitar errores y si ocurren tener
estrategias para solucionarlos de manera oportuna, control de cambios y prever
situaciones.
 Optimización de los costos: usar el recurso adecuado para dar con la solución, nos
permite saber dónde y quien está gastando el dinero.
 Excelencia operativa: es tratar de saber o que está pasando, monitorear para
corregir de manera oportuna contribuyendo a mejorar de manera continua.
 Eficiencia en performance: se basa en tratar de no tener ni de mas ni de menos, la
idea es elástico y adaptarse al consumo dependiendo de las necesidades en el
tiempo.

AWS Global infrastructure


 AWS Data Center: casa de servidores, Amazon tiende a tener data centers
pequeños de entre 50000 y 80000 servidores, ya que prevé que si hay fallas en uno
los otros den pie a prestar el servicio sin intermitencia.

 AWS Avalibility Zone : es un conjunto de data centers, estas están separadas una
de una

 AWS Regions : es un conjunto de AZ, normalmente 3 . las comunicaciones dentro


de una región son gratuitas; la comunicación entre regiones es por fibra.

 Edge : es un lugar donde no hay data centers pero llega la conexión directa con
Amazon, también se usan para el almacenamiento de cache y poner servidores de
dns (ruta 53).

Choosing Regions for your Architectures


Algunos criter+ios son:
 Es saber si las leyes me dejan guardar los datos en ese país o si mi país me deja
sacar datos (Tema legal).
 Proximidad o latencia: saber cuánto tiempo demoramos en acceder
 Disponibilidad de los servicios en la región, de esto depende también de que
servicios se necesitan ya que no todas las regiones poseen todos los servicios
 El precio ya que este cambia respecto a las regiones.

Module 2: The simplest Architectures


Simple Storage Sevices (S3)
Nuevo almacenamiento de internet (Almacenamiento objeto)
 surgió del problema que los datos deberían ser accesibles desde cualquier parte
del planeta (Acceso a internet).
 se ve la necesidad de mitigar los permisos de acceso a la información cosa que
normalmente no se da ya que cuando se crea un archivo se crea con full control
sobre este, haciendo que no sea seguro la forma en que se comparte la
información (Compartir de forma segura)
 la necesidad de un gran tamaño de almacenamiento (Tamaño WEB -> muy grande)
 Debe ser lo suficientemente robusto (durabilidad esto se mide en % y quiere decir
en qué tiempo se perdería un objeto) por que no se puede perder la información
que se está almacenando y la información no se puede respaldar.
 Este siempre se representa como un balde (Bucket)

 Ruta para acceder a un Bucket

https://S3-region.amazonaws.com/[Bucket Name]/[Objet Name]

 Cuando se crea un Bucket el que crea dicho artefacto es el único que tiene acceso
hasta que el de acceso a alguien más (Bucket Policies)
o Estas políticas son escritas en JSON o desde la interfaz gráfica de AWS, es
aquí donde especifico las reglas para acceder a la información del Bucket.

 Permite transformar la información en un sitio web plano para acceder a la


información, lo que permite que no accedan información no deseada como
desarrollos que puedan causar problemas.
o Linckear algo está prohibido a menos que yo le especifique desde las
políticas a que sitio web tiene permisos para acceder.
o Soporta CORS ya que es una configuración que le doy a mi página web.

 Amazon cobra por la cantidad de espacio que se está usando por lo que la
capacidad a utilizar va ligada al dinero que se posea.
o Cobra por espacio utilizado (GBs por mes) y por sacar los datos.

 Amazon usa tags en vez de directorios para almacenar los objetos.

 También se usa como repositorio de respaldos.

 Nos permite tener una papelera de reciclaje ya que una vez se modifica algo se
guardan las versionar anteriores (Versionado).

 Cada objeto puede tener hasta 5 Teras.

o Cuando pesa < 100 MB se sube completo.


o Si pesa > 100 MB lo particiona y sube las particiones en paralelo (Se trabaja
con APIS y estas se llaman PUT cuya capacidad máxima es de 5GB)
 Para esto se utiliza la herramienta Amazon S3 Multipart Upload
 Subir datos es gratis, pero bajar datos es pago.

 Moving Data into Amazon S3 (Mecanismos masivos de envió de datos)


o AWS Snowball (valija se envía por mensajería)
o AWS Snowmobile (Camión conteiner de discos)
 Tipos de disco.
o Discos Locales -> DAS
 Disco duro (Instance Storage)
o Discos Remotos -> SAN -> Amazon EBS
 Es como un pendrive con un cable más largo
o Archivos Remotos -> NAS -> Amazon EFS
 Archivos remotos compartidos
o Objetos -> S3
 No es recomendable usar el S3 cuando se tienen objetos que están
cambiando constantemente ya que si se modifica solo un dato este
crea de nuevo el objeto y guardaría el anterior.
o Amazon Glacier
 Tiene una característica muy importante y es que su precio es muy
económico ($0.99 TB X Mes).
 Es como un servidor FTP (Debe ser recuperado ya que no deja leerlo
directamente para esto se pasa a S3 antes de leerlo y no es
instantáneo y se cobra por el tiempo que se demora (entre 1-5 min
hasta 48h))
 Este almacenamiento se usa para guardar información que en el
tiempo no sufre cambios.
 Cobra un mínimo de estadía de 3 a 6 meses dependiendo el tipo de
plan que adquiera.
 Se nombra como Vault (Bobeda) y se representa como
 Hay dos tipos de Glacier
 Standard ($4 X TB mínimo 3 meses y cobra por
recuperación)
o Expedited retrieval (1 – 5 min $30 x TB)
o Standart retrieval (3 – 5 horas $10 x TB)
o Bulk retrieval (5 – 12 horas $2.5 x TB)
 Deep Archive (0.99 X TB mínimo 6 meses y cobra por
recuperación)
o Standart retrieval (12 horas $10 x TB)
o Bulk retrieval (12 – 48 horas $2.5 x TB)

S3 vs S3 glacier
 En S3 de hablan de objetos y en glacer de archivos
 Tamaño máximo 5TB y en glacer se habla de 40TB
 No se puede compartir ni convertirse en sitio web (Glacier)
 Su tamaño es infinito (ambos)

 Clases de almacenamiento S3/Amazon Glacier

o Standard: Es el más caro


 $23 x TB
 No hay mínimos de días
 40 centavos el Tera de lectura
o Stardard IA (infrequent Access)
 $12.5 x TB
 Mínimo 30 días
 $10 lectura por TB
o One Zone IA:
 Una sola copia en AZ.
 Archivos temporales, información fácil de reconstruir de manera
ágil.
 $10 x TB
o Glacier

Module 3: EC2 and Amazon EBS


 Amazon EC2: Elastic Cloud Computed (Máquinas virtuales) (Web hosting,
Databases, Authentication or Anything a server can do)
o Nos permite tener completo control.
 Sistema operativo
 Hardware donde se ejecuta.
 Control sobre que se carga desde el booteo (Ej: parches)
o El servicio se cobra por hora.
o Formas de EC2
A. VM
B. Contenedores (Docker)
C. Serverless lambda
o EC2 se identifica visualmente de la siguiente manera
Paso 1: Se elige el sistema operativo que se quiere para la EC2 o
también llamadas AMI, estas son unas plantillas las cuales nos permite generar una o
varias instancias de EC2.

 Permite configurar para elegir quien la puede bootear (Permisos).


 Como esta AMI puede ser usada por muchas maquinas yo puedo elegir a donde se
conecta, puedo elegir la imagen con la que puedo bootear mi máquina virtual.
 Los Sistemas operativos para las EC2 son denominas AMI y se identifican
gráficamente:

Paso 2: se debe configurar la Instance User Data ya que aquí se especifica que se cargara
cuando la maquina EC2 sea booteada (configuración básica de la maquina al bootear)

Nota: Hay un comando el cual nos permite obtener información básica de la máquina
virtual (Instance metadata) -> obtener variables.
http://169.254.169.254/lastest/meta-data/public-hostname
(Esto desde Windows es posible gracias a que tiene navegador por defecto)
Paso 3: Elegir sistema con el que se desea almacenar.
- Los datos se pierden cada vez que la maquina se apaga, solo se debe usar para datos
temporales por eso surgen diferentes tipos de almacenamiento tales como.

 Amazon EBS (Amazon Elastic Block)

Es un almacenamiento remoto de bloque que es persistente y que permite


cambiar de máquina.

1. Debe estar en la misma AZ que el servidor (debe ser local)


2. De la misma forma que una USB solo puede estar conectada a un servidor a la vez.

Hay 4 tipos de disco EBS dos de tipo HDD (Hard-Disk Backend) y de SDD (Solid-State
Backend).
 SDD
o El más rápido, es el disco IOPS SDD, pero es el más costoso.
o El más usado para bootear o base de datos es el General purpose (GP2) es el más
barato por IOPS

 HDD
o Throughput Optimized HDD (ST1) son los MB por segundo más barato.
o Cold HDD (SC1) es lo más barato por giga, pero tiene la menor performance solo
es bueno para almacenar.

Nota: se debe tener la precaución que el hardware soporte el almacenamiento elegido.

Si se necesitan compartir los datos EBS no sirve para esto se utilizaría S3 pero este tiene la
particularidad que este no tiene bloqueo a la hora que dos personas lo abran llegando a suceder
que el que guarde de ultimo gana y borraría la información de la persona que habría guardado
anteriormente, para evitar esto se utiliza el tipo de almacenamiento EFS.

 Elastic File System (EFS o FSx)


o Se permite compartir mediante el uso de locking (bloqueo al usar)
o Dependiendo del sistema operativo hay uno
 Linux EFS el cual soporta NFSv4
 Shared Across
o AZ
o Regions
o VPCs
o Account
 Windows FSx el cual soporta NTFS
 Shared Across
o AZ
o Aunque es más caro permita compartir entre varios por lo que con un solo
almacenamiento se puede compartir con muchos.

Paso 4: Se elige el hardware donde se ejecutará la instancia EC2

- Primera letra familia


o m -> main (genéricos)
o a -> arm (procesadores de teléfonos, solo funcionan con Linux)
o t -> turbo (puede aumentar momentáneamente la potencia)
o c -> compute (posee más poder de procesamiento, mas procesador que RAM)
o r -> más RAM que CPU
o x -> extreme
o u -> ultra
o f -> tiene un procesador fpga para inteligencia artificial.
o g -> tiene tarjetas nvidia especializadas en video GPU
o p -> paralela especializadas para cálculos numéricos
o h -> poseen almacenamiento local tienen intance storage
o i -> es lo último en guarachas
- Numero generación de mi hardware
- Por último, es el tamaño de la instancia

Nota: vCPU equivale a un Thead de un procesador, es la cantidad de hilos que se ejecutaran.

¿Cuánto cuesta EC2?


Depende del tipo de alquiler los cuales pueden ser:

 On-Demand: se usan por demanda del momento y se alquilan por hora (son las más caras)
 Reserved Intances: servicios que siempre deben estar encendidos se recomiendan que se
ejecuten de instancias reservadas.
o Se le garantiza a Amazon una suscripción mensual por lo que Amazon da un
descuento.
o Se alquilan mínimo por un año.
o Hay dos tipos
 Standard RI-> es una maquina fija y no se puede cambiar
 Convertible RIs -> se puede cambiar por una instancia superior
 Scheduled RIs
 Spot Instances: ofertas.
o Se puede contratar spot block ósea se paga por un tiempo de 1 a 6 horas donde
Amazon respeta el tiempo si no cobra.

Nota:

Spot fleet -> aplicación gratuita que nos permita que según la potencia necesaria de forma
automática escoge cuales instancias comprar

Opciones donde se ejecutan mis instancias.


 Dedicated Instances: Nos permiten elegir el servidor físico usando instancias dedicadas
con el fin de evitar vecinos ruidosos pero este servicio es muy costoso y ya no se usa pues
se identificó que las instancias están bien aisladas unas de otros (1440 dólares X mes).
 Dedicated Host: se compra un servidor entero lo que permite colocar las propias licencias
lo que implica que se puede ahorrar diseño ya que Amazon no es el que cobra por la
licencia (BYOL)
 Cluster Placement Groups: es cuando las instancias deben estar cerca, se le dice a Amazon
la necesidad de que las instancias deben estar cerca una de la otra.
 Spread Placement Groups: se especifica que las instancias deben estar lejos una de la otra
ósea en hardware diferente.

Module 4: Adding A Database Layer.


Hay dos tipos de base de datos relacionales y no relacionales, se debe preguntar primero con qué
tipo de base de datos de va a trabajar y si ya se tiene una se recomienda seguir con el mismo tipo
o parecido.

Si se inicia desde cero se debe preguntar.

- Hasta cuanto quiero crecer


- El tamaño
- El tipo y tamaño de objetos
- Cuando va a durar en el tiempo

Se debe escoger si se usara una base de datos tradicional relacionar usando SQL o no relacional
donde cada una tiene sus ventajas y desventajas.

 Relacionarles (Microsoft SQL,Oracle,MySql o marieDB)


o Se acede a ella usando un lenguaje llamado SQL
o Usan formas normales (teoría de algebra relacional)
o No pueden crecer de forma horizontal solo de forma vertical por lo que la
performance está limitada (no se le pueden poner mas servidores)
o Se hablan de tablas donde las columnas son los tipos de datos y las filas son los
registros
o Se debe tratar que no haya ningún dato repetido donde solo debe haber unos
campos claves que permiten el cruce entre tablas
o Está muy bien estructurada
o Es muy rígida, ya que es muy difícil modificarla
o Debe estar en un único equipo.
o Se puede tener la certeza de una transacción ósea que lo que se inicia se tiene la
certeza de que termino o hacer de cuenta que nunca paso.
o Se define muy claramente que se guarda.
o No puedo aumentar la performance en forma infinita.
 No relacionales (MongoDB,Cassandra o Redis)
o Permite crecer horizontalmente
o Se basa en la búsqueda mediante el uso de una clave o buscando por contenido o
grafos
o Permite que la base de datos este repartida en distintos servidores
o No esta dibujado en forma de tabla
o Su performance es mucho más grande.
Nota : dependiendo de la base de datos que use Amazon se hace cargo de cosas o no si uso algún
servicio de base de datos que él no posee yo me debo hacer cargo de toda la parte de
configuración a diferencia de que si uso alguna opción que ellos ofrecen ellos se encargan de todo.

 Base de datos relacional


o Almacenada en EBS
o Almacenada en Storage SSD replicado y especializado (Aurora)
Usa 5 copias en las AZ pero solo funciona para MySQL (5 veces más rápido) y
PostgreSQL (3 veces más rápido)
o Puede tener un tamaña de más de 16TB dependiendo del motor de la base de
datos

 Base de datos no relacional (DynamoDB)


o Tiene tanta performance y capacidad como dinero se quiera
pagar
o Se usa cuando hay problemas de performance, capacidad o no se
Puede usar un esquema fijo.
o Permite tener replicaciones en diferentes regiones.
o No tengo control de escritura gana el ultimo que escribe no posee locking.

Security controls for amazon EDS and DynamoDB.


RDS -> Amazon Relational Database Service
En RDS db2 y EBS se escoge que se encripta y que no, a diferencia de aurora que siempre se
encripta la información.

DB2, Casandra -> L1 Amazon no se encarga de nada

RDS en EBS -> L2 Amazon se encarga de la base de datos, pero no de los backups

RDS en Aurora -> L3 Amazon responde por todo por la base de datos, los respaldos y la
encriptación

 Migrations options
o One-time mogration
o Ongoing migration
o Snowball Edge
o Puede ser en caliente o apagando todo dependiendo de la necesidad.
o Además, puede ser masiva.
o Permite el cambio de un motor de base de datos a otro, permitiendo traducir los
formatos de las bases de datos.

Module 5 : Segurity
Amazon Virtual Private Cloud (VPC)

 Es mi red aislada personal donde nadie tiene acceso a menos tu que yo se lo


permita.
 Esta aislada del exterior
 Me permite quien puede tener acceso y de qué forma.
 Me permite agrupar recursos de forma ordenada dividiendo las responsabilidades
como desarrollo, testing , etc.
 Es una red aislada para mi Account, puede tener la cantidad que desee de
direcciones IP4 e IPV6
 Siempre vive sobre una región, lo cual podemos escoger en que AZ deseamos
poner nuestros recursos.
 CIDR –> método de subneting de Amazon
o Example
 0.0.0.0/0 -> All Ips
 10.22.33.44/32 -> 10. 22. 33. 44
 10.22.33.0/24 -> 10. 22. 33. *
 10.22.0.0/16 -> 10. 22. *. *
o Amazon se reserva 5 direcciones las 4 más pequeñas y la última dirección
IP.
 Subnet: están para establecer paredes con el fin de controlar los diálogos entre las
redes estas son las divisiones que se realizan dentro de las AZ
o Dentro de las subnet hay que adicionar puertas para que se pueden
comunicar entre ellas, estas serían las tablas de ruteo ya que estos son los
caminos que nos indicar como ir de una subnet a otra subnet.
o Una vez se crea la subnet se crea automáticamente una tabla de ruteo que
indica que las subnet pueden hablar entre ellas, pero no con el exterior.
o La primera subnet debe ser la que va a tener contacto con la red exterior y
esta es la Public Subnet la cual tiene una puerta que se llama Internet NAT
gateway y después se realizan las subnet que no van tener acceso a la red
exterior Private Subnet.
Nota: Internet gateway es una especie de router que no permite salir a la red
exterior, es el que tiene la IP publica ya que todas las
subnet poseen IP privada.
- Dado que las IPS son variables se deben usar IPS fijas, pero estas son
limitadas por Amazon 5 por región (Elastic IP address)
- NAT gateway: Es el componente de hardware dentro de la subnet publica que
nos permite que las instancias de las subnet privadas salgan al exterior. Aquí es
donde se ponen las direcciones que necesitan comunicación directa con
el exterior.

 Buenas practicas
1. Escoger adecuadamente que CIDR usar ya que esto depende la cantidad de
conexiones permitidas.
2. SI se quedan cortas las direcciones IP es un problema, por lo que se recomienda
sobredimensionar (IPS privadas son gratuitas)
3. Saber cuántas subnet nos necesarias, como mínimo son necesarias son la pública y
una privada pero si se tiene una base de datos que sea administrada por Amazon se
tiene una subnet llamada Restrictec o Protected ya que estas no tienen la necesidad
de ni salir ni entrar a internet.
4. Pensar en donde hay más máquinas y hay menos máquinas., por lo que es mejor tener
más rango de IPS en la subnet privada ya que es aquí donde se realiza el trabajo y las
máquinas de las subnet publica con son las más frágiles ya que serían las más
atacadas.

 Firewall
Es una protección sobre las instancias, dichas instancias tienen un firewall por defecto que no
autoriza que nadie entre, pero si permite que salgan y vuelvan a entrar.

La subnet nos permiten que sean utilizadas como firewall, pero se usan más como
organizadores.

Stateful: Este firewall no deja entrar a nadie, pero deja salir y recuerda quien salió para dejarlo
entrar de Nuevo.

Stateles: Permite especificar a quien se desea bloquear, pero por lo general no se usan solo en
casos extraordinarios (ACL´s -> Network Access Control List)

Nota: Los NAT gateway no son gratuitos ni en el año gratuito de AWS $32 el mes.

Module 6: Networking in AWS part 2


- Como conectar mi banco a mi VPC
1. Usando Internet
a. Es necesario usar un IPSEC (IP Secure) UPN ya que si no cualquiera podría ver
el flujo de datos hacia Amazon por lo que debe usar una VPN (SITE-TO-SITE
VPN)
b. Es necesario utilizar un VGW que para Amazon sería un virtual private
gateway, este es el hardware que presta Amazon para la comunicación con la
VPC. No solo permite conexión uno a uno si no muchos a uno.
2. Direct Connect (DX)
a. Para esto hay que tener acceso al backbone de Amazon ósea tener acceso a
un Edge de Amazon.
i. Esta conexión puede ser por fibra de 1Gbps ($216xMes) o de 10Gbps
($1600xMes).
ii. Puede ser una conexión compartida Hosted Connection el cual tiene
una velocidad de 50Mbps ($43xMes)

Nota: debido a que la fibra se puede romper es recomendable tener de igual manera la conexión
por internet hacia AWS.

- Como se usa la VPC para trabajar entre equipos.


Se recomienda que cada área de trabajo tenga su propia VPC, es por esto que se debe elegir entre
dos alternativas

1. Multi – VPC
a. es una cuenta con un administrador que permite que tenga múltiples VPC, con el
fin de controlar los accesos (única organización de cobro).
2. Multi - Account
a. Nos permite separar los VPN por Account.

- Conexiones entre VPC para compartir información sin pasar por internet.

1. VPC Peering

a. Significar emparejar VPN’s, se tendrá una tabla de ruteo de una con otra, pero no
se pueden solapar las direcciones IP, funciona tanto dentro como fuera de una
región.
b. Su conexión siempre es uno a uno, no permite más de una conexión entre VPN
c. Se pueden utilizar máximo de 50 a 120 VPN.

2. Transit Gateway
a. Es el reemplazo de peering y se basa en la utilización de un HUB el cual centraliza
las comunicaciones.
b. Posee una performance de 50Gbps por enlace.
c. Permite la conexión de hasta 5000 enlaces
d. Es mucho más simple, rápida y escalable
e. $72 x Mes enlace.

3. EndPoints
a. Conocidos como punto de montaje, son externos a la VPC, pero están dentro de la
región Ej.: S3
b. Son administrados, escalables, redundantes
c. Hay de dos tipos
i. Los que transfieren datos S3 o DynamoDB
ii. Los que transfieren servicios certificados digitales.

- Como darles tolerancia a fallos a mi VPC


 ELB (Elastic Load Balancing)
a. Estoy obligado a acceder por url lo que me obliga a tener un DNS
b. Es la herramienta que me permite responder a una instancia que dejo de
responder, algo así como un switcheo automático.
c. Tenemos un filtro que recibe los ataques desde el exterior ya que las instancias
públicas no tienen conexión directa a internet por lo que estas instancias pueden
pasar al subnet privado.
d. Elimina la necesidad de utilizar IPS estáticas
e. Nos da la posibilidad de aumentar la seguridad
f. Nos permite re direccionar las cargas el tráfico entre instancias (Balanceador de
cargas)
 Redirección la carga con base a la URL (Application Load Balancer)
o HTTP y HTTPS
o Capa 7
 Distribuye por performance ósea por la cantidad de paquetes o uso
(Network Load Balances)
o TCP
o Capa 4
o Ips tatica para la aplicación
g. Tolerancia a fallos, deja de enviarle requerimiento cuando la maquina no esté
disponible.
h. TLS Termination: puede ser el repositorio de mis certificados además de realizar la
función encriptando y des encriptando https
i. Connection Draining : escurrir la corrección , no se des registra hasta que no
termina la sesión.
j. Sticky session: sesiones pegajosas o afinidad , nos permite que cuando se inicie
una sesión y se logea el usuario no tenga que volver a ingresar las credenciales
cuando cambia de instancias o paginas

Funcionalidades de una ELB (El complemento es lo de arriba)

1. Seguridad
2. Balanceadores de carga
3. Tolerancia a fallas
4. TLS Termination
5. Connection Draining
6. Sticky session

Nota: Evitar los únicos puntos de falla, un ejemplo es en vez de tener una única base de datos
debo tener una principal y una de contingencia, esto con el fin de aumentar mi disponibilidad.

Disponibilidad a través de una región

 Servidor DNS (Route 53)


o Es un servicio centralizado en forma piramidal que dado un nombre me devuelve
una dirección URL
o Este servicio es el que Amazon garantiza disponibilidad del 100%
o Nos permite que al fallo de una región se realice el switcheo con la otra región
o Criterios.
 Si una región se muere me redirección a la nueva región
 Geolocalización
 Re direccionamiento Basado en latencia
 Weightes round Robin: nos permite re direccionar a los clientes por
porcentaje ejemplo quiero que el 20% de mis clientes accedan a la nueva
página web y el 80 a la versión anterior.

Module 7: AWS Identify and Access Management


 Account
o Es el Usuario que puso la tarjeta de crédito es el súper Usuario ya que tiene los
permisos de todo, es por esto que no se le puede limitar los permisos por lo cual
no se recomienda no usarlos por lo que se recomienda.

1. Crear unos usuarios administradores: estos tienen permisos para administrar


los recursos, pero no puede saber cuándo se está gastando a menos de que se
le den estos permisos.
a. Una vez creado el usuario administrador se debe deshabilitar el
usuario del account o usuario dios.

Nota: siempre dar los permisos mínimos para el trabajo habitual ya que se pueden subir los
permisos de forma momentánea si es necesario.

IAM -> es la herramienta para administrar los usuarios locales en Amazon.

Tipos de usuarios

 IAM Principals
o IAM USER -> usuario local de AWS

 Son nombres de personas Ej AwStudent , PepitoPerez


 Están debajo de un Account
 Tiene su propio nombre y contraseña
 Se les debe dar los permisos ya que nacen sin permisos.

o Federated user -> usuarios validados en un directorio fuera de Amazon


o Identity provider (IdP) -> usuario validado desde una red social, por ejemplo.
 Para los usuarios externos no se adicionan a un grupo si no que se les da
un rol
o Amazon Cognito -> user pools; identity pools. se usa cuando no se quiere tener un
usuario registrado en ningún lado.

o User group -> aquí es donde adicionamos los permisos generales y los usuarios
que tendrán acceso a esos permisos
o IAM Role -> son los permisos que se le dan a cada tipo de usuario es el rol que se
le da a un usuario en especifico
 Los roles se usan cuando se desea dar autorizaciones momentáneas a un
usuario.
 Los permisos se pueden dar por tiempo o Token (STS Amazon), es la llave
para acceder, pero con un tiempo de vida, este servicio es más que todo
para usuarios que se validan desde un directorio externo como lo son
desde internet.

AWS Organización: es una opción que nos permite la posibilidad de tener y administrar múltiples
cuentas de una organización.

Module 8: Elasticity, High Availability, and Monitoring


Aumento o disminución de performance respecto a las necesidades del momento.

Para tener una alta disponibilidad.

TOLERANCIA A FALLOS + ESCALABILIDAD (Aumento de la Performance) = HIGH AVALIBILITY

ELB en 2 AZ

ROUTE 53 EN 2 REGIONES -> Redundancia.

 La forma de evitar que nos falten cosas es comprar de más, pero esto implica sobre costos
que se pueden perder es por esto que existe la propiedad de Elasticity lo que me permite
disminuir los recursos o aumentarlos de ser necesarios.
o Hay dos tipos de elasticidad
 Por tiempo
 Por eventos puntales Ej: oferta de un producto
o La forma de reaccionar respecto a lo que está pasando es monitorear.
 Amazon CloudWatch
 Hay gratis que hace medidas cada 5 min de muchos servicios
 El pago hace medidas cada minuto de todos los servicios
 El monitoreo nos permite realizar.
 Métricas
 Logs
 Alarmas -> es lo que me alerta cuando algo pasa
 Eventos –> es cuando deseo realizar algo
 Reglas -> es lo que deseo realizar
 Target -> es sobre lo que voy a actuar
 Se puede monitoria
 El dinero que se está usando
 El performance (métricas)
 Los accesos a las APIS
 Que circula por la red
 VPC Flow Logs ( nos permite visualizar todo lo que circula dentro de
nuestra red)
 Me permite capturar los paquetes de todo lo que ocurre dentro
de una VPC (Es un capturado de paquetes)
 Estos paquetes son guardados en CloudWatch Logs

Como escalar maquinas


La herramienta para realizar auto scaling se llama Amazon EC2 Auto Scaling

 Nos permite poner y sacar maquinas desde diferentes AZ


 Puedo poner y sacar máquinas de tres formas
o Sabiendo en que momento necesito poner más o menos máquinas. (Scheduled)
o Cuando cambia porque si cuando se observa que se necita algún recurso
(Dynamic)
o Predecir mediante el monitorio basado en inteligencia artificial (Predictive)
 Escoge cualquier servicio que tenga disponible ya sea reservado, splot o por demanda.
 Auto-Scaling group
o Auto-Scaling Target
 Ej: CPU 50%
 Debe haber un mínimo de una maquina encendida por AZ.
 Los máximos de máquinas se basan en el dinero que se quiera pagar.
 Escogemos la capacidad en la que nos queremos mantener.
 No permite hacer múltiples medidas.
 Solo aumenta y disminuye de a una medida.

Step Scaling

 Tiene múltiples medidas


 Permite activar o disminuir múltiples maquinas simultáneamente

Como modificar la performance de una base de datos


Hay dos tipos de problemas:

- Lectura
 Se solucionan con múltiples copias (Read replicas), se usa en una
base relacional cuando se tienen más lecturas que escrituras no es
posible tener en Microsoft SQL server en aurora 15 y en el resto 5.
 Cambiar la potencia de la instancia o la velocidad de mi
almacenamiento no es posible realizar en Microsoft SQL server.
 Aurora Serverless
o Es un servicio de Amazon que nos permite pagar
únicamente por el tiempo en el que se ejecuta un proceso
solo por el tiempo que tome, ya que son servidores que
siempre están activos.
- Escritura
 Divido la base de datos por partes ya sea por pares o impares, o
por letras (Sharding) Realizar particiones y usar un software que
divide la base de datos para la escritura y la une para la lectura.
 SQL
o
Tienen problemas para escalar ya que solo escalan de manera vertical mas no
horizontal, además de ser rígidas y difíciles de modificar.
 DynamoDB

Hay dos vías de escalar

o Auto scaling
 La performance esta topeada por el valor del dinero que quiero gastar
 Cuando una partición esta topeada y otra tienen de más Amazon permite
compartir el performance que tiene inutilizado en el que necesita más
(Adaptative Capacity)
o On-Demand
 Pago por lo que consumo en el instante
o Se pueden cambiar de uno al otro, pero solo una vez por día.
o Se cobra siempre la capacidad básica así se consuma menos performance.

Module 9: Automation
 Productos que usan en Desarrollo
 Programar infraestructura como código.

¿Por qué programar?


O automatizar la implementación de infraestructura

 Manual mente no podemos equivocar


 Se eliminan errores, esfuerzos y se disminuye el tiempo de implementación.
 Se tiene control de los cambios que se llevan a cabo
 Se sabe quién hizo las cosas
 Permite crecer rápido en escala ya que se puede hacer masivo.

Como respuesta a la necesidad de evitar la implementación manual nace la metodología de

Infrastructure as code IaC.


Amazon ofrece tres productos para la implementación de IaC

1. Cloud Formation
a. Es un producto de Amazon que con tiene con código al igual que un programa,
este código permite modelar y documentar.
b. Una vez hecho el código se permite ejecutar con el fin de aprovisionar la
infraestructura y da la posibilidad de con solo modificar el código se actualiza la
infraestructura.
c. Este código está escrito en JSON o YAML (Código fuente)
i. Este código fuente se ejecuta con mediante el AWS CloudFormation
engine generando como tal una Architecture stack (esta como tal ya es la
infraestructura)
d. Como cualquier código lo puedo ejecutar múltiples veces, lo que me permite la
implementación masiva de infraestructura.
e. Nos permite implementar conditions lo cual implica que le indico la cantidad de
recursos que necesito.
f. Existe un programa llamado drift detection el cual nos permite comparar el código
cargado con el actual para validar algo así como un control de versiones.
g. Se recomienda la programación por capas dividiendo responsabilidades .
h. Hay una herramienta llamada Cloud Former (estado beta) la cual nos permitida
convertir la infraestructura ya creada y volverla código.
i. Existen modelos de implementación ya definidos por Amazon para resolver
problemas estándares llamado AWS Cloudformation templates
j. Hay un producto complementario llamado System Manager el cual nos permite la
administración del mantenimiento de mi infraestructura de manera automatizada,
funciona tanto para Windows como Linux.
i. Nos permite correr programas
ii. Guardar biblioteca de parches e instalarla con condiciones
iii. Decidir cuándo se realizará el reboot.
iv. Administra si las actualizaciones se realizaron bien o no

2. Ops Works
a. Es la herramienta que se usar orientada a la instalación y mantenimiento de las
aplicaciones.
b. Hay diferentes herramientas para realizar este tipo de ejecuciones automáticas
i. AWS OpsWorks Stacks (gratuito y es compatible con Chef)
ii. AWS OpsWorks for Chef Automate ($11 x mes servidor administrado)
iii. AWS OpsWorks for Puppet Enterprise ($12 x mes por servidor
administrado)
3. AWS Elastic BeansTalk
a. Esta escrito es Python
b. Es automatizar todo sin que yo necesitar saber cómo se implementa, crea la
infraestructura de manera automática.
c. No me preocupo por nada de la infraestructura.
d. Hay dos opciones
i. Una instancia una AZ
ii. Auto size, en dos AZ

Module 10: Caching


 Cache en el EDGE
 Cache en la APP
 Cache en la DB

Cache es tener las cosas más usadas la que necesito en un instante tener una copia más cercana;

- justifica el uso de cache cuando se tiene información muy lejos y lenta de obtener.
- Cosas que nunca vencen.
- Cosas que no sea importante mantener actualizada por ejemplo información.

Beneficios.

- Mejor los tiempos de respuesta ya que la información está más cerca del usuario
- Me evita leer los datos del lugar original por lo que en el lugar original se puede dedicar a
otros procesos.
- Es más barato leer de un cache que de un dato original.

Se puede realizar almacenar el cache desde el cliente o más cerca de los servidores.

1. Caching en internet (Edge).


 Utiliza los puntos de Edge de Amazon con el fin de utilizar el backbone de Amazon
 La herramienta que se usa para este cache se llama Amazon CloudFront es un
content dekivery network (CND)

Ventajas:

 Mejora la velocidad (Performance)


 Hay diferentes métodos para actualizar la información del cache.
o Puedo estableces Time to Live (TTL)
 con el fin de especificar cada cuando debo actualizar un dato en el
cache, se puede especificar objeto por objeto.
o Change object name
 La forma más fácil de forzar una lectura nueva es renombrar el
archivo y pedirlo por el nuevo nombre.
o Invalidate object
 Es el más costoso y menos indicado por que toca sacarlos de todos
los caches.

 Mejora la seguridad
o Me mejora la seguridad ya que si atacan un punto de Edge tengo otros
que me soportan ese ataque ya que no están siendo afectados, ya que el
ataque solo afecta el Edge más cercano al usuario.
 Mejora la experiencia del cliente

Aplicaciones:

2. Caching en APP.
 Sticky Session o Afinity . me permite recordar que instancia me atendió las
sesiones y me permite usar la misma instancia.
 Al usar DynamoDB para guardar estados de la sesión
o El tiempo de mide en ms

3. Caching en DB
 Deben ser DB no relacionales
 Se puede usar tanto para caching de sesiones como base de datos.
 Existe Amazon DynamoDb Accelerator (DAX).
o El tiempo se mide en us.
 Hay dos bases de datos más en memoria que son OPEN
o ElasticCache Redis (80 nodos y puede ser multi AZ)
o ElasticCache MemChached (20 nodos)
 Es una gran cantidad de servidores (Nodos) con mucha RAM que
la usan como base de datos.

Ventajas
 Es más rápido ya que le quita carga a la base de datos para realizar otras acciones.

Module 11: Building Decoupled Architectures


 Decoupling (Desacoplar un programa)
o Una arquitectura cliente servidor es fuertemente acoplado
 No son sólidos y son difíciles de escalar ya que si adiciono más
tengo que meter todos los procesos extras.
 Para desacoplar se recomienda poner un artefacto en medio que sea el encargado
de direccionar las conexiones
 Desacoplado sincrónico
Una posible solución es usar ELB, pero eso implica los siguientes problemas
o Si falla una etapa hay que implementar LOG
o Aumento repentino del Consumo, es costoso -> Over Proxisioned
o Mantener el orden o la secuencia. -> TIME STAMP
 Desacoplado Asíncrono -> Mensajes
o Fue el primer servicio que escribió llamado Amazon SQS
o Se busca que sea manejado por eventos que se desencadenen.
o Es una forma de hacer comunicar las capas entre ellas
o Amazon SQS (Simple Queue Sevices)

 Es un buffer que es un túnel que guía las comunicaciones, el


primero que entra es el primero que sale, se quedan almacenados
en el buffer hasta que alguien lo procese y lo borre
 Es un servicio completamente manejado por Amazon (nivel 3)
 Entre las capas se generan mensajes que se van almacenando en
un buffer que otra capa que lee, procesa y borra del buffer.
 Permite sin ningún problema aumentar o disminuir la velocidad.
 Medir la longitud de la cola es una muy buena forma de medir la
performance necesaria para el sistema.
 Puede ser costoso mi la fila se vacía ya que por cada intento de
lectura el cobra, para esto se implementa Long polling
 SQS es bueno para un mecanicemos asíncrono entre procesos
como buffer para ver cómo van cambiando las cosas
 Es malo ya que no hay forma de elegir el mensaje solo se analiza
en que esta de frente del tuvo y el tamaño del mensaje es de
256Kb, por este tamaño se recomienda de trabajar con punteros
para realizar mejor la lectura de un S3.

o Amazon SNS (Simple Notification Service) o Topics

 Se tienen son publicadores que generan un mensaje que inscriben


dicho mensaje y lo que se tiene es un proceso que copia el menaje
y lo distribuye entre toda la otra capa mediante el uso de
subscriptores.
 No hay ninguna garantía que se procese ya que no le importa solo
se encarga de entregar el mensaje.
 No hay garantía de orden ya que reparte de manera inmediata
apenas llegan los mensajes.

Module 12: Microservices and Serveless Architectures


1. Procesar instancias EC2
a) Elijo AMI
b) Elijo el tipo de instancia
c) Darle User Data
 Pesada en Ram y CPU
 Demora en Bootear
 Cobran por hora.

2. Contenedores Docker
 Micro servicios
i. Es tener códigos más compactos
ii. No deben depender directamente de datos , deben ser autónomos.
iii. Deben ser especializados solo deben hacer una sola cosa
 Con esto definimos una API
 Container Services
i. Para procesar micro servicios se utilizan contenedores.
ii. Un contenedor me muestra una copia de sistema operativo del
servidor o kernel , Es el proceso de virtualizar un sistema operático.
iii. Docker (Motor de contenedor) es el programa que me va a mostrar
una visión de mi kernel de Linux o Windows server.
iv. Los contenedores deben llevar los dll’s , y las necesidades para el
performance.
v. Dentro de los servicios de Docker hay un orquestador que es un
programa que se encarga de distribuir , el cual tiene como
orquestador a Kubernettes
vi. Amazon EKS es para Kubernettes , pero esta es paga por lo que hay
otra opción gratuita llamada ECS.
vii. Estos contenedores se guardan en S3 , al ser muchos contenedores
existe Amazon Elastic Container Registry (ECR) el cual me busca el
contenedor que necesito dentro del almacenamiento S3.
viii. Fargate , yo le lanzo un contendor y el me crea la infraestructura
automáticamente.
Ventajas:
 Contenedores aislados del hardware
 Aislados unos de los otros
 Son más livianos y bootean más rápido por lo que puedo tener una
configuración más dinámica.

3. Serverless (Lambda)
Si yo logro tener una API , yo no necesito decirle que lo levante en un contenedor solo le
digo Amazon que lo ejecute, ya que Amazon se encarga tanto de escoger sistema
operativo como infraestructura y que Amazon tiene una cantidad de servidores esperando
a recibir código.

 Se desentiende de manejar servidores.


i. Ni máquinas virtuales.
ii. Ni contenedores.
iii. No se sabe dónde se corre
 Debe ser código independiente , no puede depender de resultado directo
de otra ejecución , debe ser totalmente asincrónico
 Puesto que tiene que interpretar código solo funciona con código que el
conoce tales como
i. Node.js
ii. Java
iii. Python
iv. C#
v. Go
vi. Ruby
 Solo se disparan de forma agendada o como respuesta a un evento.
 Pueden correr en una región o en el Edge (Ejecuta Node.js y Python)
 Es un pequeño código al cual le voy a decir cuanta RAM voy a usar , le
puedo pasar bibliotecas, esto se le pasa a lambda el ejecuta y me deja el
resultado donde yo le especifique donde quiero que me lo dejen
 Me facturan por décima de segundo y no puedo ejecutar más de 15 min
 Cualquier cosa que me pueda lanzar un evento puede ejecutar un lambda
 Es la forma más barata de ejecutas, por lo que me permite olvidarme de
todo lo que sea infraestructura.
 Solo me cobran por el tiempo de uso y por la RAM que use.
 Solamente puedo ejecutar micro servicios
 Permite correr código en paralelo
 Api Gateway es un proceso que permite invocar un API desde afuera de mi
región filtrando lo que puede entrar.
i. No necesito mostrar lo que hay adentro , solo muestro las APIS
importadas lo cual me permite asegurarme contra ataques
externos.
 Step functions , nos permite de manera gráfica implementar un flujo de
lambdas.

Module 13: RTO/RPO and Backup Recovery Setup


Como respaldar los equipos in house y como crear una contingencia en temas de región.
 High Avalibility
 Backups
 Disaster Recovery

RPO -> Recovery Point Objetive, es cada cuando voy hacer un punto de recuperación.

RTP -> Recovery Time Objetive , es el tiempo que toma recuperar los datos

 Si se quiere tener tolerancia a fallas sobre una az o región se debe duplicar


i. S3,EFS,EBS
ii. RDS
iii. DynamoDB
 Duplicar computo y conexión
i. EC2 instances
ii. Containes
iii. VPC
 Duplicar on-premises storage to aws
i. File storage
ii. Back storage

Potrebbero piacerti anche