Funzionalità di recupero aggiuntive - AWS AppConfig

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Funzionalità di recupero aggiuntive

AWS AppConfig Agent offre le seguenti funzionalità aggiuntive per aiutarvi a recuperare le configurazioni per le vostre applicazioni.

  • Recupero di più account: Utilizzate AWS AppConfig Agent da un sistema primario o di recupero per recuperare i dati di configurazione Account AWS da account di più fornitori.

  • Scrivi una copia della configurazione su disco: utilizza AWS AppConfig Agent per scrivere i dati di configurazione su disco. Questa funzionalità consente l'integrazione con i clienti con applicazioni che leggono i dati di configurazione dal disco AWS AppConfig.

Informazioni sui manifesti degli agenti

Per abilitare queste funzionalità AWS AppConfig dell'agente, è necessario creare un manifesto. Un manifesto è un insieme di dati di configurazione forniti per controllare le azioni che l'agente può eseguire. Un manifesto è scritto in JSON. Contiene un set di chiavi di primo livello che corrispondono a diverse configurazioni che hai utilizzato. AWS AppConfig

Un manifesto può includere più configurazioni. Inoltre, ogni configurazione nel manifesto può identificare una o più funzionalità dell'agente da utilizzare per la configurazione specificata. Il contenuto del manifesto utilizza il seguente 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" } } }

Ecco un esempio di JSON per un manifesto con due configurazioni. La prima configurazione (MyApp) non utilizza alcuna funzionalità AWS AppConfig dell'agente. La seconda configurazione (My2ndApp) utilizza la copia di scrittura della configurazione su disco e le funzionalità di recupero di più account:

{ "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" } } }
Come fornire un manifesto dell'agente

È possibile archiviare il manifesto come file in una posizione in cui AWS AppConfig Agent può leggerlo. In alternativa, è possibile archiviare il manifesto come AWS AppConfig configurazione e indirizzare l'agente verso di esso. Per fornire un manifesto dell'agente, è necessario impostare una variabile di MANIFEST ambiente con uno dei seguenti valori:

Posizione del manifesto Valore della variabile d'ambiente Caso d'uso

File

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

Usa questo metodo se il tuo manifesto non cambia spesso.

AWS AppConfig configurazione

nome-applicazione: nome-ambiente: nome-configurazione

Utilizzate questo metodo per gli aggiornamenti dinamici. È possibile aggiornare e distribuire un manifesto archiviato AWS AppConfig come configurazione nello stesso modo in cui si archiviano altre AWS AppConfig configurazioni.

Variabile di ambiente

Contenuto del manifesto (JSON)

Usa questo metodo se il tuo manifesto non cambia spesso. Questo metodo è utile in ambienti container in cui è più facile impostare una variabile di ambiente piuttosto che esporre un file.

Per ulteriori informazioni sull'impostazione delle variabili per AWS AppConfig Agent, consultate l'argomento pertinente al vostro caso d'uso:

Recupero di più account

È possibile configurare AWS AppConfig l'agente per recuperare le configurazioni da più configurazioni Account AWS inserendo le sostituzioni delle credenziali nel manifesto dell'agente. AWS AppConfig Le sostituzioni delle credenziali includono l'Amazon Resource Name (ARN) di un ruolo AWS Identity and Access Management (IAM), un ID di ruolo, un nome di sessione e la durata per cui l'agente può assumere il ruolo.

Inserisci questi dettagli in una sezione «credenziali» del manifesto. La sezione «credenziali» utilizza il seguente formato:

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

Ecco un esempio:

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

