Funciones de recuperación adicionales - AWS AppConfig

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.

Funciones de recuperación adicionales

AWS AppConfig El agente ofrece las siguientes funciones adicionales para ayudarle a recuperar las configuraciones de sus aplicaciones.

  • Recuperación de varias cuentas: Utilice el AWS AppConfig agente de una cuenta principal o de recuperación Cuenta de AWS para recuperar los datos de configuración de varias cuentas de proveedores.

  • Escriba la copia de la configuración en el disco: Utilice el AWS AppConfig agente para escribir los datos de configuración en el disco. Esta función permite a los clientes con aplicaciones que leen los datos de configuración del disco integrarse en ellas AWS AppConfig.

Acerca de los manifiestos de agentes

Para activar estas funciones del AWS AppConfig agente, debe crear un manifiesto. Un manifiesto es un conjunto de datos de configuración que se proporcionan para controlar las acciones que el agente puede realizar. Un manifiesto se escribe en JSON. Contiene un conjunto de claves de nivel superior que corresponden a las diferentes configuraciones que has utilizado AWS AppConfig para la implementación.

Un manifiesto puede incluir varias configuraciones. Además, cada configuración del manifiesto puede identificar una o más funciones del agente para utilizarlas en la configuración especificada. El contenido del manifiesto utiliza el siguiente formato:

{ "application_name:environment_name:configuration_name": { "agent_feature_to_enable_1": { "feature-setting-key": "feature-setting-value" }, "agent_feature_to_enable_2": { "feature-setting-key": "feature-setting-value" } } }

Este es un ejemplo de JSON para un manifiesto con dos configuraciones. La primera configuración (MyApp) no utiliza ninguna función AWS AppConfig del agente. La segunda configuración (My2ndApp) utiliza las funciones de escritura, copia en disco y recuperación multicuenta:

{ "MyApp:Test:MyAllowListConfiguration": {}, "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": { "credentials": { "roleArn": "arn:us-west-1:iam::123456789012:role/MyTestRole", "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac", "roleSessionName": "AwsAppConfigAgent", "credentialsDuration": "2h" }, "writeTo": { "path": "/tmp/aws-appconfig/my-2nd-app/beta/my-enable-payments-feature-flag-configuration.json" } } }
¿Cómo proporcionar un manifiesto de agente?

Puede almacenar el manifiesto como un archivo en un lugar donde el AWS AppConfig agente pueda leerlo. O bien, puede almacenar el manifiesto como una AWS AppConfig configuración y dirigir al agente hacia él. Para proporcionar un manifiesto de agente, debe establecer una variable de MANIFEST entorno con uno de los siguientes valores:

Ubicación del manifiesto Valor de la variable de entorno Caso de uso

Archivos

archivo: /path/to/agent-manifest.json

Usa este método si tu manifiesto no cambia con frecuencia.

AWS AppConfig configuración

nombre de la aplicación: nombre del entorno: nombre de la configuración

Utilice este método para las actualizaciones dinámicas. Puede actualizar e implementar un manifiesto almacenado AWS AppConfig como configuración del mismo modo que almacena otras AWS AppConfig configuraciones.

Variable de entorno

Contenido del manifiesto (JSON)

Usa este método si tu manifiesto no cambia con frecuencia. Este método resulta útil en entornos de contenedores en los que es más fácil establecer una variable de entorno que exponer un archivo.

Para obtener más información sobre la configuración de variables para AWS AppConfig Agent, consulte el tema correspondiente a su caso de uso:

Recuperación de varias cuentas

Puede configurar el AWS AppConfig agente para que recupere las configuraciones de varias de ellas Cuentas de AWS introduciendo las anulaciones de credenciales en el manifiesto del agente. AWS AppConfig Las anulaciones de credenciales incluyen el nombre de recurso de Amazon (ARN) de una función AWS Identity and Access Management (IAM), un ID de función, un nombre de sesión y la duración del tiempo que el agente puede asumir la función.

Introduce estos detalles en la sección de «credenciales» del manifiesto. La sección «credenciales» usa el siguiente formato:

{ "application_name:environment_name:configuration_name": { "credentials": { "roleArn": "arn:partition:iam::account_ID:role/roleName", "roleExternalId": "string", "roleSessionName": "string", "credentialsDuration": "time_in_hours" } } }

A continuación se muestra un ejemplo:

{ "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": { "credentials": { "roleArn": "arn:us-west-1:iam::123456789012:role/MyTestRole", "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac", "roleSessionName": "AWSAppConfigAgent", "credentialsDuration": "2h" } } }

Antes de recuperar una configuración, el agente lee los detalles de las credenciales de la configuración en el manifiesto y, a continuación, asume la función de IAM especificada para esa configuración. Puedes especificar un conjunto diferente de anulaciones de credenciales para distintas configuraciones en un único manifiesto. El siguiente diagrama muestra cómo el AWS AppConfig agente, mientras se ejecuta en la cuenta A (la cuenta de recuperación), asume funciones distintas especificadas para las cuentas B y C (las cuentas del proveedor) y, a continuación, llama a la operación de la API de GetLatestconfiguración para recuperar los datos de configuración que AWS AppConfig se ejecutan en esas cuentas:

