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.
Si vous souhaitez enregistrer une EC2 instance Amazon 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 cloud-init
processus n'est pas considéré comme terminé tant que l'exécution de vos données EC2 utilisateur Amazon n'est pas terminée. Par conséquent, le démarrage d'Amazon ECS ou Docker via les données EC2 utilisateur d'Amazon peut provoquer un blocage. Pour démarrer l'agent de conteneur à l'aide des données EC2 utilisateur Amazon, vous pouvez utilisersystemctl enable --now --no-block ecs.service
.
Installation de l'agent de conteneur Amazon ECS sur un appareil non connectéAmazon Linux EC2 instance
Pour installer l'agent de conteneur Amazon ECS sur une EC2 instance Amazon, 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 autre qu'Amazon Linux, votre EC2 instance Amazon a besoin d'une cgroupfs
assistance pour le cgroup
pilote afin que l'agent Amazon ECS puisse prendre 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.
Pour installer l'agent de conteneur Amazon ECS sur une EC2 instance Amazon à l'aide d'unAmazon Linux AMI
-
Lancez une EC2 instance Amazon avec un rôle IAM qui permet d'accéder à Amazon ECS. Pour de plus amples informations, veuillez consulter Rôle IAM d'instance de conteneur Amazon ECS.
-
Connectez-vous à votre instance.
-
Installez la dernière version de Docker sur votre instance.
-
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'AMI20220607
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 à18.01.0
.docker --version
-
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
-
Modifiez le
/lib/systemd/system/ecs.service
fichier et ajoutez la ligne suivante à la fin de la[Unit]
section.After=cloud-final.service
-
(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 clusterMyCluster
: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 les variables d'environnement de votre agent dans Amazon S3 (qui peuvent être téléchargées sur vos instances de conteneur au moment du lancement à l'aide des données EC2 utilisateur Amazon). 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.
-
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 du service de métadonnées d' EC2 instance Amazon (http://169.254.169.254
) pour les conteneurs démarré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 de plus amples informations, veuillez consulter 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
.