Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de las reglas de informes de estado avanzados de un entorno
AWS Elastic Beanstalk los informes de estado mejorados se basan en un conjunto de reglas para determinar el estado de su entorno. Algunas de estas reglas podrían no ser adecuadas para su aplicación específica. A continuación, se presentan algunos ejemplos comunes:
-
Utiliza herramientas de prueba del lado del cliente. En este caso, se esperan errores de cliente HTTP (4xx) frecuentes.
-
Utilice AWS WAF junto con el Application Load Balancer de su entorno para bloquear el tráfico entrante no deseado. En este caso, el balanceador de carga de aplicaciones devuelve HTTP 403 por cada mensaje entrante rechazado.
De forma predeterminada, Elastic Beanstalk incluye todos los errores HTTP 4xx de la aplicación al determinar el estado del entorno. Cambia el estado de su entorno de Correcto a Advertencia, Degradado o Grave, en función de la tasa de errores. Para administrar correctamente casos como los ejemplos indicados, Elastic Beanstalk permite configurar algunas reglas de informes de estado avanzados. Puede optar por omitir los errores HTTP 4xx de la aplicación en las instancias del entorno u omitir los errores HTTP 4xx devueltos por el balanceador de carga del entorno. En este tema se describe cómo realizar estos cambios de configuración.
nota
En la actualidad, estas son las únicas personalizaciones de reglas de informes de estado avanzados disponibles. No puede configurar los informes de estado avanzados para ignorar otros errores HTTP además de 4xx.
Configuración de reglas de mantenimiento mejoradas mediante la consola de Elastic Beanstalk
Puede utilizar la consola de Elastic Beanstalk para configurar reglas de estado avanzado en su entorno.
Para configurar la comprobación de código de estado HTTP 4xx mediante la consola de Elastic Beanstalk
Abra la consola de Elastic Beanstalk
y, en la lista Regiones, seleccione su. Región de AWS -
En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.
nota
Si tiene muchos entornos, utilice la barra de búsqueda para filtrar la lista de entornos.
En el panel de navegación, elija Configuration (Configuración).
-
En la categoría de configuración Monitoring (Supervisión), seleccione Edit (Edición de).
-
En Health monitoring rule customization (Personalización de la regla de supervisión de estado), habilite o deshabilite las opciones Ignore (Omitir).
-
Para guardar los cambios, elija Aplicar en la parte inferior de la página.
Configuración de reglas de informes de estado avanzados mediante la CLI de EB
Puede utilizar la CLI de EB para configurar reglas de estado avanzado guardando localmente la configuración del entorno, añadiendo una entrada que configure las reglas de estado avanzado y cargando la configuración en Elastic Beanstalk. Puede aplicar la configuración guardada al entorno durante o después de la creación.
Para configurar la comprobación de código de estado HTTP 4xx mediante la CLI de EB y las configuraciones guardadas
-
Inicialice la carpeta del proyecto con eb init.
-
Cree un entorno ejecutando el comando eb create.
-
Guarde una plantilla de configuración localmente ejecutando el comando eb config save. En el ejemplo siguiente, se utiliza la opción
--cfg
para especificar el nombre de la configuración.$
eb config save --cfg
Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml01-base-state
-
Abra el archivo de configuración guardado en un editor de texto.
-
En
OptionSettings
>aws:elasticbeanstalk:healthreporting:system:
, agregue una claveConfigDocument
para mostrar cada regla de estado avanzado que se va a configurar. El siguienteConfigDocument
deshabilita la comprobación de los códigos de estado HTTP 4xx de la aplicación, mientras mantiene habilitada la comprobación del código HTTP 4xx del balanceador de carga.OptionSettings: ... aws:elasticbeanstalk:healthreporting:system:
ConfigDocument: Rules: Environment: Application: ApplicationRequests4xx: Enabled: false ELB: ELBRequests4xx: Enabled: true Version: 1
SystemType: enhanced ...nota
Puede combinar
Rules
yCloudWatchMetrics
en el mismo ajuste de opción deConfigDocument
.CloudWatchMetrics
se describen en Publicar métricas CloudWatch personalizadas de Amazon para un entorno.Si ha habilitado previamente
CloudWatchMetrics
, el archivo de configuración que recupere mediante el comando eb config save ya tiene una claveConfigDocument
con una secciónCloudWatchMetrics
. No lo elimine; agrega una secciónRules
en el mismo valor de la opciónConfigDocument
. -
Guarde el archivo de configuración y cierre el editor de texto. En este ejemplo, el archivo de configuración actualizado se ha guardado con otro nombre (
02-cloudwatch-enabled.cfg.yml
) que sea diferente al del archivo de configuración que se descargó. De este modo, se crea una configuración guardada distinta cuando se cargue el archivo. Puede utilizar el mismo nombre que el del archivo descargado para sobrescribir la configuración existente sin crear una nueva. -
Utilice el comando eb config put para cargar el archivo de configuración actualizado a Elastic Beanstalk.
$
eb config put
02-cloudwatch-enabled
Si utiliza los comandos eb config
get
yput
con configuraciones guardadas, no incluya la extensión de nombre de archivo. -
Aplique la configuración guardada en el entorno que está en ejecución.
$
eb config --cfg
02-cloudwatch-enabled
La opción
--cfg
especifica el archivo de configuración designado que se aplica al entorno. Puede guardar el archivo de configuración localmente o en Elastic Beanstalk. Si hay un archivo de configuración con el nombre especificado en las dos ubicaciones, la CLI de EB utiliza el archivo local.
Configuración de reglas de informes de estado avanzados mediante un documento de configuración
El documento de configuración (config) para reglas de estado avanzado es un documento JSON que contiene una lista de las reglas que se van a configurar.
El siguiente ejemplo muestra un documento de configuración que deshabilita la comprobación de los códigos de estado HTTP 4xx de la aplicación y habilita la comprobación de los códigos de estado HTTP 4xx del balanceador de carga.
{
"Rules": {
"Environment": {
"Application": {
"ApplicationRequests4xx": {
"Enabled": false
}
},
"ELB": {
"ELBRequests4xx": {
"Enabled": true
}
}
}
},
"Version": 1
}
En el caso de AWS CLI, se pasa el documento como valor de la Value
clave de un argumento de configuración de opciones, que a su vez es un objeto JSON. En este caso, las comillas del documento insertado deben escribirse con caracteres de escape. El siguiente comando comprueba si los ajustes de configuración son válidos.
$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[
{
"Namespace": "aws:elasticbeanstalk:healthreporting:system",
"OptionName": "ConfigDocument",
"Value": "{\"Rules\": { \"Environment\": { \"Application\": { \"ApplicationRequests4xx\": { \"Enabled\": false } }, \"ELB\": { \"ELBRequests4xx\": {\"Enabled\": true } } } }, \"Version\": 1 }"
}
]'
En los archivos de configuración .ebextensions
de YAML, puede proporcionar el documento JSON tal y como está.
option_settings:
- namespace: aws:elasticbeanstalk:healthreporting:system
option_name: ConfigDocument
value: {
"Rules": {
"Environment": {
"Application": {
"ApplicationRequests4xx": {
"Enabled": false
}
},
"ELB": {
"ELBRequests4xx": {
"Enabled": true
}
}
}
},
"Version": 1
}