Istanze di EC2 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à.

Istanze di EC2 container Amazon ECS

L'agente Amazon ECS è un processo che viene eseguito su ogni istanza di container registrata nel cluster. Facilita la comunicazione tra le istanze del contenitore e Amazon ECS.

Nota

Nelle istanze di container Linux, il contenitore dell'agente monta directory di primo livello come, e. /lib /lib64 /proc Ciò è necessario per caratteristiche e funzionalità ECS come i volumi Amazon EBS, la modalità di awsvpc rete, Amazon ECS Service Connect e FireLens Amazon ECS.

Ogni versione dell'agente del container di Amazon ECS supporta una serie di funzioni differenti e assicura le correzioni dei bug delle versioni precedenti. Quando possibile, consigliamo sempre di utilizzare la versione più recente dell'agente del container di Amazon ECS. Per passare all'ultima versione dell'agente del container, consulta Aggiornamento dell'agente del container Amazon ECS.

L'agente contenitore Amazon ECS contiene l'amazon-ecs-pauseimmagine. Amazon ECS utilizza questa immagine per attività che utilizzano la modalità di rete. awsvpc

Per vedere quali funzionalità e miglioramenti sono inclusi in ogni versione dell'agente, consulta /releases. https://github.com/aws/ amazon-ecs-agent

Importante

La versione Docker minima per parametri affidabili è v20.10.13 e successive, inclusa nell'AMI 20220607 ottimizzata per Amazon ECS e versioni successive.

Le versioni dell'agente Amazon ECS 1.20.0 e successive non supportano più le versioni di Docker precedenti alla 18.01.0.

Ciclo di vita

Quando l'agente container Amazon ECS registra EC2 un'istanza Amazon nel tuo cluster, l' EC2istanza Amazon riporta il suo stato ACTIVE e lo stato della connessione dell'agente come. TRUE Questa istanza di container può accettare richieste di esecuzione di attività.

Se interrompi un'istanza di container (senza terminarla), lo stato rimane ACTIVE, ma lo stato di connessione dell'agente passa a FALSE entro pochi minuti. Tutte le attività in esecuzione nell'istanza di container vengono interrotte. Se avvii di nuovo l'istanza di container, l'agente del container si riconnetterà al servizio Amazon ECS e potrai nuovamente eseguire attività nell'istanza.

Importante

Se interrompi e avvii un'istanza di container oppure riavvii l'istanza, alcune versioni precedenti dell'agente del container di Amazon ECS registreranno di nuovo l'istanza senza annullare la registrazione dell'ID dell'istanza di container originale. In questo caso, Amazon ECS elenca più istanze di container nel cluster rispetto a quelle effettivamente disponibili. (Se disponi di un'istanza contenitore duplicata IDs per lo stesso ID di EC2 istanza Amazon, puoi annullare in sicurezza la registrazione dei duplicati elencati ACTIVE con uno stato di connessione dell'agente pari a.) FALSE Questo problema è stato risolto nella versione corrente dell'agente del container di Amazon ECS. Per ulteriori informazioni sull'aggiornamento alla versione corrente, consulta Aggiornamento dell'agente del container Amazon ECS.

Se modifichi lo stato di un'istanza di container in DRAINING, le nuove attività non vengono posizionate nell'istanza di container. Qualsiasi attività di servizio in esecuzione nell'istanza di container viene rimossa, se possibile, in modo che possano essere eseguiti gli aggiornamenti di sistema. Per ulteriori informazioni, consulta Drenaggio delle istanze di container Amazon ECS.

Se annulli la registrazione di un'istanza di container o la termini, lo stato dell'istanza di container passa immediatamente a INACTIVE e l'istanza di container non viene più segnalata quando elenchi le istanze di container. Tuttavia, puoi ancora descrivere l'istanza di container per un'ora in seguito alla terminazione. Dopo un'ora, la descrizione dell'istanza non è più disponibile.

Importante

Puoi svuotare manualmente le istanze o creare un hook del ciclo di vita del gruppo Auto Scaling per impostare lo stato dell'istanza su DRAINING. Per ulteriori informazioni sui ganci del ciclo di vita di Amazon EC2 Auto Scaling, consulta gli hook del ciclo di vita di Amazon Auto Scaling.

Supporto Docker

Amazon ECS supporta le ultime due versioni principali di Docker pubblicate su Amazon Linux. Attualmente, questo include Docker 20.10.x e Docker 25.x.

La versione Docker minima richiesta per Amazon ECS è disponibile nel file delle specifiche di Amazon ECS Agent su. GitHub

Quando si utilizza l'AMI ottimizzata per Amazon ECS, Docker è preinstallato e configurato per funzionare con l'agente container Amazon ECS. L'AMI include una versione Docker testata e supportata da Amazon ECS.

