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.
Pour installer l'agent de conteneur Amazon ECS sur une instance Amazon EC2 autre qu'Amazon Linux AMI
-
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.
-
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 à1.9.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 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.
-
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
.