Konfiguration des Amazon-ECS-Container-Agenten
Gilt für: EC2-Instances
Der Amazon-ECS-Container-Agent unterstützt eine Reihe von Konfigurationsoptionen, von denen die meisten durch Umgebungsvariablen eingerichtet werden.
Wenn Ihre Container-Instance mit einer Linux-Variante des Amazon-ECS-optimierten AMI gestartet wurde, können Sie diese Umgebungsvariablen in der Datei /etc/ecs/ecs.config setzen und dann den Agenten neu starten. Sie können diese Konfigurationsvariablen auch beim Starten mit Amazon EC2-Benutzerdaten in ihre Container-Instances schreiben. Weitere Informationen finden Sie unter Bootstrapping von Amazon-ECS-Linux-Container-Instances zur Weitergabe von Daten.
Wenn Ihre Container-Instance mit einer Windows-Variante des Amazon-ECS-optimierten AMI gestartet wurde, können Sie diese Umgebungsvariablen mit dem PowerShell-Befehl SetEnvironmentVariable festlegen und den Agenten dann neu starten. Weitere Informationen finden Sie unter Ausführen von Befehlen beim Start einer EC2-Instance mit Benutzerdateneingabe im Amazon-EC2-Benutzerhandbuch und Bootstrapping von Windows-Container-Instances von Amazon ECS zur Weitergabe von Daten.
Wenn Sie den Amazon-ECS-Container-Agenten manuell starten (bei AMIs, die nicht Amazon-ECS-optimiert sind), können Sie diese Umgebungsvariablen in dem Befehl docker run verwenden, den Sie benutzen, um den Agent zu starten. Verwenden Sie diese Variablen mit der Syntax --env=. Bei sensiblen Informationen, beispielsweise Authentifizierungs-Anmeldeinformationen für private Repositorys, sollten Sie die Agent-Umgebungsvariablen in einer Datei speichern und sie alle auf einmal mit der Option VARIABLE_NAME=VARIABLE_VALUE--env-file weitergeben. Sie können die folgenden Befehle verwenden, um die Variablen hinzuzufügen.path_to_env_file
sudo systemctl stop ecs sudo vi /etc/ecs/ecs.config # And add the environment variables with VARIABLE_NAME=VARIABLE_VALUE format. sudo systemctl start ecs
Führen Sie den Amazon-ECS-Agenten mit dem Host-PID-Namespace aus
Standardmäßig wird der Amazon-ECS-Agent mit seinem eigenen PID-Namespace ausgeführt. In den folgenden Konfigurationen können Sie den Amazon-ECS-Agenten so konfigurieren, dass er mit dem Host-PID-Namespace ausgeführt wird:
-
Der SELinux-Erzwingungsmodus ist aktiviert.
-
Die SELinux-Sicherheitsrichtlinie von Docker ist auf „true“ festgelegt.
Sie können dieses Verhalten konfigurieren, indem Sie die Umgebungsvariable ECS_AGENT_PID_NAMESPACE_HOST in Ihrer /etc/ecs/ecs.config-Datei auf true setzen. Wenn diese Variable aktiviert ist, startet ecs-init den Amazon-ECS-Agent-Container mit dem Host-PID-Namespace (--pid=host), sodass sich der Agent in SELinux-erzwungenen Umgebungen ordnungsgemäß selbst booten kann. Dieses Feature ist in Amazon-ECS-Agent-Version 1.94.0 und höher verfügbar.
Fügen Sie die folgende Zeile zu Ihrer /etc/ecs/ecs.config-Datei hinzu, um dieses Feature zu aktivieren:
ECS_AGENT_PID_NAMESPACE_HOST=true
Nachdem Sie diese Änderung vorgenommen haben, starten Sie den Amazon-ECS-Agenten neu, damit die Änderung wirksam wird:
sudo systemctl restart ecs
Die folgenden Features funktionieren nicht, wenn der SELinux-Erzwingungsmodus aktiviert ist und die Docker-Sicherheitsrichtlinie ist auf „true“ gesetzt ist, auch wenn ECS_AGENT_PID_NAMESPACE_HOST=true aktiviert ist.
Amazon ECS Exec
Amazon-EBS-Aufgabe anhängen
Service Connect
FireLens für Amazon ECS
Verfügbare Parameter
Informationen zu den verfügbaren Konfigurationsparametern des Amazon ECS Container Agent finden Sie unter Amazon ECS Container Agent