Installieren des Amazon-ECS-Container-Agenten - Amazon Elastic Container Service

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.

Region Name der Region Amazon-ECS-Init-Deb-Dateien Amazon-ECS-Init-rpm-Dateien
us-east-2 USA Ost (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 Ost (Nord-Virginia)

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 West (Nordkalifornien)

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 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 Asien-Pazifik (Hongkong)

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 Asien-Pazifik (Tokio)

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 Asien-Pazifik (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 Asien-Pazifik (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 Asien-Pazifik (Singapur)

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 Asien-Pazifik (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 Kanada (Zentral)

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 (Frankfurt)

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 (Irland)

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 (London)

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 (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 Südamerika (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 (US-Ost)

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-West)

Amazon ECS init amd64 (amd64)

Amazon ECS init arm64 (arm64)

Amazon ECS init x86_64 (x86_64)

Amazon ECS init aarch64 (aarch64)

So installieren Sie den Amazon-ECS-Container-Agent auf einer Amazon-EC2-Instance mit einem Nicht-Amazon Linux-AMI
  1. 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.

  2. Verbinden Sie sich mit der Instance.

  3. Installieren Sie die neueste Docker-Version auf Ihrer Instance.

  4. 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
  5. 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.deb ubuntu:~$ sudo dpkg -i amazon-ecs-init-latest.amd64.deb

    Fü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.rpm fedora:~$ sudo yum localinstall -y amazon-ecs-init-latest.x86_64.rpm
  6. 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
  7. (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 den MyCluster-Cluster an.

    ECS_CLUSTER=MyCluster

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

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