Configuración de las reglas de informes de estado avanzados de un entorno - AWS Elastic Beanstalk

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

Los informes de estado mejorado de AWS Elastic Beanstalk se basan en un conjunto de reglas para determinar el estado del 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 gestionar 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
  1. Abra la consola de Elastic Beanstalk y, en la lista Regions (Regiones), seleccione su Región de AWS.

  2. 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.

  3. En el panel de navegación, elija Configuration (Configuración).

  4. En la categoría de configuración Monitoring (Monitorización), seleccione Edit (Editar).

  5. En Health monitoring rule customization (Personalización de la regla de monitoreo de estado), habilite o deshabilite las opciones Ignore (Omitir).

    Sección de personalización de reglas de supervisión de estado en la página de configuración de supervisión de la consola de Elastic Beanstalk
  6. 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
  1. Inicialice la carpeta del proyecto con eb init.

  2. Cree un entorno ejecutando el comando eb create.

  3. 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 01-base-state Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml
  4. Abra el archivo de configuración guardado en un editor de texto.

  5. En OptionSettings > aws:elasticbeanstalk:healthreporting:system:, agregue una clave ConfigDocument para mostrar cada regla de estado avanzado que se va a configurar. El siguiente ConfigDocument 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 y CloudWatchMetrics en el mismo ajuste de opción de ConfigDocument. CloudWatchMetrics se describen en Publicación de métricas personalizadas de un entorno en Amazon CloudWatch.

    Si ha habilitado previamente CloudWatchMetrics, el archivo de configuración que recupere mediante el comando eb config save ya tiene una clave ConfigDocument con una sección CloudWatchMetrics. No lo elimine; agrega una sección Rules en el mismo valor de la opción ConfigDocument.

  6. 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.

  7. 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 y put con configuraciones guardadas, no incluya la extensión de nombre de archivo.

  8. 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 la AWS CLI, debe pasar el documento como valor de la clave Value en un argumento de configuración de opciones, que en sí mismo 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 }