

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.

# Hacer referencia a variables de entorno
<a name="env-variable"></a>

Con App Runner, puedes hacer referencia a los secretos y las configuraciones como variables de entorno de tu servicio al [crear un servicio](manage-create.md) o [actualizarlo](manage-configure.md). 

Puede hacer referencia a datos de configuración no confidenciales, como los tiempos de espera y los recuentos de reintentos en **texto sin formato**, como pares clave-valor. Los datos de configuración a los que hace referencia en **texto sin formato** no están cifrados y otras personas los pueden ver en los registros de aplicaciones y de configuración del servicio de App Runner.

**nota**  
Por motivos de seguridad, no hagas referencia a ningún dato confidencial en **texto sin formato** en tu servicio de App Runner.

## Hacer referencia a datos confidenciales como variables de entorno
<a name="env-variable.sensitivedata"></a>

App Runner permite hacer referencia de forma segura a datos confidenciales como variables de entorno en su servicio. Considere la posibilidad de almacenar los datos confidenciales a los que desee hacer referencia en nuestro *AWS Secrets Manager**almacén de AWS Systems Manager parámetros*. Luego, puedes hacer referencia a ellos de forma segura en tu servicio como variables de entorno desde la consola de App Runner o llamando a la API. Esto separa eficazmente la administración de secretos y parámetros del código de la aplicación y la configuración del servicio, lo que mejora la seguridad general de las aplicaciones que se ejecutan en App Runner. 

**nota**  
App Runner no le cobra por hacer referencia a Secrets Manager y SSM Parameter Store como variables de entorno. Sin embargo, usted paga un precio estándar por usar Secrets Manager y SSM Parameter Store.  
Para obtener más información sobre los precios, consulte los siguientes temas:   
 [AWS Precios de Secrets Manager](https://aws.amazon.com/secrets-manager/pricing)
 [AWS Precios de SSM Parameter Store](https://aws.amazon.com/systems-manager/pricing) 

 El siguiente es el proceso para hacer referencia a datos confidenciales como variables de entorno: 

1. Guarde los datos confidenciales, como las claves de API, las credenciales de la base de datos, los parámetros de conexión a la base de datos o las versiones de las aplicaciones, como secretos o parámetros en el almacén de parámetros AWS Secrets Manager o en el almacén de AWS Systems Manager parámetros. 

1. 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.sensitivedata.permissions).. 

1. Haga referencia de forma segura a los secretos y parámetros como variables de entorno asignando un nombre y proporcionando su nombre de recurso de Amazon (ARN). Puede añadir variables de entorno al [crear un servicio o al](manage-create.md) [actualizar la configuración de un servicio](manage-configure.md). Puede usar una de las siguientes opciones para agregar variables de entorno:
   +  Consola de App Runner 
   +  API de App Runner 
   +  Archivo de configuración de la `apprunner.yaml` 
**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. 

   Para obtener más información sobre cómo hacer referencia a secretos y parámetros, consulte [Administrar variables de entorno](env-variable-manage.md). 

**nota**  
 Como App Runner solo almacena la referencia al secreto y al parámetro ARNs, los datos confidenciales no son visibles para otras personas en la configuración del servicio y en los registros de aplicaciones de App Runner. 

## Consideraciones
<a name="env-variable.sensitivedata.considerations"></a>
+ Asegúrate de actualizar el rol de la instancia con los permisos adecuados para acceder a los secretos y parámetros del almacén de parámetros AWS Secrets Manager o AWS Systems Manager dentro de él. Para obtener más información, consulte [Permisos de ](#env-variable.sensitivedata.permissions).. 
+ Asegúrate de que el almacén de AWS Systems Manager parámetros esté en el Cuenta de AWS mismo lugar que el servicio que deseas lanzar o actualizar. Actualmente, no puedes hacer referencia a los parámetros del almacén de parámetros de SSM en todas las cuentas. 
+ Cuando los secretos y los valores de los parámetros se rotan o cambian, no se actualizan automáticamente en tu servicio de App Runner. Vuelva a implementar el servicio App Runner, ya que App Runner solo extrae los secretos y los parámetros durante la implementación. 
+ También tienes la opción de llamar AWS Secrets Manager directamente al almacén de AWS Systems Manager parámetros a través del SDK de tu servicio de App Runner. 
+ Para evitar errores, asegúrate de lo siguiente cuando hagas referencia a ellas como variables de entorno: 
  + Especifica el ARN correcto del secreto.
  + Debe especificar el nombre correcto o el ARN del parámetro.

## Permisos
<a name="env-variable.sensitivedata.permissions"></a>

Para habilitar la referencia a los secretos y parámetros almacenados en el almacén de parámetros AWS Secrets Manager o en el almacén de parámetros de SSM, añade los permisos adecuados a la política de IAM de tu *función de instancia* para acceder a Secrets Manager y al almacén de parámetros de SSM. 

**nota**  
 App Runner no puede acceder a los recursos de tu cuenta sin tu permiso. El permiso se otorga mediante la actualización de la política de IAM. 

Puedes usar las siguientes plantillas de políticas para actualizar tu rol de instancia en la consola de IAM. Puede modificar estas plantillas de políticas para adaptarlas a sus requisitos específicos. Para obtener más información sobre la actualización de un rol de instancia, consulte [Modificación de un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html) en la *Guía del usuario de IAM*.

**nota**  
También puedes copiar las siguientes plantillas de la consola de App Runner al [crear las variables de entorno](env-variable-manage.md#env-variable-manage.console). 

Copia la siguiente plantilla en tu rol de instancia para añadir permisos desde *los que hacer referencia a los secretos *AWS Secrets Manager**.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "secretsmanager:GetSecretValue",
            "kms:Decrypt*"
        ],
        "Resource": [
            "arn:aws:secretsmanager:us-east-1:111122223333:secret:my-secret",
            "arn:aws:kms:us-east-1:111122223333:key/my-key"
         ]
     }
   ]
}
```

------

Copia la siguiente plantilla en tu rol de instancia para añadir permisos para hacer referencia a *los parámetros* del almacén de *AWS Systems Manager*parámetros.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters"
            ],
            "Resource": [
            "arn:aws:ssm:us-east-1:111122223333:parameter/my-parameter"
            ]
        }
    ]
}
```

------

# 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"
   ```