Wie richte ich einen HTTP-Proxy für Docker und den Amazon ECS-Container-Agenten in Amazon Linux 2 oder Amazon Linux 2023 ein?
Ich möchte einen HTTP-Proxy für Docker und den Amazon Elastic Container Service (Amazon ECS)-Container-Agenten in Amazon Linux 2 oder Amazon Linux 2023 einrichten.
Lösung
Gehe wie folgt vor, um einen HTTP-Proxy für Docker und den Amazon ECS-Container-Agenten in Amazon Linux 2 oder Amazon Linux 2023 einzurichten.
Hinweis: Du kannst die Umgebungsvariablen auch beim Start mithilfe von Amazon Elastic Compute Cloud (Amazon EC2)-Benutzerdaten mit einem Benutzerdatenskript festlegen. Ein Benutzerdatenskript, das auf allen Versionen von Linux funktioniert, findest du unter HTTP-Proxykonfiguration für Linux-Container-Instances.
Wenn du Amazon Linux verwendest, findest du weitere Informationen unter Wie richte ich einen HTTP-Proxy für Docker und den Amazon ECS-Container-Agenten in Amazon Linux ein?
Wichtig: Das Amazon Linux AMI (auch Amazon Linux 1 genannt) erreichte sein Lebensende am 31. Dezember 2023. Es ist eine bewährte Methode, die Anwendungen auf Amazon Linux 2023 zu aktualisieren.
Die IP-Adresse und den Proxy-Server-Port speichern
Gehe wie folgt vor, um die IP-Adresse und den Proxy-Server-Port zu speichern:
- Stelle mithilfe von SSH eine Verbindung zu der Amazon EC2-Instance her.
- Speichere als Root-Benutzer die IP-Adresse und den Port des Proxyservers für die spätere Verwendung in Umgebungsvariablen. Zum Beispiel:
export PROXY_SERVER_IP=x.x.x.x export PROXY_PORT=1234
Einen HTTP-Proxy für den Docker-Daemon einrichten
Gehe wie folgt vor, um einen HTTP-Proxy für den Docker-Daemon einzurichten:
-
Führe die folgenden Befehle mit sudo-Berechtigungen aus:
mkdir -p /etc/systemd/system/docker.service.dcat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment="HTTP_PROXY=http://$PROXY_SERVER_IP:$PROXY_PORT" Environment="HTTPS_PROXY=http://$PROXY_SERVER_IP:$PROXY_PORT" Environment="NO_PROXY=169.254.169.254,169.254.170.2" EOFHinweis: HTTP_PROXY ist die Socket-Adresse (IPaddress:Port) des HTTP-Proxys, der verwendet wird, um den ECS-Container-Agenten mit dem Internet zu verbinden.
Wenn die Variable HTTP_PROXY gesetzt ist, musst du die Variable NO_PROXY auf 169.254.169.254,169.254.170.2 setzen. Diese Einstellung filtert Amazon EC2-Instance-Metadaten, AWS Identity and Access Management (IAM)-Rollen für Aufgaben und den Docker-Daemon-Datenverkehr vom Proxy.
-
Führe den folgenden Befehl aus, um Einheiten neu zu laden, weil sich docker.service auf der Festplatte geändert hat:
systemctl daemon-reload -
Führe den folgenden Befehl aus, um Docker neu zu starten:
systemctl restart docker.serviceHinweis: Der vorherige Befehl stoppt alle laufenden Container, einschließlich des ecs-agent auf der ECS-Container-Instance.
-
Führe den folgenden Befehl aus, um die HTTP-Proxyeinstellungen für Docker zu überprüfen:
docker info | grep -i proxyHinweis: Die Befehlsausgabe zeigt den HTTP-Proxy und den HTTPS-Proxy.
Einen HTTP-Proxy für den Container-Agenten einrichten
Gehe wie folgt vor, um einen HTTP-Proxy für den Docker-Daemon einzurichten:
-
Füge in der vorhandenen Datei /etc/ecs/ecs.config die Proxykonfiguration mit den Agentenkonfigurationsparametern HTTP_PROXY und NO_PROXY ein. Zum Beispiel:
cat <<EOF > /etc/ecs/ecs.config HTTP_PROXY=http://$PROXY_SERVER_IP:$PROXY_PORT NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock EOF -
Führe den folgenden Befehl aus, um die HTTP-Konfigurationen aus Schritt 1 auf den ecs-agent anzuwenden:
systemctl restart ecsHinweis: Wenn du ein für Amazon ECS optimiertes Amazon Machine Image (AMI) verwendest, läuft der Container-Agent standardmäßig über ecs-init.
-
Führe den folgenden Befehl aus, um die HTTP-Proxyeinstellungen für Docker und den Container-Agenten zu überprüfen:
docker inspect ecs-agent | grep -i proxyHinweis: Die Proxyeinstellungen werden in der Befehlsausgabe angezeigt.
Einen HTTP-Proxy für ecs-init einrichten
Gehe wie folgt vor, um einen HTTP-Proxy für ecs-init einzurichten:
-
Führe die folgenden Befehle mit sudo-Berechtigungen aus:
mkdir -p /etc/systemd/system/ecs.service.dcat <<EOF > /etc/systemd/system/ecs.service.d/http-proxy.conf [Service] Environment="HTTPS_PROXY=$PROXY_SERVER_IP:$PROXY_PORT/" Environment="NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock" EOF -
Führe den folgenden Befehl aus, um Einheiten neu zu laden, weil sich docker.service auf der Festplatte geändert hat:
systemctl daemon-reload -
Führe den folgenden Befehl aus, um die HTTP-Konfigurationen aus Schritt 1 auf den ecs-agent anzuwenden:
systemctl restart ecsHinweis: Die Konfiguration sowohl für Docker als auch für den Container-Agenten wirkt sich nur auf die aktuell laufende Instance aus. Um alle Instances in einem Cluster zu aktualisieren, erstelle eine Startkonfiguration und verwende dann eine Auto-Scaling-Gruppe, um neue Instances zu starten.
Ähnliche Informationen
Aktualisierung des Amazon ECS-Container-Agenten
Bootstrapping von Container-Instances mit Amazon EC2-Benutzerdaten
- Themen
- Containers
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor einem Jahr