Prima di recuperare una configurazione, l'agente legge i dettagli delle credenziali per la configurazione dal manifest e quindi assume il ruolo IAM specificato per quella configurazione. È possibile specificare un set diverso di sostituzioni di credenziali per diverse configurazioni in un unico manifesto. Il diagramma seguente mostra come l' AWS AppConfig agente, durante l'esecuzione nell'account A (l'account di recupero), assuma ruoli separati specificati per gli account B e C (gli account fornitore) e quindi richiami l'operazione dell'API di configurazione per recuperare i dati di GetLatestconfigurazione dall'esecuzione in tali account: AWS AppConfig

In che modo AWS AppConfig Agent interagisce con ruoli IAM distinti. Account AWS

Configura le autorizzazioni per recuperare i dati di configurazione dagli account dei fornitori

AWS AppConfig L'agente in esecuzione nell'account di recupero necessita dell'autorizzazione per recuperare i dati di configurazione dagli account del fornitore. Si concede l'autorizzazione all'agente creando un ruolo AWS Identity and Access Management (IAM) in ciascuno degli account del fornitore. AWS AppConfig L'agente nell'account di recupero assume questo ruolo per ottenere dati dagli account dei fornitori. Completa le procedure in questa sezione per creare una policy di autorizzazioni IAM, un ruolo IAM e aggiungere le sostituzioni degli agenti al manifesto.

Prima di iniziare

Raccogli le seguenti informazioni prima di creare una politica di autorizzazione e un ruolo in IAM.

  • Gli ID per ciascuno Account AWS. L'account di recupero è l'account che chiamerà altri account per i dati di configurazione. Gli account fornitore sono gli account che invieranno i dati di configurazione all'account di recupero.

  • Il nome del ruolo IAM utilizzato da AWS AppConfig nell'account di recupero. Ecco un elenco dei ruoli utilizzati da AWS AppConfig, per impostazione predefinita:

    • Per Amazon Elastic Compute Cloud (Amazon EC2) AWS AppConfig , utilizza il ruolo di istanza.

    • For AWS Lambda, AWS AppConfig utilizza il ruolo di esecuzione Lambda.

    • Per Amazon Elastic Container Service (Amazon ECS) e Amazon Elastic Kubernetes Service (Amazon EKS), utilizza il ruolo contenitore. AWS AppConfig

    Se hai configurato l' AWS AppConfig agente per utilizzare un ruolo IAM diverso specificando la variabile di ROLE_ARN ambiente, prendi nota di quel nome.

Crea la politica delle autorizzazioni

Utilizza la seguente procedura per creare una politica di autorizzazioni utilizzando la console IAM. Completa la procedura in ciascuna unità Account AWS che fornirà i dati di configurazione per l'account di recupero.

Per creare una policy IAM
  1. Accedi all'account di un AWS Management Console fornitore.

  2. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  3. Nel riquadro di navigazione, seleziona Policy e quindi Crea policy.

  4. Scegli l'opzione JSON.

  5. Nell'editor delle politiche, sostituisci il codice JSON predefinito con la seguente dichiarazione di policy. Aggiorna ogni segnaposto di risorse di esempio con i dettagli dell'account del fornitore.

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

    Ecco un esempio:

    { "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. Seleziona Successivo.

  7. Nel campo Nome della politica, inserisci un nome.

  8. (Facoltativo) Per Aggiungi tag, aggiungi una o più coppie tag-chiave-valore per organizzare, tracciare o controllare l'accesso a questa politica.

  9. Scegli Crea policy. Il sistema visualizza di nuovo la pagina Policies (Policy).

  10. Ripetete questa procedura in ciascuna unità Account AWS che fornirà i dati di configurazione per l'account di recupero.

Crea il ruolo IAM

Utilizza la seguente procedura per creare un ruolo IAM utilizzando la console IAM. Completa la procedura in ciascuna Account AWS unità che fornirà i dati di configurazione per l'account di recupero.

Per creare un ruolo IAM
  1. Accedi all'account di un AWS Management Console fornitore.

  2. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  3. Nel riquadro di navigazione, scegli Ruoli, quindi scegli Crea politica.

  4. Per Trusted entity type (Tipo di entità attendibile), scegli Account AWS.

  5. Nella Account AWSsezione, scegli Altro Account AWS.

  6. Nel campo ID account, inserisci l'ID dell'account di recupero.

  7. (Facoltativo) Come procedura consigliata di sicurezza per questo ruolo, scegli Richiedi ID esterno e inserisci una stringa.

  8. Seleziona Successivo.

  9. Nella pagina Aggiungi autorizzazioni, utilizza il campo Cerca per individuare la politica creata nella procedura precedente. Seleziona la casella accanto al suo nome.

  10. Seleziona Successivo.

  11. In Role name (Nome ruolo), immettere un nome.

  12. (Facoltativo) In Description (Descrizione), immettere una descrizione.

  13. Per il passaggio 1: seleziona le entità attendibili, scegli Modifica. Sostituisci la politica di fiducia JSON predefinita con la seguente politica. Aggiorna ogni segnaposto di risorse di esempio con le informazioni del tuo account di recupero.

    { "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. (Facoltativo) In Tags (Tag), aggiungi una o più coppie tag chiave-valore per organizzare, monitorare o controllare l'accesso per questo ruolo.

  15. Scegliere Create role (Crea ruolo). Il sistema visualizza di nuovo la pagina Roles (Ruoli).

  16. Cerca il ruolo che hai appena creato. Sceglilo. Nella sezione ARN, copia l'ARN. Queste informazioni verranno specificate nella procedura successiva.

Aggiungi sostituzioni di credenziali al manifesto

Dopo aver creato il ruolo IAM nel tuo account fornitore, aggiorna il manifesto nell'account di recupero. In particolare, aggiungi il blocco delle credenziali e l'ARN del ruolo IAM per recuperare i dati di configurazione dall'account del fornitore. Ecco il 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" } } }

Ecco un esempio:

{ "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": { "credentials": { "roleArn": "arn:us-west-1:iam::123456789012:role/MyTestRole", "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac", "roleSessionName": "AwsAppConfigAgent", "credentialsDuration": "2h" } } }
Verifica che il recupero da più account funzioni

È possibile verificare che l'agente sia in grado di recuperare i dati di configurazione da più account esaminando i registri dell'agente. AWS AppConfig Il registro dei INFO livelli per i dati iniziali recuperati per 'YourApplicationName:YourEnvironmentName:YourConfigurationName' è l'indicatore migliore per il successo dei recuperi. Se i recuperi non riescono, dovrebbe apparire un registro dei ERROR livelli che indica il motivo dell'errore. Di seguito è riportato un esempio di recupero riuscito da un account fornitore:

[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

Scrivi una copia della configurazione su disco

È possibile configurare AWS AppConfig Agent per archiviare automaticamente una copia di una configurazione su disco in formato testo normale. Questa funzionalità consente l'integrazione con i clienti con applicazioni che leggono i dati di configurazione dal disco AWS AppConfig.

Questa funzionalità non è progettata per essere utilizzata come funzionalità di backup della configurazione. AWS AppConfig L'agente non legge i file di configurazione copiati su disco. Se desideri eseguire il backup delle configurazioni su disco, consulta le BACKUP_DIRECTORY variabili di PRELOAD_BACKUP ambiente per Using AWS AppConfig Agent with Amazon EC2 o AWS AppConfig Using Agent with Amazon ECS e Amazon EKS.

avvertimento

Tieni presente le seguenti informazioni importanti su questa funzionalità:

  • Le configurazioni salvate su disco vengono archiviate in testo semplice e sono leggibili dall'uomo. Non abilitare questa funzionalità per configurazioni che includono dati sensibili.

  • Questa funzionalità scrive sul disco locale. Utilizza il principio del privilegio minimo per le autorizzazioni del filesystem. Per ulteriori informazioni, consulta Implementazione dell'accesso con privilegi minimi.

Per abilitare la scrittura (copia della configurazione su disco)
  1. Modifica il manifesto.

  2. Scegliete la configurazione che desiderate AWS AppConfig scrivere su disco e aggiungete un writeTo elemento. Ecco un esempio:

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

    Ecco un esempio:

    { "MyTestApp:MyTestEnvironment:MyNewConfiguration": { "writeTo": { "path": "/tmp/aws-appconfig/mobile-app/beta/enable-mobile-payments" } } }
  3. Salvare le modifiche. Il file configuration.json verrà aggiornato ogni volta che vengono distribuiti nuovi dati di configurazione.

Verifica che la copia di scrittura della configurazione su disco funzioni

È possibile verificare che le copie di una configurazione vengano scritte su disco esaminando i log dell' AWS AppConfig agente. La voce di INFO registro con la frase «INFO write configuration 'application: environment: configuration' to file_path" indica che l' AWS AppConfig agente scrive copie di configurazione su disco.

Ecco un esempio:

[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