Mi entorno de AWS Elastic Beanstalk no escala de la manera que esperaba.
Resolución
Requisitos previos:
- Sus instancias de Amazon Elastic Compute Cloud (Amazon EC2) tienen capacidad suficiente para escalar en su región de AWS. Esta capacidad se basa en la cantidad máxima de instancias que definió en la configuración del grupo de AWS Auto Scaling.
- Dispone de un periodo de recuperación establecido en función de los requisitos de instalación y configuración de la aplicación.
- Utilice las métricas predeterminadas de Amazon CloudWatch o Locust para realizar una prueba de carga e identifique la mejor métrica para iniciar el escalamiento.
Para configurar los desencadenadores de escalado, utilice la consola de Elastic Beanstalk o la configuración de las opciones.
Configuración de los desencadenadores de escalado en la consola de Elastic Beanstalk
- Abra la consola de Elastic Beanstalk y, a continuación, seleccione su entorno.
- En el panel de navegación de su entorno, elija Configuración.
- En Tráfico y escalado de instancias, seleccione Editar.
- En Capacidad, para Desencadenadores de escalado, seleccione las opciones de activación y, a continuación, seleccione Aplicar.
Nota: Elastic Beanstalk proporciona opciones de configuración para los ajustes de escalamiento automático en el espacio de nombres aws:autoscaling:trigger. El recurso al que se aplica una configuración organiza la configuración de este espacio de nombres para ese recurso.
Configuración de los desencadenadores de escalado mediante opciones de configuración
Modifique las configuraciones de escalamiento mediante .ebextensions en las opciones de configuración. Para acceder al archivo de configuración que se encarga de configurar los desencadenadores de escalado, consulte autoscaling-triggers-customize.config en el sitio web de GitHub.
El siguiente archivo de configuración de ejemplo modifica los desencadenadores de escalado que se basan en el uso de la CPU. Si el uso de la CPU en todas las instancias supera el 80 % durante tres periodos consecutivos de dos minutos, el escalamiento automático añade una instancia al grupo de escalamiento automático. Si el uso de la CPU entre instancias es inferior al 20 % durante el mismo periodo, el escalamiento automático elimina una instancia del grupo de escalamiento automático.
option_settings:
aws:autoscaling:trigger:
MeasureName: CPUUtilization
Statistic: Average
Unit: Percent
Period: '2'
EvaluationPeriods: '3'
UpperThreshold: '80'
UpperBreachScaleIncrement: '1'
LowerThreshold: '20'
LowerBreachScaleIncrement: '-1'
En el siguiente ejemplo se muestra la estructura del directorio .ebextensions y del archivo autoscaling-triggers-customize.config del archivo zip de la aplicación:
~/my-app/
|-- .ebextensions/
| |-- autoscaling-triggers-customize.config
| `-- other.config
|-- other application files
Información relacionada
Desencadenadores de escalamiento automático para su entorno de Elastic Beanstalk