Passare le variabili di ambiente a un container 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à.

Passare le variabili di ambiente a un container Amazon ECS

Importante

Ti consigliamo di archiviare i dati sensibili nei Gestione dei segreti AWS segreti o nei parametri del AWS Systems Manager Parameter Store. Per ulteriori informazioni, consulta Trasferimento di dati sensibili a un container Amazon ECS.

I file variabili di ambiente sono oggetti in Amazon S3 e si applicano tutte le considerazioni sulla sicurezza di Amazon S3.

Non è possibile utilizzare il parametro environmentFiles su container Windows e Windows su Fargate.

È possibile creare un file di variabili di ambiente e archiviarlo in Amazon S3 per passare le variabili di ambiente al proprio container.

Specificando le variabili di ambiente in un file, puoi inserire in blocco le variabili di ambiente. All'interno della definizione del container, specifica l'oggetto environmentFiles con un elenco di bucket Amazon S3 contenenti i file delle variabili di ambiente.

Amazon ECS non applica un limite di dimensione alle variabili di ambiente, ma un file di variabili di ambiente di grandi dimensioni potrebbe riempire lo spazio su disco. Ogni processo che utilizza un file di variabili di ambiente fa sì che una copia del file venga scaricata sul disco. Amazon ECS rimuove il file come parte della pulizia del processo.

Per informazioni sulle variabili di ambiente supportate, consulta Parametri avanzati di definizione del container - Ambiente.

Quando si specifica un file di variabili di ambiente in una definizione di container, considera quanto segue.

  • Per le attività di Amazon ECS su Amazon EC2, le istanze di container richiedono che l'agente container sia una versione 1.39.0 o successiva per utilizzare questa funzionalità. Per informazioni sulla verifica della versione dell'agente e sull'aggiornamento alla versione più recente, consulta Aggiornamento dell'agente del container Amazon ECS.

  • Per le attività di Amazon ECS su AWS Fargate, le attività devono utilizzare la 1.4.0 versione della piattaforma o successiva (Linux) per utilizzare questa funzionalità. Per ulteriori informazioni, consulta Versioni della piattaforma Fargate per Amazon ECS.

    Verifica che la variabile sia supportata per la piattaforma del sistema operativo. Per ulteriori informazioni, consultare Definizioni del container e Altri parametri di definizione di attività.

  • Il file deve utilizzare l'estensione del file .env e la codifica UTF-8.

  • Per utilizzare questa funzionalità con le autorizzazioni aggiuntive per Amazon S3, è necessario il ruolo di esecuzione dell'attività. Ciò consente all'agente del container di estrarre il file della variabile di ambiente da Amazon S3. Per ulteriori informazioni, consulta Ruolo IAM di esecuzione di attività Amazon ECS.

  • È previsto un limite di 10 file per definizione di attività.

  • Ogni riga di un file di ambiente deve contenere una variabile di ambiente nel formato VARIABLE=VALUE. Spazi o virgolette sono inclusi come parte dei valori per i file Amazon ECS. Le righe che iniziano con # vengono trattate come commenti e vengono ignorate. Per ulteriori informazioni sulla sintassi del file delle variabili di ambiente, consultare Set environment variables (-e, --env, --env-file) nella documentazione Docker.

    Di seguito è riportata la sintassi appropriata.

    #This is a comment and will be ignored VARIABLE=VALUE ENVIRONMENT=PRODUCTION
  • Se sono specificate variabili di ambiente utilizzando il parametro environment in una definizione di container, queste hanno la precedenza sulle variabili contenute in un file di ambiente.

  • Se vengono specificati più file di ambiente che contengono la stessa variabile, vengono elaborati in ordine di inserimento. Ciò significa che viene utilizzato il primo valore della variabile e i valori successivi delle variabili duplicate vengono ignorati. Consigliamo di utilizzare nomi di variabili univoci.

  • Se un file di ambiente viene specificato come override di container, viene utilizzato. Inoltre, tutti gli altri file di ambiente specificati nella definizione del container vengono ignorati.

  • Le seguenti regole si applicano a Fargate:

    • Il file viene gestito in maniera simile a un file env Docker nativo.

    • Le definizioni dei container che fanno riferimento a variabili di ambiente vuote e archiviate in Amazon S3 non vengono visualizzate nel container.

    • Non è disponibile alcun supporto per la gestione dell'escape della shell (interprete di comandi).

    • Il punto di ingresso del container interpreta i valori VARIABLE.

Esempio

Di seguito è riportato uno snippet di una definizione di attività che mostra come specificare un file di variabile di ambiente.

{ "family": "", "containerDefinitions": [ { "name": "", "image": "", ... "environmentFiles": [ { "value": "arn:aws:s3:::amzn-s3-demo-bucket/envfile_object_name.env", "type": "s3" } ], ... } ], ... }