Administrar las variables de entorno - AWS App Runner

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

Administre las variables de entorno de su servicio de App Runner mediante uno de los siguientes métodos:

Consola de App Runner

Al crear un servicio o actualizar un servicio en la consola de App Runner, puede agregar variables de entorno.

Agregar una variable de entorno

Para añadir una variable de entorno
  1. Abre la consola de App Runner y, en la lista de regiones, selecciona la tuya Región de AWS.

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

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

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

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

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

Eliminar la variable de entorno

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 y, en la lista de regiones, selecciona la tuya Región de AWS.

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

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

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

  5. Elija Eliminar.

API de App Runner o AWS CLI

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

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.

    ejemplo 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\"}"
    ejemplo Crear un secreto: respuesta
    arn:aws:secretsmanager:<region>:<aws_account_id>:secret:DevRdsCredentials
    ejemplo 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."
    ejemplo Creación de una configuración: respuesta
    arn:aws:ssm:<region>:<aws_account_id>:parameter/DevRdsConnectionString
  2. 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.

    ejemplo 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>" } }
    ejemplo Servicio App Runner basado en imágenes: solicitud
    aws apprunner create-service \ --cli-input-json file://input.json
    ejemplo 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>" } ... }
    ejemplo 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>" } }
    ejemplo Servicio App Runner basado en código: solicitud
    aws apprunner create-service \ --cli-input-json file://input.json
    ejemplo 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>" } ... }
  3. El apprunner.yaml modelo se actualiza para reflejar los secretos adicionales.

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

    ejemplo 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"