- 1

Certificación AWS Solutions Architect Associate: Fundamentos y Preparación
03:29 - 2

Preparación para certificación AWS Arquitecto de Soluciones
01:47 - 3

Configuración de presupuestos en AWS para controlar costos
08:48 - 4

AWS Well Architected Framework: Los 6 pilares para arquitectura sólida
04:19 quiz de Fundamentos de AWS
Auto Scaling en AWS
Clase 28 de 69 • Curso de AWS Certified Solutions Architect Associate
Contenido del curso
- 10

Servicios de cómputo AWS: EC2, procesadores Graviton y AMIs
12:14 - 11

Opciones de Compra en EC2
04:43 - 12

Lanzamiento de una instancia EC2 desde la consola de AWS
09:11 - 13

Caracteristicas adicionales de EC2
09:25 - 14

Consulta de metadatos de instancia con IMDS v2 en AWS
04:31 - 15

AWS Outpost para ejecutar servicios localmente con latencia baja
05:54 - 16

Despliegue de aplicaciones web con AWS Elastic Beanstalk
19:46 quiz de Servicios de Computo en AWS
- 20

Direccionamiento IP y bloques CIDR para redes AWS
10:21 - 21

Anatomia y funcionamiento de la VPC
06:43 - 22

Configuración de instancias públicas y privadas con NAT Gateway
07:26 - 23

Seguridad de VPC con NACL y grupos de seguridad en AWS
05:35 - 24

Configuración de grupos de seguridad para instancias públicas
03:52 - 25

Conectividad híbrida en AWS: VPC Peering, Transit Gateway y Endpoints
04:37 quiz de Redes en AWS
- 30

Introducción al modulo y niveles de almacenamiento
04:58 - 31

Diferencias entre Instance Store y EBS en AWS
11:06 - 32

EFS & FSx
02:38 - 33

Creación y configuración de volúmenes EBS en AWS
03:55 - 34

S3
15:33 - 35

Configuración de EFS para compartir almacenamiento entre instancias
08:50 - 36

Recuperación de objetos eliminados con versionamiento en AWS S3
03:42 quiz de Almacenamiento en AWS
- 37

Bases de datos relacionales vs no relacionales en AWS
03:30 - 38

DynamoDB
08:09 - 39

Creación y configuración de bases de datos Dynamo en AWS
10:17 - 40

Elasticache y DAX
04:23 - 41

Escalabilidad y alta disponibilidad con AWS RDS y Aurora
09:17 - 42

