Políticas de escalado: seguimiento de objetivo y escalado por pasos
Configure el seguimiento de objetivo para mantener una utilización de CPU determinada y el escalado por pasos para responder a los umbrales de las alarmas de CloudWatch.
Políticas de escalado: seguimiento de objetivo y escalado por pasos es una lección gratuita de AWS Solutions Architect en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AWS Solutions Architect, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AWS Solutions Architect incluye 4 lecciones en total.
Por qué existen las políticas de escalado
Una capacidad deseada estática funciona cuando la carga es constante, pero el tráfico real fluctúa. Las políticas de escalado permiten que un Auto Scaling Group ajuste automáticamente la capacidad deseada en respuesta a las métricas. AWS ofrece tres tipos principales de políticas dinámicas: Target Tracking, Step Scaling y Simple Scaling. Para el examen SAA-C03, es especialmente importante comprender Target Tracking y Step Scaling.
Explicación del escalado por seguimiento de objetivos
El Target Tracking Scaling funciona como un termostato: se especifican una métrica y un valor objetivo, y AWS calcula automáticamente cuántas instancias añadir o eliminar para mantener la métrica en ese objetivo. Por ejemplo, si establece como objetivo una utilización media de CPU del 50 % y la utilización sube al 80 %, el ASG añadirá suficientes instancias para que la CPU vuelva al 50 %. AWS gestiona por usted las acciones de escalado horizontal y reducción horizontal.
aws autoscaling put-scaling-policy \
--auto-scaling-group-name 'MyAppASG' \
--policy-name 'TargetTrackingCPU50' \
--policy-type TargetTrackingScaling \
--target-tracking-configuration '{
"PredefinedMetricSpecification": {
"PredefinedMetricType": "ASGAverageCPUUtilization"
},
"TargetValue": 50.0
}'Métricas predefinidas frente a métricas personalizadas para el seguimiento de objetivos
Target Tracking admite de forma integrada varias métricas predefinidas: ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut y la métrica específica de ALB ALBRequestCountPerTarget. Para KPI específicos de la aplicación (profundidad de cola, conexiones activas o métricas empresariales personalizadas), puede proporcionar una métrica personalizada de CloudWatch. Las métricas personalizadas ofrecen un control mucho más preciso sobre los factores que determinan sus decisiones de escalado.
Periodo de enfriamiento para el seguimiento de objetivos
Después de un evento de escalado horizontal, el ASG espera un periodo de enfriamiento (300 segundos de forma predeterminada) antes de evaluar otro escalado horizontal. Esto da tiempo a las instancias recién iniciadas para comenzar a gestionar tráfico y permite que la métrica se estabilice. Del mismo modo, un periodo de enfriamiento para la reducción horizontal evita terminaciones prematuras justo después de añadir capacidad. Para Target Tracking, AWS también recomienda utilizar un periodo de calentamiento para que las instancias nuevas no distorsionen la métrica antes de inicializarse por completo.
Explicación del escalado por pasos
Step Scaling responde a las alarmas de CloudWatch añadiendo o eliminando un número específico de instancias según cuánto supere la métrica un umbral. Se definen varios ajustes por pasos; cada paso cubre un intervalo de la métrica y especifica un cambio de capacidad. Por ejemplo: si la CPU está entre el 60 % y el 70 %, añadir 1 instancia; si está entre el 70 % y el 90 %, añadir 3 instancias; si supera el 90 %, añadir 5 instancias. Esto proporciona respuestas graduales y proporcionales a los distintos niveles de carga.
Creación de una política de escalado por pasos
El escalado por pasos requiere una alarma de CloudWatch creada previamente. La alarma supervisa una métrica y pasa al estado ALARM cuando se cruza un umbral. A continuación, la política de escalado utiliza ajustes por pasos referenciados por el valor de la métrica en relación con el umbral de la alarma. Puede configurar si el tipo de ajuste es ChangeInCapacity (añadir N), ExactCapacity (establecer en N) o PercentChangeInCapacity (escalar un N %).
# First create a CloudWatch alarm
aws cloudwatch put-metric-alarm \
--alarm-name 'HighCPU' \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--statistic Average \
--period 60 \
--threshold 60 \
--comparison-operator GreaterThanOrEqualToThreshold \
--dimensions Name=AutoScalingGroupName,Value=MyAppASG \
--evaluation-periods 2 \
--alarm-actions 'arn:aws:autoscaling:us-east-1:123456789:scalingPolicy:...'Configuración de los ajustes por pasos
Cada ajuste por pasos tiene un MetricIntervalLowerBound y, opcionalmente, un MetricIntervalUpperBound. Los límites son relativos al umbral de la alarma. Si el umbral de la alarma es una CPU del 60 %: LowerBound=0, UpperBound=10 se activa cuando la CPU está entre el 60 % y el 70 %; LowerBound=10, UpperBound=null se activa cuando la CPU supera el 70 %. Este enfoque por capas garantiza que los grandes picos de tráfico reciban de inmediato un aumento considerable de capacidad, en lugar de esperar a varios ciclos de alarma.
# Step scaling policy with two steps
{
'StepAdjustments': [
{
'MetricIntervalLowerBound': 0,
'MetricIntervalUpperBound': 10,
'ScalingAdjustment': 2
},
{
'MetricIntervalLowerBound': 10,
'ScalingAdjustment': 5
}
],
'AdjustmentType': 'ChangeInCapacity'
}Simple Scaling: la alternativa anterior
Simple Scaling es el predecesor de Step Scaling. Al igual que el escalado por pasos, requiere una alarma de CloudWatch, pero cuando se activa añade o elimina un número fijo de instancias y después espera a que transcurra todo el periodo de enfriamiento antes de volver a evaluar la situación. Esto lo hace lento ante una carga que cambia rápidamente. Se prefiere Step Scaling porque puede seguir activándose a medida que empeoran las condiciones sin esperar a que termine todo el periodo de enfriamiento, y responde de forma proporcional.
Protección frente a la reducción horizontal y protección de instancias
A veces es necesario evitar que determinadas instancias se terminen durante una reducción horizontal; por ejemplo, una instancia que ejecuta un trabajo por lotes de larga duración. Puede habilitar la protección de instancias frente a la reducción horizontal en instancias individuales mediante la consola o la CLI. Cuando el ASG selecciona candidatas para terminación, omite las instancias protegidas. Recuerde quitar la protección cuando finalice el trabajo; de lo contrario, el ASG podría no ser capaz de reducirse si todas las instancias están protegidas.
aws autoscaling set-instance-protection \
--auto-scaling-group-name 'MyAppASG' \
--instance-ids 'i-0abc123def456' \
--protected-from-scale-inCombinación de Target Tracking con Step Scaling
Puede asociar varias políticas de escalado a un mismo ASG. Cuando existen una política de Target Tracking y otra de Step Scaling, el ASG utiliza la política que recomienda la acción de escalado horizontal mayor (la más conservadora). Para la reducción horizontal, gana la política que recomienda eliminar el menor número de instancias. Esto evita que el sistema oscile entre estados de aprovisionamiento excesivo e insuficiente. Un patrón habitual consiste en utilizar una política de seguimiento de objetivos para el funcionamiento normal y una política de escalado por pasos como protección frente a picos de emergencia.
Prácticas recomendadas para las políticas de escalado
Para la mayoría de las aplicaciones web, comience con el seguimiento de objetivos basado en CPU o en el recuento de solicitudes por destino: requiere una configuración mínima y AWS se encarga de los cálculos. Utilice el escalado por pasos cuando necesite respuestas graduales y proporcionales a distintas intensidades de carga. Establezca siempre una capacidad mínima suficientemente alta para gestionar el tráfico de referencia sin depender del escalado horizontal, ya que el escalado requiere tiempo. Supervise las métricas de CloudWatch GroupDesiredCapacity y GroupInServiceInstances para comprobar que las políticas funcionan según lo esperado.
Comprobación rápida
Compruebe sus conocimientos sobre los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.
Resumen de la lección
En esta lección ha aprendido que Target Tracking Scaling calcula y aplica automáticamente acciones de escalado horizontal y reducción horizontal para mantener una métrica en un valor deseado (como una CPU del 50 %); que Step Scaling activa respuestas proporcionalmente mayores a medida que una métrica cruza umbrales superiores, mediante ajustes por pasos basados en alarmas de CloudWatch; y que es seguro combinar políticas en un mismo ASG: el ASG utiliza la recomendación de escalado horizontal más conservadora y la recomendación de reducción horizontal menos agresiva. A continuación exploraremos el escalado programado y predictivo para patrones de tráfico conocidos.
Preguntas frecuentes
¿La lección «Políticas de escalado: seguimiento de objetivo y escalado por pasos» es gratis?
Sí — el texto completo de «Políticas de escalado: seguimiento de objetivo y escalado por pasos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AWS Solutions Architect, actualiza a CoddyKit PRO. El curso de AWS Solutions Architect incluye 4 lecciones en total.
¿Qué aprenderé en «Políticas de escalado: seguimiento de objetivo y escalado por pasos»?
Configure el seguimiento de objetivo para mantener una utilización de CPU determinada y el escalado por pasos para responder a los umbrales de las alarmas de CloudWatch. Practicas AWS Solutions Architect con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AWS Solutions Architect?
No se requiere experiencia previa. AWS Solutions Architect en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Políticas de escalado: seguimiento de objetivo y escalado por pasos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AWS Solutions Architect?
Sí. Cada lección de AWS Solutions Architect incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Launch Templates y configuración de ASG
- Políticas de escalado: seguimiento de objetivo y escalado por pasos
- Escalado programado y predictivo
- Actualización de instancias y ganchos de ciclo de vida