Installation de l'agent de conteneur Amazon ECS - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Installation de l'agent de conteneur Amazon ECS

Si vous souhaitez enregistrer une instance Amazon EC2 auprès de votre cluster Amazon ECS et que cette instance n'utilise pas d'AMI basée sur l'AMI optimisée pour Amazon ECS, vous pouvez installer l'agent de conteneur Amazon ECS manuellement en suivant la procédure suivante. Pour ce faire, vous pouvez télécharger l'agent depuis l'un des compartiments Amazon S3 régionaux ou depuis Amazon Elastic Container Registry Public. Si vous effectuez le téléchargement depuis l'un des compartiments Amazon S3 régionaux, vous pouvez éventuellement vérifier la validité du fichier d'agent de conteneur à l'aide de la signature PGP.

Note

Les unités systemd pour les services Amazon ECS et Docker sont soumises à une directive qui demande d'attendre que cloud-init ait terminé avant de démarrer les deux services. Le processus cloud-init n'est pas considéré comme terminé tant que les données utilisateur Amazon EC2 n'ont pas été complètement exécutées. Par conséquent, le démarrage d'Amazon ECS ou de Docker via les données utilisateur Amazon EC2 peut provoquer un blocage. Pour démarrer l'agent de conteneur à l'aide des données utilisateur Amazon EC2, vous pouvez utiliser systemctl enable --now --no-block ecs.service.

Installation de l'agent du conteneur Amazon ECS sur une instance EC2 autre que Amazon Linux

Pour installer l'agent de conteneur Amazon ECS sur une instance Amazon EC2, vous pouvez télécharger l'agent depuis l'un des compartiments Amazon S3 régionaux et l'installer.

Note

Lorsque vous utilisez une AMI Linux autre qu'Amazon, votre instance Amazon EC2 nécessite une prise en charge de cgroupfs pour le pilote cgroup pour que l'agent Amazon ECS prenne en charge les limites de ressources au niveau des tâches. Pour plus d'informations, consultez la section Agent Amazon ECS sur GitHub.

Les fichiers de l'agent de conteneur Amazon ECS le plus récent sont répertoriés par région ci-dessous à des fins de référence pour chaque architecture système.

Région Nom de la région Fichiers deb init Amazon ECS Fichiers rpm init Amazon ECS
us-east-2 USA Est (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 USA Est (Virginie du Nord)

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 USA Ouest (Californie du Nord)

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 USA Ouest (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 Asie-Pacifique (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 Asie-Pacifique (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 Asie-Pacifique (Séoul)

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 Asie-Pacifique (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 Asie-Pacifique (Singapour)

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 Asie-Pacifique (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 (Centre)

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 Europe (Francfort)

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 Europe (Irlande)

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 Europe (Londres)

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 Europe (Paris)

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 Amérique du Sud (São Paulo)

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 (USA Est)

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 (US-Ouest)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

Pour installer l'agent de conteneur Amazon ECS sur une instance Amazon EC2 autre qu'Amazon Linux AMI
  1. Lancez une instance Amazon EC2 avec un rôle IAM qui autorise l'accès à Amazon ECS. Pour plus d’informations, consultez Rôle IAM d'instance de conteneur Amazon ECS.

  2. Connectez-vous à votre instance.

  3. Installez la dernière version de Docker sur votre instance.

  4. Vérifiez votre version de Docker pour vous assurer que votre système répond à l'exigence de version minimale.

    Note

    La version minimale de Docker pour des métriques fiables est la version v20.10.13 et les versions ultérieures, qui sont incluses dans l'AMI 20220607 optimisée pour Amazon ECS et les versions plus récentes.

    La version de l'agent Amazon ECS 1.20.0 et les versions plus récentes ne prennent plus en charge les versions de Docker antérieures à 1.9.0.

    docker --version
  5. Téléchargez le fichier d'agent Amazon ECS approprié pour votre système d'exploitation et votre architecture système, puis installez-le.

    Pour les architectures 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

    Pour les architectures 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. Modifiez le /lib/systemd/system/ecs.service fichier et ajoutez la ligne suivante à la fin de la [Unit] section.

    After=cloud-final.service
  7. (Facultatif) Pour enregistrer l'instance auprès d'un cluster autre que le cluster default, modifiez le fichier /etc/ecs/ecs.config et ajoutez le contenu suivant. L'exemple suivant spécifie le cluster MyCluster :

    ECS_CLUSTER=MyCluster

    Pour plus d'informations sur ces options ainsi que d'autres options d'exécution d'agents, consultez la page Configuration de l'agent de conteneur Amazon ECS.

    Note

    Vous pouvez éventuellement stocker vos variables d'environnement d'agent dans Amazon S3. Elles pourront être téléchargées dans vos instances de conteneur lors du lancement à l'aide des données utilisateur Amazon EC2. Ceci est particulièrement conseillé pour les informations sensibles, telles que les informations d'authentification pour les référentiels privés. Pour plus d’informations, consultez Stockage de la configuration de l'instance de conteneur Amazon ECS dans Amazon S3 et Utilisation d'images autres que des AWS conteneurs dans Amazon ECS.

  8. Lancez le service ecs.

    ubuntu:~$ sudo systemctl start ecs

Exécution de l'agent Amazon ECS avec le mode réseau hôte

Lorsque vous exécutez l'agent de conteneur Amazon ECS, ecs-init créera le conteneur d'agent de conteneur avec le mode de réseau host. C'est le seul mode de réseau pris en charge pour le conteneur d'agent de conteneur.

Cela vous permet de bloquer l'accès au point de terminaison de service de métadonnées de l'instance Amazon EC2 (http://169.254.169.254) pour les conteneurs lancés par l'agent de conteneur. Cela permet d'assurer que les conteneurs ne sont pas en mesure d'accéder aux informations d'identification du rôle IAM à partir du profil d'instance de conteneur et impose que les tâches utilisent uniquement les informations d'identification de rôle de tâche IAM. Pour plus d’informations, consultez Rôle IAM de la tâche Amazon ECS.

Cela permet également à l'agent de conteneur de ne pas devoir disputer les connexions et le trafic réseau sur la passerelle docker0.