

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 variables de entorno y otras opciones de software
<a name="environments-cfg-softwaresettings"></a>

La página de configuración de **las actualizaciones, la supervisión y el registro** le permite configurar el software en las instancias de Amazon Elastic Compute Cloud (Amazon EC2) que ejecutan la aplicación. Puede configurar las variables de entorno, la AWS X-Ray depuración, el almacenamiento y la transmisión de registros de instancias y los ajustes específicos de la plataforma.

**Topics**
+ [Configuración de la configuración específica de la plataforma](#environments-cfg-softwaresettings-specific)
+ [Configuración de las propiedades del entorno (variables de entorno)](#environments-cfg-softwaresettings-console)
+ [Espacios de nombres para configuración de software](#environments-cfg-softwaresettings-configfiles)
+ [Acceso a las propiedades del entorno](#environments-cfg-softwaresettings-accessing)
+ [Configuración de la AWS X-Ray depuración](environment-configuration-debugging.md)
+ [Visualización de los registros del entorno de Elastic Beanstalk](environments-cfg-logging.md)

## Configuración de la configuración específica de la plataforma
<a name="environments-cfg-softwaresettings-specific"></a>

Además del conjunto estándar de opciones disponibles para todos los entornos, la mayoría de plataformas de Elastic Beanstalk le permiten especificar una configuración específica del lenguaje o de marco. Aparecen en la sección **Software de la plataforma** de la página **Configuración de actualizaciones, supervisión y registro** y pueden adoptar las siguientes formas.
+ **Propiedades preestablecidas del entorno**: la plataforma Ruby utiliza propiedades del entorno para la configuración del marco como `RACK_ENV` y `BUNDLE_WITHOUT`.
+ **Propiedades comodín del entorno**: la plataforma Tomcat define una propiedad del entorno llamada `JDBC_CONNECTION_STRING` que no se ha establecido en ningún valor. Este tipo de configuración era más habitual en las versiones anteriores de la plataforma.
+ **Opciones de configuración**: la mayoría de las plataformas definen las [opciones de configuración](command-options.md) en espacios de nombres compartidos o específicos de plataforma como `aws:elasticbeanstalk:xray` o `aws:elasticbeanstalk:container:python`.

**Para configurar los parámetros específicos de la plataforma en la consola de Elastic Beanstalk**

1. Abra la consola de [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) y, **en** la lista Regiones, seleccione su. Región de AWS

1. En el panel de navegación, elija **Environments** (Entornos) y, a continuación, elija el nombre del entorno en la lista.

1. En el panel de navegación, elija **Configuración**.

1. En la categoría de configuración **Actualizaciones, supervisión y registro**, seleccione **Edición de**.

1. En **Software de plataforma**, realice los cambios necesarios en los valores de configuración.

1. Para guardar los cambios, elija **Aplicar** en la parte inferior de la página.

Para obtener más información sobre opciones específicas de la plataforma y sobre la obtención de valores de propiedad del entorno, consulte el tema de la plataforma para su lenguaje o marco:
+ Docker: [Configuración de entornos Docker de Elastic Beanstalk](create_deploy_docker.container.console.md)
+ Go: [Uso de la plataforma Elastic Beanstalk Go](go-environment.md)
+ Java SE: [Uso de la plataforma Java SE de Elastic Beanstalk](java-se-platform.md)
+ Tomcat: [Uso de la plataforma Tomcat de Elastic Beanstalk](java-tomcat-platform.md)
+ .NET Core en Linux: [Uso de la plataforma .NET Core en Linux en Elastic Beanstalk](dotnet-linux-platform.md)
+ .NET: [Uso de la plataforma .NET Windows de Elastic Beanstalk](create_deploy_NET.container.console.md)
+ Node.js: [Uso de la plataforma Elastic Beanstalk Node.js](create_deploy_nodejs.container.md)
+ PHP: [Uso de la plataforma PHP de Elastic Beanstalk](create_deploy_PHP.container.md)
+ Python: [Uso de la plataforma Elastic Beanstalk Python](create-deploy-python-container.md)
+ Ruby: [Uso de la plataforma Elastic Beanstalk Ruby](create_deploy_Ruby.container.md)

## Configuración de las propiedades del entorno (variables de entorno)
<a name="environments-cfg-softwaresettings-console"></a>

Puede utilizar las **propiedades de entorno** (también conocidas como **variables de entorno**) para transferir puntos de conexión, ajustes de depuración y otros datos a su aplicación. Las variables de entorno le permiten ejecutar la aplicación en varios entornos para distintos fines, por ejemplo, desarrollo, pruebas, uso transitorio y producción.

Además, al [agregar una base de datos a su entorno](using-features.managing.db.md), Elastic Beanstalk establece las variables de entorno, por ejemplo, `RDS_HOSTNAME`, que puede leer en el código de la aplicación para construir una cadena u objeto de conexión.

**Cómo configurar variables de entorno en la consola de Elastic Beanstalk**

1. Abra la consola de [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) y, **en** la lista Regiones, seleccione su. Región de AWS

1. En el panel de navegación, elija **Environments** (Entornos) y, a continuación, elija el nombre del entorno en la lista.

1. En el panel de navegación, elija **Configuración**.

1. En la categoría de configuración **Actualizaciones, supervisión y registro**, seleccione **Edición de**.

1. Desplácese hacia abajo hasta **Variables de entorno de tiempo de ejecución**.

1. Seleccione **Añadir variables de entorno**.

1. En **Fuente**, seleccione **Texto sin formato**.
**nota**  
Los valores de **Secrets Manager** y **Almacén de parámetros de SSM** del menú desplegable sirven para configurar variables de entorno como secretos para almacenar información confidencial, como credenciales y claves de API. Para obtener más información, consulte [Uso de Elastic AWS Secrets Manager AWS Systems Manager Beanstalk con un almacén de parámetros](AWSHowTo.secrets.md). 

1. Introduzca los pares de **nombre de la variable de entorno** y **valor de la variable de entorno**.

1. Si necesita añadir más variables, repita desde el **Paso 6** hasta el **Paso 8**.

1. Para guardar los cambios, elija **Aplicar** en la parte inferior de la página.

**Límites de la propiedad de entorno**
+ Las **claves** pueden contener caracteres alfanuméricos y los siguientes símbolos: `_ . : / + \ - @`

  Los símbolos indicados son válidos para las clave de propiedad de entorno, pero podrían no ser válidos para nombres de variable de entorno en la plataforma del entorno. Para lograr la compatibilidad con todas las plataformas, limite las propiedades del entorno al siguiente patrón: `[A-Z_][A-Z0-9_]*`
+ Los **valores** pueden contener cualquier carácter alfanumérico y los siguientes símbolos: `_ . : / = + \ - @ ' "`
**nota**  
Se debe aplicar escape a algunos caracteres de los valores de propiedades del entorno. Usa el carácter de barra invertida (`\`) para representar algunos caracteres especiales y caracteres de control. La siguiente lista incluye ejemplos para representar algunos caracteres a los que hay que aplicar escape:  
barra invertida (`\`): para representar el uso `\\`
comillas simples (`'`): para representar el uso `\'`
comillas dobles (`"`): para representar el uso `\"`
+ Las **claves** y los **valores** distinguen entre mayúsculas y minúsculas.
+ El tamaño combinado de todas las propiedades del entorno no puede superar los 4.096 bytes cuando se almacenan como cadenas con el formato =. {{key}} {{value}}

## Espacios de nombres para configuración de software
<a name="environments-cfg-softwaresettings-configfiles"></a>

Puede usar un [archivo de configuración](ebextensions.md) para definir opciones de configuración y realizar otras tareas de configuración en las instancias durante las implementaciones. Las opciones de configuración pueden ser [específicas de la plataforma](command-options-specific.md) o aplicarse a [todas las plataformas](command-options-general.md) del servicio de Elastic Beanstalk en su conjunto. Las opciones de configuración se organizan en *espacios de nombres*.

Puede utilizar [archivos de configuración](ebextensions.md) de Elastic Beanstalk para establecer propiedades de entorno y opciones de configuración en el código fuente. Utilice el [`aws:elasticbeanstalk:application:environment` espacio de nombres](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment) para definir las propiedades del entorno.

**Example .ebextensions/options.config**  

```
option_settings:
  aws:elasticbeanstalk:application:environment:
    API_ENDPOINT: www.example.com/api
```

Si utiliza archivos de configuración o CloudFormation plantillas para crear [recursos personalizados](environment-resources.md), puede utilizar una CloudFormation función para obtener información sobre el recurso y asignarla a una propiedad del entorno de forma dinámica durante la implementación. El siguiente ejemplo del [elastic-beanstalk-samples](https://github.com/awsdocs/elastic-beanstalk-samples/) GitHub repositorio utiliza la [función Ref](ebextensions-functions.md) para obtener el ARN de un tema de Amazon SNS que crea y lo asigna a una propiedad de entorno denominada. `NOTIFICATION_TOPIC`

**Notas**  
Si utiliza una CloudFormation función para definir una propiedad del entorno, la consola de Elastic Beanstalk muestra el valor de la propiedad antes de evaluar la función. Puede utilizar el [script de plataforma `get-config`](custom-platforms-scripts.md) para confirmar los valores de las propiedades de entorno que están disponibles para su aplicación. 
La plataforma [Docker multicontenedor](create_deploy_docker_ecs.md) no se utiliza CloudFormation para crear recursos de contenedores. Como resultado, esta plataforma no admite la definición de las propiedades del entorno mediante CloudFormation funciones.

**Example .Ebextensions/[sns-topic.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/resource-configuration/sns-topic.config)**  

```
Resources:
  NotificationTopic:
    Type: AWS::SNS::Topic

option_settings:
  aws:elasticbeanstalk:application:environment:
    NOTIFICATION_TOPIC: '`{"Ref" : "NotificationTopic"}`'
```

También puede utilizar esta característica para propagar información de [pseudoparámetros de CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html). Este ejemplo obtiene la región actual y la asigna a una propiedad llamada `AWS_REGION`.

**Example .Ebextensions/[env-regionname.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/env-regionname.config)**  

```
option_settings:
  aws:elasticbeanstalk:application:environment:
    AWS_REGION: '`{"Ref" : "AWS::Region"}`'
```

La mayoría de las plataformas de Elastic Beanstalk define espacios de nombres adicionales con opciones para configurar software que se ejecuta en la instancia, como el proxy inverso que transmite solicitudes a su aplicación. Para obtener más información sobre los espacios de nombres disponibles para su plataforma, consulte las siguientes secciones:
+ Go: [Espacios de nombres de configuración de Go](go-environment.md#go-namespaces)
+ Java SE: [Espacios de nombres de configuración de Java SE](java-se-platform.md#java-se-namespaces)
+ Tomcat: [Espacios de nombres de configuración de Tomcat](java-tomcat-platform.md#java-tomcat-namespaces)
+ .NET Core en Linux: [.NET Core en la configuración de espacio de nombres de Linux](dotnet-linux-platform.md#dotnet-linux-namespace)
+ .NET: [El espacio de nombres aws:elasticbeanstalk:container:dotnet:apppool](create_deploy_NET.container.console.md#dotnet-namespaces)
+ Node.js: [Espacio de nombres de configuración de Node.js](create_deploy_nodejs.container.md#nodejs-namespaces)
+ PHP: [Espacios de nombres para configuración](create_deploy_PHP.container.md#php-namespaces)
+ Python: [Espacios de nombres de configuración de Python](create-deploy-python-container.md#python-namespaces)
+ Ruby: [Espacios de nombres de la configuración de Ruby](create_deploy_Ruby.container.md#ruby-namespaces)

Elastic Beanstalk cuenta con numerosas opciones de configuración para personalizar el entorno. Además de los archivos de configuración, también puede definir opciones en la consola, configuraciones guardadas, la CLI de EB o la AWS CLI. Para obtener más información, consulte [Opciones de configuración](command-options.md).

## Acceso a las propiedades del entorno
<a name="environments-cfg-softwaresettings-accessing"></a>

En la mayoría de los casos, accede a propiedades de entorno en su código de aplicación como una variable de entorno. No obstante, las propiedades del entorno suelen transferirse únicamente a la aplicación y no se pueden visualizar conectando una instancia en su entorno y ejecutando `env`.
+ [Go](go-environment.md#go-options-properties): `os.Getenv`

  ```
  endpoint := os.Getenv("API_ENDPOINT")
  ```
+ [Java SE](java-se-platform.md#java-se-options-properties): `System.getenv`

  ```
  String endpoint = System.getenv("API_ENDPOINT");
  ```
+ [Tomcat](java-tomcat-platform.md#java-tomcat-options-properties) – `System.getProperty` y `System.getenv` 

  En las versiones de la plataforma Tomcat publicadas a partir del [26 de marzo de 2025](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2025-03-26-windows.html) también se puede utilizar `System.getenv` para acceder a variables de entorno de texto sin formato. Puede seguir utilizando `System.getProperty` para acceder a las variables de entorno de texto sin formato. Sin embargo, [las variables de entorno almacenadas como secretas](AWSHowTo.secrets.env-vars.md) solo están disponibles mediante `System.getenv`.

  ```
  String endpoint = System.getProperty("API_ENDPOINT");
  ```

  ```
  String endpoint = System.getenv("API_ENDPOINT");
  ```
**importante**  
Al añadir acceso `System.getenv` a las variables de entorno en las versiones de la plataforma Tomcat publicadas a partir del [26 de marzo de 2025](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2025-03-26-windows.html), puede producirse un comportamiento inesperado en las aplicaciones que dan prioridad a las variables de entorno sobre las propiedades del sistema Java o al cambiar explícitamente de `System.getProperty` a `System.getenv`. Para obtener más información y acciones recomendadas, consulte [Uso de la plataforma Tomcat de Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html).
+ [.NET Core en Linux](dotnet-linux-platform.md#dotnet-linux-options-properties): `Environment.GetEnvironmentVariable`

  ```
  string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");
  ```
+ [.NET](create_deploy_NET.container.console.md#dotnet-console-properties): `appConfig`

  ```
  NameValueCollection appConfig = ConfigurationManager.AppSettings;
  string endpoint = appConfig["API_ENDPOINT"];
  ```
+ [Node.js](create_deploy_nodejs.container.md#nodejs-platform-console-envprops): `process.env`

  ```
  var endpoint = process.env.API_ENDPOINT
  ```
+ [PHP](create_deploy_PHP.container.md#php-console-properties): `$_SERVER`

  ```
  $endpoint = $_SERVER['API_ENDPOINT'];
  ```
+ [Python](create-deploy-python-container.md#create-deploy-python-custom-container-envprop): `os.environ`

  ```
  import os
  endpoint = os.environ['API_ENDPOINT']
  ```
+ [Ruby](create_deploy_Ruby.container.md#create_deploy_Ruby.env.console.ruby.envprops): `ENV`

  ```
  endpoint = ENV['API_ENDPOINT']
  ```

Fuera del código de aplicación como, por ejemplo, en un script que se ejecuta durante la implementación, puede obtener acceso a las propiedades del entorno con el [`get-config` script de la plataforma](custom-platforms-scripts.md). Consulte el [elastic-beanstalk-samples](https://github.com/awsdocs/elastic-beanstalk-samples/search?utf8=%E2%9C%93&q=get-config) GitHub repositorio para ver ejemplos de las configuraciones que utilizan`get-config`.