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

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 ECS contenitore Amazon.

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 dell'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 ECS le attività di Amazon su AmazonEC2, le istanze di container richiedono che l'agente container abbia 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 ECS container Amazon.

  • Per ECS le attività di Amazon su AWS Fargate, le attività devono utilizzare la versione della piattaforma 1.4.0 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, consulta Definizioni del container e Altri parametri di definizione di attività.

  • Il file deve utilizzare l'.envestensione 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 IAMRuolo di esecuzione delle ECS attività di Amazon.

  • È 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. Gli spazi o le virgolette sono inclusi come parte dei valori per i ECS file Amazon. Le righe che iniziano con # vengono trattate come commenti e vengono ignorate. Per ulteriori informazioni sulla sintassi dei file delle variabili di ambiente, consulta Set environment variables (-e, --env, --env-file) nel 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" } ], ... } ], ... }