Nota

Sebbene Amazon ECS supporti più versioni di Docker, consigliamo di utilizzare la versione Docker fornita con l'AMI ottimizzata per Amazon ECS per la migliore compatibilità e supporto.

AMI ottimizzate per Amazon ECS

Le varianti Linux dell'AMI ottimizzata per Amazon ECS utilizzano l'AMI Amazon Linux 2 come base. Il nome dell'AMI di origine di Amazon Linux 2 per ogni variante può essere recuperato interrogando l'API Archivio dei parametri Systems Manager. Per ulteriori informazioni, consulta Recupero di metadati AMI Linux ottimizzati per Amazon ECS. Quando avvii le istanze di container dall'AMI Amazon Linux 2 ottimizzata per Amazon ECS più recente, ricevi la versione dell'agente del container corrente. Per avviare un'istanza di container con l'AMI Amazon Linux 2 ottimizzata per Amazon ECS, consulta Avvio di un'istanza di container Linux di Amazon ECS.

Informazioni aggiuntive

Nelle pagine seguenti vengono fornite ulteriori informazioni sulle modifiche:

Parametri di configurazione del registro dell'agente container Amazon ECS

L'agente del container di Amazon ECS archivia i log nelle istanze del container.

Per l'agente del container versione 1.36.0 e successive, di default i log si trovano in /var/log/ecs/ecs-agent.log sulle istanze Linux e in C:\ProgramData\Amazon\ECS\log\ecs-agent.log sulle istanze Windows.

Per l'agente del container versione 1.35.0 e precedenti, di default i log si trovano in /var/log/ecs/ecs-agent.log.timestamp sulle istanze Linux e C:\ProgramData\Amazon\ECS\log\ecs-agent.log.timestamp sulle istanze Windows.

Di default, i log dell'agente vengono ruotati ogni ora per un massimo di 24 log archiviati.

Di seguito sono riportate le variabili di configurazione dell'agente del container che possono essere utilizzate per modificare il comportamento di registrazione dell'agente predefinito. Per informazioni dettagliate su tutti i parametri di configurazione disponibili, consulta Configurazione dell'agente del container Amazon ECS o il file README di Amazon ECS Agent su. GitHub

Per l'agente del container versione 1.36.0 e successive, il seguente è un file di log di esempio quando viene utilizzato il formato logfmt.

level=info time=2019-12-12T23:43:29Z msg="Loading configuration" module=agent.go level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-agent:latest" module=parse.go level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-pause:0.1.0" module=parse.go level=info time=2019-12-12T23:43:29Z msg="Amazon ECS agent Version: 1.36.0, Commit: ca640387" module=agent.go level=info time=2019-12-12T23:43:29Z msg="Creating root ecs cgroup: /ecs" module=init_linux.go level=info time=2019-12-12T23:43:29Z msg="Creating cgroup /ecs" module=cgroup_controller_linux.go level=info time=2019-12-12T23:43:29Z msg="Loading state!" module=statemanager.go level=info time=2019-12-12T23:43:29Z msg="Event stream ContainerChange start listening..." module=eventstream.go level=info time=2019-12-12T23:43:29Z msg="Restored cluster 'auto-robc'" module=agent.go level=info time=2019-12-12T23:43:29Z msg="Restored from checkpoint file. I am running as 'arn:aws:ecs:us-west-2:0123456789:container-instance/auto-robc/3330a8a91d15464ea30662d5840164cd' in cluster 'auto-robc'" module=agent.go

Di seguito è riportato un file di log di esempio quando viene utilizzato il formato JSON.

{"time": "2019-11-07T22:52:02Z", "level": "info", "msg": "Starting Amazon Elastic Container Service Agent", "module": "engine.go"}

Per le versioni dell'agente del container 1.35.0 e precedenti, il seguente è il formato del file di log.

2016-08-15T15:54:41Z [INFO] Starting Agent: Amazon ECS Agent - v1.12.0 (895f3c1) 2016-08-15T15:54:41Z [INFO] Loading configuration 2016-08-15T15:54:41Z [WARN] Invalid value for task cleanup duration, will be overridden to 3h0m0s, parsed value 0, minimum threshold 1m0s 2016-08-15T15:54:41Z [INFO] Checkpointing is enabled. Attempting to load state 2016-08-15T15:54:41Z [INFO] Loading state! module="statemanager" 2016-08-15T15:54:41Z [INFO] Detected Docker versions [1.17 1.18 1.19 1.20 1.21 1.22] 2016-08-15T15:54:41Z [INFO] Registering Instance with ECS 2016-08-15T15:54:41Z [INFO] Registered! module="api client"