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 Ihre Container-Instance nicht mit einem Amazon-ECS-optimierten AMI gestartet wurde, können Sie den Amazon-ECS-Containeragenten manuell mit einer der folgenden Vorgehensweisen installieren. Der Amazon-ECS-Container-Agent ist in Amazon-ECS-optimierten AMIs enthalten und erfordert keine Installation.
-
Für Amazon Linux 2-Instances können Sie den Agenten mit dem Befehl
amazon-linux-extras
installieren. Weitere Informationen finden Sie unter So installieren Sie den Amazon-ECS-Container-Agent auf einer Amazon Linux 2-EC2-Instance. -
Für Amazon Linux AMIs-Instances können Sie den Agenten mit dem Amazon YUM-Repository installieren. Weitere Informationen finden Sie unter Installieren des Amazon-ECS-Container-Agenten auf einer Amazon-Linux-EC2-Instance.
-
Für Nicht-Amazon Linux-Instances können Sie den Agent entweder von einem der regionalen S3-Buckets oder von Amazon-Elastic-Container-Registry-Public herunterladen. Wenn Sie den Agenten aus einem regionalen S3-Bucket herunterladen, können Sie optional die Gültigkeit der Container-Agentendatei mithilfe der PGP-Signatur prüfen. Weitere Informationen finden Sie unter So installieren Sie den Amazon-ECS-Container-Agent auf einer Nicht–Amazon Linux-EC2-Instance.
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 Amazon Linux 2-EC2-Instance
Um den Amazon-ECS-Containeragenten auf einer Amazon Linux 2-EC2-Instance mit dem Befehl amazon-linux-extras
zu installieren, gehen Sie wie folgt vor.
So installieren Sie den Amazon-ECS-Container-Agent auf einer Amazon Linux 2-EC2-Instance
-
Starten Sie eine Amazon Linux 2-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.
-
Deaktivieren Sie das zusätzliche Amazon Linux-Repository
docker
. Das zusätzlicheecs
-Amazon Linux-Repository ist mit seiner eigenen Version von Docker versehen, daher muss das Extra-docker
deaktiviert werden, um künftige Konflikte zu vermeiden. Dadurch wird sichergestellt, dass Sie immer jene Docker-Version verwenden, die von Amazon ECS für eine bestimmte Version des Containeragenten bestimmt ist.[ec2-user ~]$
sudo amazon-linux-extras disable docker
-
Installieren und aktivieren Sie das zusätzliche
ecs
-Amazon Linux-Repository.[ec2-user ~]$
sudo amazon-linux-extras install -y ecs; sudo systemctl enable --now ecs
-
(Optional) Dank der Agenten-Introspektions-API können Sie überprüfen, ob der Agent ausgeführt wird und Sie können Informationen über Ihre neue Container-Instance einholen. Weitere Informationen finden Sie unter Amazon-ECS-Container-Introspektion.
[ec2-user ~]$
curl -s http://localhost:51678/v1/metadata | python -mjson.tool
Anmerkung
Wenn Sie keine Antwort erhalten, stellen Sie sicher, dass Sie die IAM-Rolle der Amazon-ECS-Container-Instance beim Starten der Instance verknüpft haben. Weitere Informationen finden Sie unter IAM-Rolle für Amazon-ECS-Container-Instance.
Installieren des Amazon-ECS-Container-Agenten auf einer Amazon-Linux-EC2-Instance
Gehen Sie wie folgt vor, um den Amazon-ECS-Container-Agenten auf einer Amazon-Linux-EC2-Instance mithilfe des Amazon-YUM-Repositorys zu installieren.
So installieren Sie den Amazon-ECS-Container-Agenten auf einer Amazon-Linux-EC2-Instance
-
Starten Sie eine Amazon Linux EC2-Instance mit einer IAM-Rolle, die den Zugriff auf Amazon ECS ermöglicht. Weitere Informationen finden Sie unter IAM-Rolle für Amazon-ECS-Container-Instance.
-
Verbinden Sie sich mit der Instance.
-
Installieren Sie das Paket
ecs-init
. Weitere Informationen zuecs-init
finden Sie im Quellcode auf GitHub. [ec2-user ~]$
sudo yum install -y ecs-init
-
Starten Sie den Docker-Daemon.
[ec2-user ~]$
sudo service docker start
Ausgabe:
Starting cgconfig service: [ OK ] Starting docker: [ OK ]
-
Starten Sie den
ecs-init
Upstart-Auftrag.[ec2-user ~]$
sudo service ecs start
Ausgabe:
ecs start/running, process
2804
-
(Optional) Dank der Agenten-Introspektions-API können Sie überprüfen, ob der Agent ausgeführt wird und Sie können Informationen über Ihre neue Container-Instance einholen. Weitere Informationen finden Sie unter Amazon-ECS-Container-Introspektion.
[ec2-user ~]$
curl -s http://localhost:51678/v1/metadata | python -mjson.tool
So installieren Sie den Amazon-ECS-Container-Agent auf einer Nicht–Amazon Linux-EC2-Instance
Um den Amazon-ECS-Container-Agent auf einer Nicht-Amazon Linux-EC2-Instance zu installieren, können Sie den Agent von einem der regionalen 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 auf 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.
Anmerkung
Die Mindestversion von Docker für zuverlässige Metriken ist die Docker-Version
v20.10.13
und neuer, die in Amazon-ECS-optimiertem AMI20220607
und neuer enthalten ist.Die Amazon-ECS-Agent-Versionen
1.20.0
und neuer haben die Unterstützung für Docker-Versionen älter als1.9.0
eingestellt.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.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
-
Bearbeiten Sie die
/lib/systemd/system/ecs.service
Datei und fügen Sie die folgende Zeile am Ende des[Unit]
Abschnitts 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=
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 finden Sie unter Speichern der Container-Instance-Konfiguration in Amazon S3 und Private Registrierungsauthentifizierung für Aufgaben.
-
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 IAM-Rolle für Aufgabe.
Dies sorgt auch dafür, dass der Container-Agent nicht um Verbindungen und Netzwerkdatenverkehr auf der docker0
-Brücke konkurrieren muss.