Usar un manifiesto para habilitar 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.

Usar un manifiesto para habilitar funciones de recuperación adicionales

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

Comprender los manifiestos de los agentes

Para habilitar 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. Se escribe un manifiestoJSON. 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 JSON ejemplo de 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 la copia de la configuración de escritura en disco y las funciones de 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 va a cambiar con frecuencia.

AWS AppConfig configuración

application-name:environment-name:configuration-name

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 va a cambiar 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:

Configurar el AWS AppConfig agente para recuperar las configuraciones de varias cuentas

Puede configurar el AWS AppConfig agente para que recupere las configuraciones de varias de Cuentas de AWS ellas introduciendo las anulaciones de credenciales en el manifiesto del AWS AppConfig agente. 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 durante la cual 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 IAM función 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 GetLatestConfigurationAPIoperación para recuperar los datos de configuración de la AWS AppConfig ejecución en esas cuentas:

Cómo trabaja el AWS AppConfig agente con IAM funciones independientes 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 del proveedor. 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 IAM permisos, un IAM rol y añadir sustituciones de agentes al manifiesto.

Antes de empezar

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

  • El IDs para cada uno Cuenta de AWS. La cuenta de recuperación es la cuenta que solicitará datos de configuración a otras cuentas. 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 IAM función utilizada AWS AppConfig en la cuenta de recuperación. Esta es una lista de las funciones que utilizan AWS AppConfig, de forma predeterminada:

    • Para Amazon Elastic Compute Cloud (AmazonEC2), AWS AppConfig usa el rol de instancia.

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

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

    Si configuró el AWS AppConfig agente para que utilizara un IAM rol 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 IAM consola. Complete el procedimiento de cada una Cuenta de AWS de ellas para vender los datos de configuración de la cuenta de recuperación.

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

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

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

  4. Elige la JSONopción.

  5. En el editor de políticas, sustituya el valor predeterminado por JSON la siguiente declaración de política. Actualice cada una example resource placeholder 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 Next (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.

Cree el rol IAM

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

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

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

  3. En el panel de navegación, elija Roles y, a continuación, elija 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 Next (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. Elija 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 JSON confianza predeterminada por la siguiente política. Actualice cada una example resource placeholder con información de su 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 ARNsección, copia elARN. Especificará esta información en el siguiente procedimiento.

Agregue anulaciones de credenciales al manifiesto

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

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

Configuración del AWS AppConfig agente para escribir copias 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 BACKUP_DIRECTORY las variables de PRELOAD_BACKUP entorno de Using AWS AppConfig Agent with Amazon EC2 o Using AWS AppConfig Agent with Amazon ECS and 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 "INFOescribió la configuración 'application:environment:configuration'para 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