Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Installieren des Amazon-ECS-Container-Agenten
Wenn Sie eine Amazon-EC2-Instance in Ihrem Amazon-ECS-Cluster registrieren möchten und diese Instance kein AMI verwendet, das auf dem Amazon-ECS-optimierten AMI basiert, können Sie den Amazon-ECS-Container-Agenten manuell mit dem folgenden Verfahren installieren. Sie können dazu den Agent entweder von einem der regionalen Amazon-S3-Buckets oder vom öffentlichen Amazon Elastic Container Registry herunterladen. Wenn Sie den Agenten aus einem der regionalen Amazon-S3-Buckets herunterladen, können Sie optional die Gültigkeit der Container-Agentendatei mithilfe der PGP-Signatur prüfen.
Anmerkung
Die systemd-Einheiten für die Amazon ECS- und Docker-Services enthalten die Anweisung, auf die Beendigung von cloud-init zu warten, bevor beide Services gestartet werden. Der cloud-init-Prozess gilt erst als abgeschlossen, wenn die Ausführung der Amazon EC2-Benutzerdaten beendet wurde. Daher kann das Starten von Amazon-ECS oder Docker über Amazon-EC2-Benutzerdaten zu einer Systemblockade führen. Um den Container-Agent mit Amazon EC2-Benutzerdaten zu starten, können Sie systemctl enable --now --no-block ecs.service verwenden.
So installieren Sie den Amazon-ECS-Container-Agent auf einer Nicht–Amazon Linux-EC2-Instance
Um den Amazon-ECS-Container-Agent auf einer Amazon-EC2-Instance zu installieren, können Sie den Agent von einem der regionalen Amazon-S3-Buckets herunterladen und installieren.
Anmerkung
Wenn Sie ein Nicht-Amazon-Linux-AMI verwenden, erfordert Ihre Amazon-EC2-Instance cgroupfs-Support für die cgroup-Treiber, damit der Amazon-ECS-Agent Ressourcenlimits auf Aufgabenebene unterstützt. Weitere Informationen finden Sie unter Amazon ECS-Agent unter GitHub
Die neuesten Dateien des Container-Agents von Amazon ECS nach Region für jede Systemarchitektur sind unten als Referenz aufgeführt.
So installieren Sie den Amazon-ECS-Container-Agent auf einer Amazon-EC2-Instance mit einem Nicht-Amazon Linux-AMI
-
Starten Sie eine Amazon-EC2-Instance mit einer IAM-Rolle, die den Zugriff auf Amazon ECS erlaubt. Weitere Informationen finden Sie unter IAM-Rolle für Amazon-ECS-Container-Instance.
-
Verbinden Sie sich mit der Instance.
-
Installieren Sie die neueste Docker-Version auf Ihrer Instance.
-
Prüfen Sie Ihre Docker-Version, um sicherzustellen, dass Ihr System den Anforderungen der Mindestversion entspricht. Weitere Informationen zur Docker-Unterstützung finden Sie unter Amazon-ECS-EC2-Container-Instances.
docker --version -
Laden Sie die entsprechende Amazon-ECS-Agent-Datei für Ihr Betriebssystem und Ihre Systemarchitektur herunter und installieren Sie sie.
Für
deb-Architekturen:ubuntu:~$curl -O https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.amd64.debubuntu:~$sudo dpkg -i amazon-ecs-init-latest.amd64.debFür
rpm-Architekturen:fedora:~$curl -O https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.x86_64.rpmfedora:~$sudo yum localinstall -y amazon-ecs-init-latest.x86_64.rpm -
Bearbeiten Sie die
/lib/systemd/system/ecs.service-Datei und fügen Sie am Ende des[Unit]-Abschnitts die folgende Zeile hinzu.After=cloud-final.service -
(Optional) Um die Instance bei einem anderen Cluster als dem
default-Cluster anzumelden, bearbeiten Sie die/etc/ecs/ecs.config-Datei und fügen Sie den folgenden Inhalt hinzu. Das folgende Beispiel gibt denMyCluster-Cluster an.ECS_CLUSTER=MyClusterWeitere Informationen zu diesen und anderen Agenten-Laufzeitoptionen erhalten Sie unterKonfiguration des Amazon-ECS-Container-Agenten.
Anmerkung
Sie können Ihre Agenten-Umgebungsvariablen optional in Amazon S3 speichern (diese können in Ihren Container-Instances zum Startzeitpunkt mithilfe von Amazon EC2-Benutzerdaten heruntergeladen werden). Dies empfiehlt sich für sensible Daten, wie beispielsweise Authentifizierungs-Anmeldeinformationen für private Repositorys. Weitere Informationen erhalten Sie unter Speichern der Konfiguration von Amazon-ECS-Container-Instances in Amazon S3 und Verwenden von AWS Nicht-Container-Images in Amazon ECS.
-
Starten Sie den Service
ecs.ubuntu:~$sudo systemctl start ecs
Ausführen des Amazon-ECS-Agenten mit dem Host-Netzwerkmodus
Beim Ausführen des Amazon-ECS-Container-Agenten erstellt ecs-init den Container-Agent-Container mit dem Netzwerkmodus host. Dies ist der einzige unterstützte Netzwerkmodus für den Container-Agent-Container.
Dies ermöglicht Ihnen, den Zugriff auf den Amazon-EC2-Instance-Metadaten-Service-Endpunkt (http://169.254.169.254) für die vom Container-Agenten gestarteten Container zu blockieren. Auf diese Weise wird sichergestellt, dass Container vom Container-Instance-Profil aus keinen Zugriff auf Anmeldeinformationen der IAM-Rolle haben, und erzwungen, dass die Aufgabe nur die Anmeldeinformationen der IAM-Aufgabenrolle verwendet. Weitere Informationen finden Sie unter Aufgaben-IAM-Rolle für Amazon ECS.
Dies sorgt auch dafür, dass der Container-Agent nicht um Verbindungen und Netzwerkdatenverkehr auf der docker0-Brücke konkurrieren muss.