Ajuste de opciones de configuración después de crear el entorno - AWS Elastic Beanstalk

Ajuste de opciones de configuración después de crear el entorno

Puede modificar los valores de configuración de un entorno en ejecución aplicando configuraciones guardadas, cargando un nuevo paquete de código fuente con archivos de configuración (.ebextensions) o utilizando un documento JSON. La CLI de EB y la consola de Elastic Beanstalk también tienen una funcionalidad específica para los clientes que permite definir y actualizar las opciones de configuración.

Cuando se define o se cambia una opción de configuración, en función de la importancia del cambio, se puede activar una actualización completa del entorno. Por ejemplo, los cambios que se realizan en aws:autoscaling:launchconfiguration, como InstanceType, requieren que las instancias de Amazon EC2 del entorno se aprovisionen de nuevo. Esto desencadena una actualización continua. Otros cambios de configuración pueden aplicarse sin interrupciones ni reaprovisionamientos.

Puede quitar valores de configuración de un entorno con los comandos de la CLI de EB o la AWS CLI. Si se elimina una opción que se estableció directamente en un entorno en el nivel de una API, se aplicarán las opciones de los archivos de configuración, que de otra forma permanecerían ocultas por los valores que se aplicaron directamente en el entorno.

Los ajustes en configuraciones guardadas y archivos de configuración se pueden anular definiendo la misma opción directamente en el entorno con uno de los otros métodos de configuración. Sin embargo, solo se pueden eliminar completamente aplicando una configuración guardada actualizada o un archivo de configuración. Cuando una opción no está establecida en una configuración guardada, en un archivo de configuración o directamente en el entorno, se aplica el valor predeterminado, si existe. Para obtener más información, consulte Prioridad.

La consola de Elastic Beanstalk

Puede actualizar los valores de configuración de la consola de Elastic Beanstalk implementando un paquete de código fuente de la aplicación que contenga los archivos de configuración, aplicando una configuración guardada o modificando directamente el entorno con la página Configuration (Configuración) de la consola de administración del entorno.

Uso de archivos de configuración (.ebextensions)

Actualice los archivos de configuración del directorio de código fuente, cree un nuevo paquete de código fuente e implemente la nueva versión en el entorno de Elastic Beanstalk para aplicar los cambios.

Para obtener información detallada sobre los archivos de configuración, consulte .Ebextensions.

Para implementar un paquete de código fuente

  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 la página de información general del entorno, elija Upload and deploy (Cargar e implementar).

  4. Utilice el cuadro de diálogo en pantalla para cargar el paquete de código fuente.

  5. Elija Deploy (Implementar).

  6. Cuando se complete la implementación, seleccione la URL del para abrir el sitio web en una nueva pestaña.

Los cambios realizados en los archivos de configuración no sustituyen a las opciones de las configuraciones guardadas ni a los valores que se aplican directamente en el entorno en el nivel de la API. Consulte Precedence para obtener más información.

Uso de una configuración guardada

Utilice una configuración guardada en un entorno en ejecución para aplicar los valores definidos en ella.

