Installazione dell'agente del 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à.

Installazione dell'agente del container Amazon ECS

Se desideri registrare un'istanza Amazon EC2 con il tuo cluster Amazon ECS e tale istanza non utilizza un'AMI basata sull'AMI ottimizzata per Amazon ECS, puoi installare l'agente contenitore Amazon ECS manualmente utilizzando la seguente procedura. A tale scopo, puoi scaricare l'agente da uno dei bucket Amazon S3 regionali o da Amazon Elastic Container Registry Public. Se scarichi da uno dei bucket regionali di Amazon S3, puoi opzionalmente verificare la validità del file dell'agente contenitore utilizzando la firma PGP.

Nota

Le unità systemd per i servizi Amazon ECS e Docker hanno l'istruzione di attendere il completamento di cloud-init prima di avviare entrambi i servizi. Il processo cloud-init non viene considerato terminato fino a quando i dati utente di Amazon EC2 non hanno terminato l'esecuzione. Pertanto, l'avvio di Amazon ECS o Docker tramite i dati utente di Amazon EC2 può causare un deadlock. Per avviare l'agente del container utilizzando i dati utente di Amazon EC2 puoi utilizzare systemctl enable --now --no-block ecs.service.

Installazione dell'agente del container Amazon ECS in un'istanza EC2 non Amazon Linux

Per installare l'agente container Amazon ECS su un'istanza Amazon EC2, puoi scaricare l'agente da uno dei bucket Amazon S3 regionali e installarlo.

Nota

Quando utilizzi un'AMI non Amazon Linux, l'istanza Amazon EC2 richiede il supporto cgroupfs per il driver cgroup in modo che l'agente Amazon ECS supporti i limiti delle risorse a livello di attività. Per ulteriori informazioni, consulta Amazon ECS agent on GitHub.

A titolo di riferimento, di seguito sono elencati i file più recenti dell'agente del container Amazon ECS, per regione e per ciascun tipo di architettura di sistema.

Regione Nome Regione File di init deb di Amazon ECS File di init rbm di Amazon ECS
us-east-2 Stati Uniti orientali (Ohio)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

us-east-1 Stati Uniti orientali (Virginia settentrionale)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

us-west-1 Stati Uniti occidentali (California settentrionale)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

us-west-2 US West (Oregon)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

ap-east-1 Asia Pacifico (Hong Kong)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

ap-northeast-1 Asia Pacifico (Tokyo)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

ap-northeast-2 Asia Pacifico (Seoul)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

ap-south-1 Asia Pacifico (Mumbai)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

ap-southeast-1 Asia Pacifico (Singapore)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

ap-southeast-2 Asia Pacifico (Sydney)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

ca-central-1 Canada (Centrale)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

eu-central-1 Europa (Francoforte)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

eu-west-1 Europa (Irlanda)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

eu-west-2 Europa (Londra)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

eu-west-3 Europa (Parigi)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

sa-east-1 Sud America (San Paolo)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64

Amazon ECS init aarch64 (aarch64)

us-gov-east-1 AWS GovCloud (Stati Uniti orientali)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

us-gov-west-1 AWS GovCloud (Stati Uniti occidentali)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

Per installare l'agente del container Amazon ECS su un'istanza Amazon EC2 utilizzando un'AMI non Amazon Linux
  1. Avvia un'istanza Amazon EC2 con un ruolo IAM che consenta l'accesso ad Amazon ECS. Per ulteriori informazioni, consulta Ruolo IAM delle istanze di container Amazon ECS.

  2. Connettiti alla tua istanza.

  3. Installare la versione più recente di Docker nell'istanza.

  4. Controlla la versione Docker per verificare che il tuo sistema soddisfi il requisito di versione minima.

    Nota

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

    docker --version
  5. Scarica il file di agente Amazon ECS appropriato per il sistema operativo e per l'architettura di sistema in uso e installalo.

    Per le architetture deb:

    ubuntu:~$ curl -O https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.amd64.deb ubuntu:~$ sudo dpkg -i amazon-ecs-init-latest.amd64.deb

    Per le architetture rpm:

    fedora:~$ curl -O https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.x86_64.rpm fedora:~$ sudo yum localinstall -y amazon-ecs-init-latest.x86_64.rpm
  6. Modifica il /lib/systemd/system/ecs.service file e aggiungi la riga seguente alla fine della [Unit] sezione.

    After=cloud-final.service
  7. (Facoltativo) Per registrare l'istanza con un cluster diverso dal cluster default, modifica il file /etc/ecs/ecs.config e aggiungi i contenuti seguenti. L'esempio seguente specifica il cluster MyCluster.

    ECS_CLUSTER=MyCluster

    Per ulteriori informazioni su queste e altre opzioni di runtime dell'agente, consulta Configurazione dell'agente del container Amazon ECS.

    Nota

    Puoi facoltativamente archiviare le variabili di ambiente dell'agente in Amazon S3 (che possono essere scaricate nelle tue istanze di container all'avvio utilizzando i dati utente di Amazon EC2). Ciò è consigliato per le informazioni sensibili, come le credenziali di autenticazione per i repository privati. Per ulteriori informazioni, consulta Memorizzazione della configurazione dell'istanza del contenitore Amazon ECS in Amazon S3 e Utilizzo di immagini non AWS containerizzate in Amazon ECS.

  8. Avviare il servizio ecs.

    ubuntu:~$ sudo systemctl start ecs

Esecuzione dell'agente Amazon ECS con modalità di rete host

Quando si esegue l'agente del container di Amazon ECS, ecs-init crea il relativo container dell'agente del container con la modalità di rete host. Questa è l'unica modalità di rete supportata per il container dell'agente del container.

Ciò permette di bloccare l'accesso all'endpoint del servizio per i metadati dell'istanza Amazon EC2 (http://169.254.169.254) per i container avviati dall'agente di container. Questo garantisce che i container non possano accedere alle credenziali del ruolo IAM dal profilo dell'istanza di container e che le attività utilizzino solo le credenziali per il ruolo del processo IAM. Per ulteriori informazioni, consulta Ruolo IAM dell'attività Amazon ECS.

Assicura inoltre che l'agente del container non debba contendersi le connessioni e il traffico di rete sul bridge docker0.