Cómo trabaja el AWS AppConfig agente con las funciones de IAM por separado. Cuentas de AWS

Configure los permisos para recuperar los datos de configuración de las cuentas de los proveedores

AWS AppConfig El agente que se ejecuta en la cuenta de recuperación necesita permiso para recuperar los datos de configuración de las cuentas del proveedor. Para conceder el permiso al agente, debe crear un rol AWS Identity and Access Management (IAM) en cada una de las cuentas de los proveedores. AWS AppConfig El agente de la cuenta de recuperación asume esta función para obtener datos de las cuentas de los proveedores. Complete los procedimientos de esta sección para crear una política de permisos de IAM, una función de IAM y añadir sustituciones por parte de los agentes al manifiesto.

Antes de empezar

Recopile la siguiente información antes de crear una política de permisos y un rol en IAM.

  • Los identificadores de cada uno Cuenta de AWS. La cuenta de recuperación es la cuenta que llamará a otras cuentas para obtener datos de configuración. Las cuentas de proveedor son las cuentas que venderán los datos de configuración a la cuenta de recuperación.

  • El nombre de la función de IAM utilizada AWS AppConfig en la cuenta de recuperación. Esta es una lista de las funciones que utilizan AWS AppConfig, de forma predeterminada:

    • En el caso de Amazon Elastic Compute Cloud (Amazon EC2) AWS AppConfig , utiliza el rol de instancia.

    • Para AWS Lambda, AWS AppConfig utiliza la función de ejecución Lambda.

    • Para Amazon Elastic Container Service (Amazon ECS) y Amazon Elastic Kubernetes Service (Amazon AWS AppConfig EKS), utiliza la función de contenedor.

    Si ha configurado el AWS AppConfig agente para que utilice un rol de IAM diferente especificando la variable de ROLE_ARN entorno, anote ese nombre.

Cree la política de permisos

Utilice el siguiente procedimiento para crear una política de permisos mediante la consola de IAM. Complete el procedimiento de cada una Cuenta de AWS de ellas para vender los datos de configuración de la cuenta de recuperación.

Para crear una política de IAM
  1. Inicie sesión AWS Management Console en una cuenta de proveedor.

  2. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  3. En el panel de navegación, seleccione Policies (Políticas) y, a continuación, seleccione Create policy (Crear política).

  4. Elige la opción JSON.

  5. En el editor de políticas, sustituya el JSON predeterminado por la siguiente declaración de política. Actualice cada marcador de posición de recurso de ejemplo con los detalles de la cuenta del proveedor.

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "appconfig:StartConfigurationSession", "appconfig:GetLatestConfiguration" ], "Resource": "arn:partition:appconfig:region:vendor_account_ID:application/vendor_application_ID/environment/vendor_environment_ID/configuration/vendor_configuration_ID" } ] }

    A continuación se muestra un ejemplo:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "appconfig:StartConfigurationSession", "appconfig:GetLatestConfiguration" ], "Resource": "arn:aws:appconfig:us-east-2:111122223333:application/abc123/environment/def456/configuration/hij789" } ] }
  6. Elija Siguiente.

  7. En el campo Nombre de la política, introduzca un nombre.

  8. (Opcional) En Agregar etiquetas, agregue uno o más pares de valores de etiqueta y clave para organizar, rastrear o controlar el acceso a esta política.

  9. Elija Crear política. El sistema le devuelve a la página Policies (Políticas).

  10. Repita este procedimiento en cada uno de los casos en Cuenta de AWS los que se vendan los datos de configuración de la cuenta de recuperación.

Creación del rol de IAM

Utilice el siguiente procedimiento para crear un rol de IAM mediante la consola de IAM. Complete el procedimiento de cada uno de ellos Cuenta de AWS que venderá los datos de configuración de la cuenta de recuperación.

Cómo crear un rol de IAM
  1. Inicie sesión AWS Management Console en una cuenta de proveedor.

  2. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  3. En el panel de navegación, selecciona Roles y, a continuación, selecciona Crear política.

  4. En Tipo de entidad de confianza, elija Cuenta de AWS.

  5. En la Cuenta de AWSsección, elija Otro Cuenta de AWS.

  6. En el campo ID de cuenta, introduce el ID de la cuenta de recuperación.

  7. (Opcional) Como práctica recomendada de seguridad para este supuesto rol, selecciona Requerir un identificador externo e introduce una cadena.

  8. Elija Siguiente.

  9. En la página Añadir permisos, utilice el campo de búsqueda para localizar la política que creó en el procedimiento anterior. Seleccione la casilla de verificación situada junto a su nombre.

  10. Seleccione Next (Siguiente).

  11. En Role name (Nombre de rol), escriba un nombre.

  12. (Opcional) En Description (Descripción), introduzca una descripción.

  13. Para el paso 1: Seleccione entidades de confianza, elija Editar. Sustituya la política de confianza de JSON predeterminada por la siguiente política. Actualiza cada marcador de posición de recurso de ejemplo con la información de tu cuenta de recuperación.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::retrieval_account_ID:role/appconfig_role_in_retrieval_account" }, "Action": "sts:AssumeRole" } ] }
  14. (Opcional) En Tags (Etiquetas), agregue uno o varios pares de valor etiqueta-clave para organizar, realizar un seguimiento o controlar el acceso a este rol.

  15. Elija Create role. El sistema le devuelve a la página Roles.

  16. Busca el rol que acabas de crear. Elíjalo. En la sección ARN, copia el ARN. Especificará esta información en el siguiente procedimiento.