Para aplicar una configuración guardada a un entorno en ejecución (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 Applications (Aplicaciones) y, a continuación, elija el nombre de la aplicación de la lista.

    nota

    Si tiene muchas aplicaciones, utilice la barra de búsqueda para filtrar la lista de aplicaciones.

  3. En el panel de navegación, busque el nombre de la aplicación y elija Saved configurations (Configuraciones guardadas).

  4. Seleccione la configuración guardada que desea aplicar y, a continuación, elija Load (Cargar).

  5. Seleccione un entorno y, a continuación, elija Load (Cargar).

Los valores definidos en una configuración anulan a los de los archivos de configuración, aunque no tienen prioridad frente a los valores configurados a través de la consola de administración del entorno.

Consulte Configuraciones guardadas para obtener información detallada sobre cómo crear configuraciones guardadas.

Usar la consola de Elastic Beanstalk

La consola de Elastic Beanstalk dispone de varias opciones de configuración en la página Configuration (Configuración) de cada entorno.

Para cambiar las opciones de configuración en un entorno en ejecución (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. Busque la página de configuración que desea editar:

    • Si aparece la opción en la que está interesado o sabe de qué categoría de configuración se trata, elija Edit (Editar) en su categoría de configuración.

    • Para buscar una opción, active Table view (Vista de tabla) y escriba términos de búsqueda en el campo de búsqueda. A medida que escribe, la lista se reduce y muestra solo las opciones que coinciden con los términos de búsqueda.

      Cuando vea la opción que está buscando, elija Edit (Editar) en la categoría de configuración que contiene.

      
                  Vista de tabla de la página de información general de configuración de la consola de Elastic Beanstalk, en la que se muestra la búsqueda de opciones
  5. Cambie la configuración y, a continuación, elija Save (Guardar).

  6. Repita los dos pasos anteriores en las categorías de configuración adicionales según sea necesario.

  7. Seleccione Apply (Aplicar).

Los cambios de las opciones de configuración que se realizan a través de la consola de administración del entorno se aplican directamente al entorno. Estos cambios invalidan los valores de las mismas opciones en los archivos de configuración o en las configuraciones guardadas. Consulte Prioridad para obtener más información.

Para obtener más información sobre cómo cambiar las opciones de configuración en un entorno de ejecución a través de la consola de Elastic Beanstalk, consulte los temas incluidos en Configuración de entornos de Elastic Beanstalk.

CLI de EB

Puede actualizar los valores de configuración con la CLI de EB implementando un código fuente que contenga los archivos de configuración, aplicando los valores de una configuración guardada o modificando directamente la configuración del entorno con el comando eb config.

Uso de archivos de configuración (.ebextensions)

Incluya los archivos .config en la carpeta del proyecto situada bajo .ebextensions para implementarlos con el código de la aplicación.

Para obtener información detallada sobre los archivos de configuración, consulte .Ebextensions.

~/workspace/my-app/ |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- .elasticbeanstalk | `-- config.yml |-- index.php `-- styles.css

Implemente el código fuente con eb deploy.

~/workspace/my-app$ eb deploy

Uso de una configuración guardada

Puede utilizar el comando eb config para aplicar una configuración guardada en un entorno en ejecución. Utilice la opción --cfg con el nombre de la configuración guardada para aplicar la configuración al entorno.

$ eb config --cfg v1

En este ejemplo, v1 es el nombre de un archivo de configuración que se creó y guardó anteriormente.

Los valores que se aplican a un entorno con este comando anulan los valores que se aplicaron durante la creación del entorno y los valores definidos en los archivos de configuración del paquete de código fuente de la aplicación.

Uso eb config

El comando eb config de la CLI de EB le permite establecer y eliminar valores de configuración directamente en el entorno a través de un editor de texto.

Cuando ejecuta eb config, la CLI de EB muestra la configuración que se aplica al entorno desde todos los orígenes, incluidos los archivos de configuración, las configuraciones guardadas, los valores recomendados, las opciones definidas directamente en el entorno y los valores predeterminados de la API.

nota

eb config no muestra las propiedades del entorno. Para configurar las propiedades del entorno que se pueden consultar desde la aplicación, utilice eb setenv.

En el siguiente ejemplo se muestra la configuración aplicada en el espacio de nombres aws:autoscaling:launchconfiguration. Esta configuración incluye:

  • Dos valores recomendados, para IamInstanceProfile y InstanceType, aplicadas por CLI de EB durante la creación del entorno.

  • La opción EC2KeyName, definida directamente en el entorno durante la creación en función de la configuración del repositorio.

  • Valores predeterminados del API para las demás opciones.

ApplicationName: tomcat DateUpdated: 2015-09-30 22:51:07+00:00 EnvironmentName: tomcat SolutionStackName: 64bit Amazon Linux 2015.03 v2.0.1 running Tomcat 8 Java 8 settings: ... aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: t2.micro ...

Para configurar o cambiar las opciones de configuración con eb config

  1. Ejecute eb config para ver la configuración del entorno.

    ~/workspace/my-app/$ eb config
  2. Cambie los valores de configuración utilizando el editor de texto predeterminado.

    aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: t2.medium
  3. Guarde el archivo de configuración temporal y salga.

  4. La CLI de EB actualiza la configuración del entorno.

Si los valores de configuración se establecen con eb config, se anulan los valores de todos los demás orígenes.

También puede eliminar opciones del entorno con eb config.

Para eliminar las opciones de configuración (CLI de EB)

  1. Ejecute eb config para ver la configuración del entorno.

    ~/workspace/my-app/$ eb config
  2. Sustituya los valores mostrados por la cadena null. También puede eliminar toda la línea que contiene la opción que desea eliminar.

    aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: null
  3. Guarde el archivo de configuración temporal y salga.

  4. La CLI de EB actualiza la configuración del entorno.

Si elimina las opciones del entorno con eb config, se activan las mismas opciones de los archivos de configuración del paquete de código fuente de la aplicación. Consulte Precedence para obtener más información.

Uso eb setenv

Para establecer las propiedades de entorno con la CLI de EB, utilice eb setenv.

~/workspace/my-app/$ eb setenv ENVVAR=TEST INFO: Environment update is starting. INFO: Updating environment my-env's configuration settings. INFO: Environment health has transitioned from Ok to Info. Command is executing on all instances. INFO: Successfully deployed new configuration to environment.

Este comando establece las propiedades de entorno en el espacio de nombres aws:elasticbeanstalk:application:environment. Las propiedades de entorno establecidas con eb setenv están disponibles en la aplicación tras un breve período de tiempo

Consulte las propiedades configuradas en el entorno con eb printenv.

~/workspace/my-app/$ eb printenv Environment Variables: ENVVAR = TEST

AWS CLI

Puede actualizar los valores de configuración con la AWS CLI implementando un paquete de código fuente que contenga los archivos de configuración, aplicando una configuración guardada en remoto o modificando el entorno directamente con el comando aws elasticbeanstalk update-environment.

Uso de archivos de configuración (.ebextensions)

Para aplicar los archivos de configuración a un entorno en ejecución con la AWS CLI, inclúyalos en el paquete de código fuente de la aplicación que cargó en Amazon S3.

Para obtener información detallada sobre los archivos de configuración, consulte .Ebextensions.

~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css

Para cargar un paquete de código fuente de la aplicación y aplicarlo a un entorno en ejecución (AWS CLI)

  1. Si aún no tiene un bucket de Elastic Beanstalk en Amazon S3, cree uno con create-storage-location:

    $ aws elasticbeanstalk create-storage-location { "S3Bucket": "elasticbeanstalk-us-west-2-123456789012" }
  2. Cargue el paquete de código fuente de la aplicación en Amazon S3.

    $ aws s3 cp sourcebundlev2.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundlev2.zip
  3. Cree la versión de la aplicación.

    $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v2 --description MyAppv2 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundlev2.zip"
  4. Actualice el entorno.

    $ aws elasticbeanstalk update-environment --environment-name my-env --version-label v2

Uso de una configuración guardada

Puede aplicar una configuración guardada en un entorno en ejecución con la opción --template-name del comando aws elasticbeanstalk update-environment.

La configuración guardada debe estar en el bucket de Elastic Beanstalk, en una ruta con el mismo nombre que la aplicación que se encuentra en resources/templates. Por ejemplo, la plantilla v1 de la aplicación my-app para la región EE. UU. Oeste (Oregón) (us-west-2) de la cuenta 123456789012 se encuentra en s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app/v1

Para aplicar una configuración guardada en un entorno en ejecución (AWS CLI)

  • Especifique la configuración guardada en una llamada a update-environment con la opción --template-name.

    $ aws elasticbeanstalk update-environment --environment-name my-env --template-name v1

Elastic Beanstalk sitúa las configuraciones guardadas en esta ubicación cuando se crean con aws elasticbeanstalk create-configuration-template. También puede modificar las configuraciones guardadas localmente y guardarlas usted mismo en esta ubicación.

Uso de las opciones de la línea de comandos

Para cambiar las opciones de configuración con un documento JSON (AWS CLI)

  1. Defina los valores de configuración con formato JSON en un archivo local.

  2. Ejecute update-environment con la opción --option-settings.

    $ aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://~/ebconfigs/as-zero.json

En este ejemplo, as-zero.json define las opciones que configuran el entorno con el valor cero para el número mínimo y máximo de instancias. De este modo, las instancias del entorno pueden detenerse sin necesidad de terminar el entorno.

~/ebconfigs/as-zero.json

[ { "Namespace": "aws:autoscaling:asg", "OptionName": "MinSize", "Value": "0" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MaxSize", "Value": "0" }, { "Namespace": "aws:autoscaling:updatepolicy:rollingupdate", "OptionName": "RollingUpdateEnabled", "Value": "false" } ]
nota

Si los valores de configuración se establecen con update-environment, se anulan los valores de todos los demás orígenes.

También puede eliminar opciones del entorno con update-environment.

Para eliminar las opciones de configuración (AWS CLI)

  • Ejecute el comando update-environment con la opción --settings-to-remove.

    $ aws elasticbeanstalk update-environment --environment-name my-env --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=InstanceType

Si elimina las opciones del entorno con update-environment, se activan las mismas opciones de los archivos de configuración del paquete de código fuente de la aplicación. Si hay una opción que no se ha configurado con ninguno de estos métodos, se aplicará el valor predeterminado de la API, si existe. Consulte Precedence para obtener más información.