Configuración de Aurora en AWS RDS para alta disponibilidad
11:18 quiz de Bases de datos en AWS
Los balanceadores de carga en AWS son fundamentales para distribuir el tráfico, pero cuando enfrentamos picos de demanda, necesitamos ir más allá. Las políticas de autoescalamiento nos permiten adaptarnos dinámicamente a estos desafíos, aumentando o disminuyendo recursos según las necesidades del momento. En este artículo exploraremos cómo implementar estas políticas en AWS para garantizar que nuestras aplicaciones mantengan un rendimiento óptimo sin importar la carga de trabajo.
¿Qué son las políticas de autoescalamiento y cómo funcionan en AWS?
Las políticas de autoescalamiento son reglas que permiten a nuestros sistemas aumentar automáticamente la capacidad de cómputo cuando se detectan picos de tráfico. AWS soporta el autoescalamiento de forma nativa en diversos servicios, incluyendo:
- Servicios de cómputo: instancias EC2, cargas de trabajo en ECS o EKS
- Funciones serverless como Lambda
- Bases de datos
- Otros servicios especializados
La clave del autoescalamiento es que nos permite responder de forma automática a las demandas cambiantes, evitando así la intervención manual constante y asegurando que nuestros sistemas siempre tengan la capacidad adecuada.
Para implementar el autoescalamiento en EC2, que es uno de los más comunes, utilizamos los denominados Auto Scaling Groups (ASG).
Tipos de escalado en AWS
AWS ofrece diferentes tipos de escalado para adaptarse a distintos escenarios:
- Escalado manual: Requiere que agreguemos o quitemos instancias manualmente desde la consola o la CLI.
- Escalado dinámico: Configura el sistema para monitorear métricas específicas (generalmente uso de CPU) y ajustar automáticamente el número de instancias.
- Escalado programado: Permite aumentar o disminuir las instancias en rangos horarios predefinidos, ideal cuando conocemos los patrones de tráfico.
- Escalado predictivo: Utiliza modelos de machine learning para predecir los patrones de tráfico basándose en históricos y ajustar proactivamente la capacidad.
El escalado dinámico es el más utilizado por su capacidad de responder automáticamente a métricas como el uso de CPU, memoria o capacidad de red de las instancias.
¿Cómo configurar Auto Scaling Groups en AWS?
Los Auto Scaling Groups suelen estar conectados a un balanceador de carga, formando una arquitectura robusta para manejar tráfico variable. Esta integración nativa permite aprovechar las métricas de health check para detectar instancias defectuosas y reemplazarlas automáticamente.
AMIs y Launch Templates
Dos componentes clave para trabajar con ASGs son:
- AMIs (Amazon Machine Images): Son imágenes que contienen la configuración base para nuestras instancias.
- Launch Templates: Definen la configuración con la que se crearán nuevas instancias dentro del ASG.
Los Launch Templates permiten especificar:
- AMI a utilizar
- Tipo de instancia
- Volúmenes adicionales
- Tags
- Interfaces de red
- Configuraciones avanzadas
Una ventaja importante de los Launch Templates es que pueden ser versionados, permitiendo realizar rollbacks si una nueva configuración causa problemas. Además, pueden ser reutilizados entre varios ASGs, a diferencia de los antiguos Launch Configurations que estaban limitados a un solo ASG.
Creación programática de ASGs
Aunque la forma más común de crear ASGs es a través de la consola web, también podemos hacerlo programáticamente usando la CLI de AWS. Algunos comandos básicos incluyen:
Para crear un Launch Template:
aws ec2 create-launch-template \
--launch-template-name WebLaunchTemplate \
--version-description Initial \
--launch-template-data '{"ImageId":"ami-0abcdef1234567890","InstanceType":"t2.micro","SecurityGroupIds":["sg-0123456789abcdef"],"IamInstanceProfile":{"Name":"WebServerRole"},"UserData":"BASE64_ENCODED_SCRIPT"}'
Para crear un Auto Scaling Group:
aws autoscaling create-auto-scaling-group \
--auto-scaling-group-name WebASG \
--launch-template LaunchTemplateName=WebLaunchTemplate,Version=1 \
--min-size 1 \
--max-size 3 \
--desired-capacity 2 \
--vpc-zone-identifier "subnet-0123456789abcdef,subnet-0123456789ghijkl" \
--health-check-type ELB \
--health-check-grace-period 300
Para configurar una política de escalado:
aws autoscaling put-scaling-policy \
--auto-scaling-group-name WebASG \
--policy-name CPU_Target_70 \
--policy-type TargetTrackingScaling \
--target-tracking-configuration '{"PredefinedMetricSpecification":{"PredefinedMetricType":"ASGAverageCPUUtilization"},"TargetValue":70.0}'
Esta política configura el ASG para que añada instancias cuando el uso promedio de CPU alcance el 70%, manteniéndose siempre dentro de los límites mínimos y máximos establecidos.
¿Cómo integrar balanceadores de carga con Auto Scaling Groups?
La combinación de balanceadores de carga y ASGs es una arquitectura estándar en AWS para aplicaciones que necesitan alta disponibilidad y escalabilidad. Esta integración permite distribuir el tráfico entre las instancias creadas dinámicamente por el ASG.
Los beneficios de esta integración incluyen:
- Uso compartido de métricas para health checks
- Distribución equilibrada del tráfico
- Respuesta automática a picos de demanda
- Reducción de costos al eliminar instancias cuando baja la demanda
Con esta arquitectura, podemos asegurar que nuestras aplicaciones permanezcan disponibles incluso durante picos de tráfico inesperados, manteniendo un rendimiento óptimo y minimizando costos.
El autoescalamiento es una herramienta poderosa que, cuando se configura correctamente, puede marcar la diferencia entre una aplicación que colapsa bajo demanda y una que se adapta fluidamente a las necesidades cambiantes de los usuarios. ¿Has implementado políticas de autoescalamiento en tu organización? Comparte en los comentarios qué combinación de comandos utilizarías para crear un ASG personalizado para tus necesidades específicas.