Agregue anulaciones de credenciales al manifiesto

Tras crear el rol de IAM en su cuenta de proveedor, actualice el manifiesto en la cuenta de recuperación. En concreto, añada el bloque de credenciales y el ARN del rol de IAM para recuperar los datos de configuración de la cuenta del proveedor. Este es el formato JSON:

{ "vendor_application_name:vendor_environment_name:vendor_configuration_name": { "credentials": { "roleArn": "arn:partition:iam::vendor_account_ID:role/name_of_role_created_in_vendor_account", "roleExternalId": "string", "roleSessionName": "string", "credentialsDuration": "time_in_hours" } } }

A continuación se muestra un ejemplo:

{ "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": { "credentials": { "roleArn": "arn:us-west-1:iam::123456789012:role/MyTestRole", "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac", "roleSessionName": "AwsAppConfigAgent", "credentialsDuration": "2h" } } }
Valide que la recuperación de varias cuentas esté funcionando

Puede comprobar que ese agente puede recuperar los datos de configuración de varias cuentas consultando los registros del AWS AppConfig agente. El registro de INFO nivel de los datos iniciales recuperados de 'YourApplicationName:YourEnvironmentName:YourConfigurationName' es el mejor indicador de que las recuperaciones se han realizado correctamente. Si las recuperaciones fallan, debería ver un registro de ERROR nivel que indique el motivo del error. A continuación, se muestra un ejemplo de una recuperación exitosa de una cuenta de proveedor:

[appconfig agent] 2023/11/13 11:33:27 INFO AppConfig Agent 2.0.x [appconfig agent] 2023/11/13 11:33:28 INFO serving on localhost:2772 [appconfig agent] 2023/11/13 11:33:28 INFO retrieved initial data for 'MyTestApplication:MyTestEnvironment:MyDenyListConfiguration' in XX.Xms

Escriba la copia de la configuración en el disco

Puede configurar el AWS AppConfig agente para que almacene automáticamente una copia de una configuración en el disco en texto plano. Esta función permite a los clientes con aplicaciones que leen los datos de configuración del disco integrarse con ellas AWS AppConfig.

Esta función no está diseñada para usarse como función de respaldo de la configuración. AWS AppConfig El agente no lee los archivos de configuración copiados en el disco. Si desea hacer una copia de seguridad de las configuraciones en disco, consulte las variables de PRELOAD_BACKUP entorno de Uso del AWS AppConfig agente con Amazon EC2 o Uso del AWS AppConfig agente con Amazon ECS BACKUP_DIRECTORY y Amazon EKS.

aviso

Tenga en cuenta la siguiente información importante acerca de esta función:

  • Las configuraciones guardadas en el disco se almacenan en texto plano y son legibles por humanos. No habilite esta función para configuraciones que incluyan datos confidenciales.

  • Esta función graba en el disco local. Utilice el principio de privilegios mínimos para los permisos del sistema de archivos. Para obtener más información, consulte Implementación del acceso a los privilegios mínimos.

Para habilitar la configuración de escritura, copie en el disco.
  1. Edite el manifiesto.

  2. Elija la configuración que desee AWS AppConfig escribir en el disco y añada un writeTo elemento. A continuación se muestra un ejemplo:

    { "application_name:environment_name:configuration_name": { "writeTo": { "path": "path_to_configuration_file" } } }

    A continuación se muestra un ejemplo:

    { "MyTestApp:MyTestEnvironment:MyNewConfiguration": { "writeTo": { "path": "/tmp/aws-appconfig/mobile-app/beta/enable-mobile-payments" } } }
  3. Guarde los cambios. El archivo configuration.json se actualizará cada vez que se implementen nuevos datos de configuración.

Valide que la copia de la configuración de escritura en el disco funcione

Para comprobar que se están grabando copias de una configuración en el disco, consulte los registros del AWS AppConfig agente. La entrada de INFO registro con la frase «INFO escribió la configuración 'application: environment: configuration' en file_path» indica que el AWS AppConfig agente escribe copias de la configuración en el disco.

A continuación se muestra un ejemplo:

[appconfig agent] 2023/11/13 11:33:27 INFO AppConfig Agent 2.0.x [appconfig agent] 2023/11/13 11:33:28 INFO serving on localhost:2772 [appconfig agent] 2023/11/13 11:33:28 INFO retrieved initial data for 'MobileApp:Beta:EnableMobilePayments' in XX.Xms [appconfig agent] 2023/11/13 17:05:49 INFO wrote configuration 'MobileApp:Beta:EnableMobilePayments' to /tmp/configs/your-app/your-env/your-config.json