

AWS App Runner dejará de estar abierto a nuevos clientes a partir del 30 de abril de 2026. Si quieres usar App Runner, regístrate antes de esa fecha. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cambio en la disponibilidad de AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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.

# Administrar las variables de entorno
<a name="env-variable-manage"></a>

Administre las variables de entorno de su servicio de App Runner mediante uno de los siguientes métodos:
+ [Consola de App Runner](#env-variable-manage.console)
+ [API de App Runner o AWS CLI](#env-variable-manage.api)

## Consola de App Runner
<a name="env-variable-manage.console"></a>

Al [crear un servicio](manage-create.md) o [actualizar un servicio](manage-configure.md) en la consola de App Runner, puede agregar variables de entorno. 

### Agregar una variable de entorno
<a name="env-variable-manage.console.add"></a>

**Para añadir una variable de entorno**

1. Abre la [consola de App Runner](https://console.aws.amazon.com/apprunner) y, en la lista de **regiones**, selecciona la tuya Región de AWS.

1. En función de si va a crear o actualizar un servicio, lleve a cabo uno de los siguientes pasos:
   + Si va a crear un servicio nuevo, elija **Crear un servicio de App Runner** y vaya a **Configurar el servicio**.
   +  Si va a actualizar un servicio existente, seleccione el servicio que desee actualizar y vaya a la pestaña **Configuración** del servicio. 

1.  Ve a **Variables de entorno (opcional)** en **Configuración del servicio**. 

1.  Elija una de las siguientes opciones en función de sus necesidades: 
   + Seleccione **Texto sin formato** en la **fuente de la variable de entorno** e introduzca sus pares clave-valor en **Nombre de la variable de entorno** y **Valor de la variable de entorno, respectivamente**. 
**nota**  
Elija **Texto sin formato** si desea hacer referencia a datos no confidenciales. Estos datos no están cifrados y otras personas los pueden ver en la configuración del servicio App Runner y en los registros de la aplicación. 
   + Elija **Secrets Manager** en la **fuente de la variable de entorno** para hacer referencia al secreto que está almacenado AWS Secrets Manager como variable de entorno en su servicio. Proporcione el nombre de la variable de entorno y el nombre del recurso de Amazon (ARN) del secreto al que hace referencia en **Nombre de la variable de entorno y Valor de la variable** de **entorno**, respectivamente. 
   + Elija **SSM Parameter Store** en la **fuente de variables de entorno** para hacer referencia al parámetro almacenado en SSM Parameter Store como variable de entorno de su servicio. Proporcione el nombre de la variable de entorno y el ARN del parámetro al que hace referencia en **Nombre de la variable de entorno y Valor de la variable** de **entorno**, respectivamente. 
**nota**  
No puedes asignar `PORT` un nombre a una variable de entorno al crear o actualizar tu servicio de App Runner. Es una variable de entorno reservada para el servicio App Runner. 
 Si el parámetro del almacén de parámetros de SSM coincide Región de AWS con el servicio que desea lanzar, puede especificar el nombre completo del recurso de Amazon (ARN) o el nombre del parámetro. Si el parámetro se encuentra en una región diferente, debe especificar el ARN completo. 
Asegúrese de que el parámetro al que hace referencia esté en la misma cuenta que el servicio que va a lanzar o actualizar. Actualmente, no puedes hacer referencia al parámetro SSM Parameter Store en todas las cuentas. 

1. Seleccione **Añadir variable de entorno** para hacer referencia a otra variable de entorno. 

1. Amplíe **las plantillas de políticas de IAM** para ver y copiar las plantillas de políticas de IAM proporcionadas para el almacén de parámetros de SSM AWS Secrets Manager y el SSM. Solo tienes que hacerlo si aún no has actualizado la política de IAM de tu rol de instancia con los permisos necesarios. Para obtener más información, consulte [Permisos de ](env-variable.md#env-variable.sensitivedata.permissions)..

### Eliminar la variable de entorno
<a name="env-variable-manage.console.remove"></a>

Antes de eliminar una variable de entorno, asegúrese de que el código de la aplicación esté actualizado para reflejar lo mismo. Si el código de la aplicación no está actualizado, es posible que el servicio App Runner falle.

**Para eliminar variables de entorno**

1. Abre la [consola de App Runner](https://console.aws.amazon.com/apprunner) y, en la lista de **regiones**, selecciona la tuya Región de AWS.

1.  Ve a la pestaña **Configuración** del servicio que deseas actualizar. 

1.  Ve a **Variables de entorno (opcional)** en **Configuración del servicio**. 

1.  Seleccione **Eliminar** junto a la variable de entorno que desee eliminar. Recibirá un mensaje para confirmar la eliminación. 

1.  Elija **Eliminar**. 

## API de App Runner o AWS CLI
<a name="env-variable-manage.api"></a>

Puede hacer referencia a los datos confidenciales almacenados en Secrets Manager y SSM Parameter Store agregándolos como variables de entorno en su servicio. 

**nota**  
Actualiza la política de IAM de tu rol de instancia para que App Runner pueda acceder a los secretos y parámetros almacenados en Secrets Manager y SSM Parameter Store. Para obtener más información, consulte [Permisos de ](env-variable.md#env-variable.sensitivedata.permissions)..

**Para hacer referencia a los secretos y las configuraciones como variables de entorno**

1. Cree un secreto o una configuración en Secrets Manager o SSM Parameter Store. 

   En los siguientes ejemplos se muestra cómo crear un secreto y un parámetro mediante el almacén de parámetros SSM.   
**Example Crear un secreto: solicitud**  

   El siguiente ejemplo muestra cómo crear un secreto que represente la credencial de la base de datos.

   ```
   aws secretsmanager create-secret \
   —name DevRdsCredentials \
   —description "Rds credentials for development account." \
   —secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
   ```  
**Example Crear un secreto: respuesta**  

   ```
   arn:aws:secretsmanager:<region>:<aws_account_id>:secret:DevRdsCredentials
   ```  
**Example Crear una configuración: solicitud**  

   El siguiente ejemplo muestra cómo crear un parámetro que represente la cadena de conexión RDS.

   ```
   aws systemsmanager put-parameter \
   —name DevRdsConnectionString \
   —value "mysql2://dev-mysqlcluster-rds.com:3306/diegor" \
   —type "String" \
   —description "Rds connection string for development account."
   ```  
**Example Creación de una configuración: respuesta**  

   ```
   arn:aws:ssm:<region>:<aws_account_id>:parameter/DevRdsConnectionString
   ```

1. Haga referencia a los secretos y las configuraciones que se almacenan en Secrets Manager y SSM Parameter Store agregándolos como variables de entorno. Puedes agregar variables de entorno al crear o actualizar tu servicio de App Runner. 

   En los siguientes ejemplos, se muestra cómo hacer referencia a los secretos y las configuraciones como variables de entorno en un servicio de App Runner basado en código y en uno basado en imágenes.  
**Example Archivo de entrada. json para el servicio App Runner basado en imágenes**  

   ```
   {
     "ServiceName": "example-secrets",
     "SourceConfiguration": {
       "ImageRepository": {
         "ImageIdentifier": "<image-identifier>",
         "ImageConfiguration": {
           "Port": "<port>",
           "RuntimeEnvironmentSecrets": {
             "Credential1":"arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX",
             "Credential2":"arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
           }
         },
         "ImageRepositoryType": "ECR_PUBLIC"
       }
     },
     "InstanceConfiguration": {
       "Cpu": "1 vCPU",
       "Memory": "3 GB",
       "InstanceRoleArn": "<instance-role-arn>"
     }
   }
   ```  
**Example Servicio App Runner basado en imágenes: solicitud**  

   ```
   aws apprunner create-service \
   --cli-input-json file://input.json
   ```  
**Example Servicio App Runner basado en imágenes: respuesta**  

   ```
   {
   ...
         "ImageRepository": {
            "ImageIdentifier":"<image-identifier>",
            "ImageConfiguration":{
               "Port": "<port>",
               "RuntimeEnvironmentSecrets":{
                  "Credential1": "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX",
                  "Credential2": "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
               },                
               "ImageRepositoryType":"ECR"
         }      
      },
      "InstanceConfiguration": {
           "CPU": "1 vCPU",
           "Memory": "3 GB",
           "InstanceRoleArn: "<instance-role-arn>"
      }
   ...
   }
   ```  
**Example Archivo de entrada. json para el servicio App Runner basado en código**  

   ```
   {
     "ServiceName": "example-secrets",
     "SourceConfiguration": {
       "AuthenticationConfiguration": {
         "ConnectionArn": "arn:aws:apprunner:us-east-1:123456789012:connection/my-github-connection/XXXXXXXXXX"
       },
       "AutoDeploymentsEnabled": false,
       "CodeRepository": {
         "RepositoryUrl": "<repository-url>",
         "SourceCodeVersion": {
           "Type": "BRANCH",
           "Value": "main"
         },
         "CodeConfiguration": {
           "ConfigurationSource": "API",
           "CodeConfigurationValues": {
             "Runtime": "<runtime>",
             "BuildCommand": "<build-command>",
             "StartCommand": "<start-command>",
             "Port": "<port>",
             "RuntimeEnvironmentSecrets": {
               "Credential1":"arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX",
               "Credential2":"arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
             }
           }
         }
       }
     },
     "InstanceConfiguration": {
       "Cpu": "1 vCPU",
       "Memory": "3 GB",
       "InstanceRoleArn": "<instance-role-arn>"
     }
   }
   ```  
**Example Servicio App Runner basado en código: solicitud**  

   ```
   aws apprunner create-service \
   --cli-input-json file://input.json
   ```  
**Example Servicio App Runner basado en código: respuesta**  

   ```
   {
   ...
      "SourceConfiguration":{
         "CodeRepository":{
            "RepositoryUrl":"<repository-url>",
            "SourceCodeVersion":{
               "Type":"Branch",
               "Value":"main"
            },
            "CodeConfiguration":{
               "ConfigurationSource":"API",
               "CodeConfigurationValues":{
                  "Runtime":"<runtime>",
                  "BuildCommand":"<build-command>",
                  "StartCommand":"<start-command>",
                  "Port":"<port>",               
                  "RuntimeEnvironmentSecrets":{
                     "Credential1" : "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXX",
                     "Credential2" : "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
                  } 
               }
            }
         },
         "InstanceConfiguration": {
           "CPU": "1 vCPU",
           "Memory": "3 GB",
           "InstanceRoleArn: "<instance-role-arn>"
      }
   ...
   }
   ```

1. El `apprunner.yaml` modelo se actualiza para reflejar los secretos adicionales. 

   A continuación se muestra un ejemplo del `apprunner.yaml` modelo actualizado.  
**Example `apprunner.yaml`**  

   ```
   version: 1.0
   runtime: python3
   build:
     commands:
       build:
         - python -m pip install flask
   run:
     command: python app.py
     network:
       port: 8080
     env:
       - name: MY_VAR_EXAMPLE
         value: "example"
     secrets:
       - name: my-secret
         value-from: "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:XXXXXXXXXXXX"
       - name: my-parameter
         value-from: "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter-name>"
       - name: my-parameter-only-name
         value-from: "parameter-name"
   ```