Passa le variabili di ambiente a un contenitore 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 le variabili di ambiente a un contenitore Amazon ECS

Importante

Ti consigliamo di archiviare i dati sensibili nei parametri AWS Secrets Manager segreti o AWS Systems Manager Parameter Store. Per ulteriori informazioni, consulta Trasferisci dati sensibili a un contenitore 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 environmentFiles parametro sui contenitori Windows e sui contenitori Windows su Fargate.

Puoi creare un file di variabili di ambiente e archiviarlo in Amazon S3 per passare le variabili di ambiente al tuo contenitore.

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 impone un limite di dimensione per le variabili di ambiente, ma un file di variabili di ambiente di grandi dimensioni potrebbe occupare 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 delle attività.

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.

  • Il ruolo di esecuzione delle attività è necessario per utilizzare questa funzionalità con le autorizzazioni aggiuntive per Amazon S3. 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, vedete Impostare le variabili di ambiente (-e, --env, --env-file) nella Docker documentazione.

    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 al tipo di avvio Fargate:

    • Il file viene gestito in modo 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 contenitore.

    • 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" } ], ... } ], ... }