AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
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 6 Monaten
AWS OFFICIALAktualisiert vor 4 Jahren
AWS OFFICIALAktualisiert vor 5 Monaten