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

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=VARIABLE_NAME=VARIABLE_VALUE. 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 --env-file path_to_env_file weitergeben. Sie können die folgenden Befehle verwenden, um die Variablen hinzuzufügen.

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 auf GitHub.