Passa i parametri di Systems Manager tramite le variabili di ambiente Amazon ECS - Amazon Elastic Container Service

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

Passa i parametri di Systems Manager tramite le variabili di ambiente Amazon ECS

Amazon ECS ti consente di iniettare dati sensibili nei tuoi contenitori memorizzando i dati sensibili nei AWS Systems Manager parametri di Parameter Store e quindi facendo riferimento ad essi nella definizione del contenitore.

Considerate quanto segue quando utilizzate una variabile di ambiente per iniettare un segreto di Systems Manager in un contenitore.

  • I dati sensibili vengono inseriti nel container quando viene inizialmente avviato. Se il segreto o parametro viene in seguito aggiornato o ruotato, il container non riceverà automaticamente il valore aggiornato. È necessario avviare una nuova attività o se l'attività è parte di un servizio, è possibile aggiornare il servizio e utilizzare la nuova opzione Force new deployment (Forza nuova implementazione) per forzare il servizio ad avviare una nuova attività.

  • Per le attività di Amazon ECS su AWS Fargate, è necessario considerare quanto segue:

    • Per inserire il contenuto completo di un segreto come variabile di ambiente o in una configurazione di log, è necessario utilizzare la versione della piattaforma 11.3.0 o successiva. Per informazioni, consultare Versioni della piattaforma Fargate per Amazon ECS.

    • Per inserire una chiave JSON specifica o la versione di un segreto come variabile di ambiente o in una configurazione di log, è necessario utilizzare la versione della piattaforma 1.4.0 o successiva (Linux) o 1.0.0 (Windows). Per informazioni, consultare Versioni della piattaforma Fargate per Amazon ECS.

  • Per le attività di Amazon ECS su EC2, è necessario considerare quanto segue:

    • Per inserire un segreto utilizzando una chiave JSON specifica o una versione di un segreto, l'istanza di container deve avere la versione 1.37.0 o successiva dell'agente del container. Tuttavia, ti consigliamo di utilizzare la versione più recente dell'agente container. Per informazioni sulla verifica della versione dell'agente e sull'aggiornamento alla versione più recente, consulta Aggiornamento dell'agente del container Amazon ECS.

      Per inserire il contenuto completo di un segreto come variabile di ambiente o per inserire un segreto in una configurazione di log, l'istanza del container deve avere la versione 1.22.0 o successiva dell'agente del container.

  • Utilizza gli endpoint VPC dell'interfaccia per migliorare i controlli di sicurezza. È necessario creare gli endpoint VPC di interfaccia per Systems Manager. Per informazioni sull'endpoint VPC, consulta Migliorare la sicurezza delle EC2 istanze utilizzando gli endpoint VPC per Systems Manager nella Guida per l'utente.AWS Systems Manager

  • La definizione dell'attività deve utilizzare un ruolo di esecuzione dell'attività con autorizzazioni aggiuntive per Systems Manager Parameter Store. Per ulteriori informazioni, consulta Ruolo IAM di esecuzione di attività Amazon ECS.

  • Per le attività di Windows configurate per utilizzare il driver di registrazione awslogs, è necessario impostare anche la variabile di ambiente ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE nell'istanza di container. Utilizzare la seguente sintassi:

    <powershell> [Environment]::SetEnvironmentVariable("ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE", $TRUE, "Machine") Initialize-ECSAgent -Cluster <cluster name> -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]' </powershell>

Creare il parametro Systems Manager

Puoi utilizzare la console Systems Manager per creare un parametro di Archivio dei parametri Systems Manager per i dati sensibili. Per ulteriori informazioni, consulta Creazione di un parametro Systems Manager (console) o Creare un parametro Systems Manager (AWS CLI) nella Guida per l'utente di AWS Systems Manager .

Aggiunta della variabile di ambiente alla definizione di container

All'interno della definizione del contenitore nella definizione dell'attività, specificare secrets il nome della variabile di ambiente da impostare nel contenitore e l'ARN completo del parametro Systems Manager Parameter Store contenente i dati sensibili da presentare al contenitore. Per ulteriori informazioni, consulta secrets.

Di seguito è riportato un frammento di una definizione di processo che mostra il formato quando si fa riferimento a un parametro dell'archivio parametri di Systems Manager. Se il parametro dell'archivio parametri di Systems Manager esiste nella stessa regione del processo in fase di avvio, è possibile utilizzare l'ARN completo o il nome del parametro. Se il parametro si trova in una regione diversa, specifica l'ARN completo.

{ "containerDefinitions": [{ "secrets": [{ "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" }] }] }

Per informazioni su come creare una definizione di attività con il segreto specificato in una variabile di ambiente, vedereCreazione di una definizione di attività Amazon ECS utilizzando la console.

Aggiornamento automatico dell'applicazione per recuperare in modo programmatico i segreti di Archivio dei parametri Systems Manager

Per recuperare i dati sensibili memorizzati nel parametro Systems Manager Parameter Store, consulta Esempi di codice per l'utilizzo di Systems Manager AWS SDKs nella libreria di codici AWS SDK Code Examples.