Wie behebe ich Probleme, wenn ich SSM-Agent so konfiguriere, dass er einen Proxy für die Verwaltung meiner Amazon-EC2-Instance verwendet?
Ich erhalte Fehler, wenn ich einen Proxy mit SSM-Agent verwende, um meine Amazon Elastic Compute Cloud (Amazon EC2)-Instanz mit AWS Systems Manager zu verwalten. Wie kann ich Proxy-Probleme beheben?
Kurzbeschreibung
Sie können Systems Manager verwenden, um Ihre Amazon EC2-Instanzen zu verwalten. Wenn sich die Instanzen jedoch hinter einem Proxy befinden, müssen Sie den SSM (Systems-Manager-Agent)-Agent so konfigurieren, dass er mit den Amazon-Endpunkten über Ihren Proxy kommuniziert. Wenn der SSM-Agent nicht korrekt konfiguriert ist, erhalten Sie eine Fehlermeldung ähnlich der Folgenden:
Post https://ssm.RegionID.amazonaws.com/: proxyconnect tcp: dial tcp xxx.xxx.xxx.xxx:yyyy: i/o timeout
Behebung
Führen Sie die folgenden Schritte aus, um Proxy-Probleme zu beheben:
Überprüfen Sie, ob die EC2-Instanz auf Ihren Proxyserver zugreifen kann
EC2-Windows-Instanzen
Sie können den folgenden Windows PowerShell-Befehl verwenden, um die Konnektivität zu Ihrem Proxy zu überprüfen. Ersetzen Sie im folgenden BeispielHostnamedurch Ihren Proxy-Hostnamen undPortdurch Ihren Proxy-Port.
> Test-NetConnection hostname -port port
Erwartete Leistung:
ComputerName : hostname RemoteAddress : xxx.xxx.xxx.xxx RemotePort : port InterfaceAlias : Ethernet SourceAddress : YYY.YYY.YYY.YYY TcpTestSucceeded : True PS C:\Windows\system32>
EC2 Linux-Instanzen
Sie können die folgenden Telnet- oder Netcat-Befehle verwenden, um die Konnektivität zu Ihrem Proxy zu überprüfen. Ersetzen Sie in den folgenden BeispielenHostnamedurch Ihren Proxy-Hostnamen undPortdurch Ihren Proxy-Port.
Telnet
$ telnet hostname port
Erwartete Leistung:
Trying xxx.xxx.xxx.xxx... Connected to hostname. Escape character is '^]'.
Netcat
$ nc -vz hostname port'
Erwartete Leistung:
Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to xxx.xxx.xxx.xxx:YYYY. Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
Hinweis: Netcat ist auf Amazon EC2-Instanzen nicht vorinstalliert. Informationen zur manuellen Installation von Netcat finden Sie unterNcatauf der Nmap-Website.
Überprüfen Sie, ob Ihre EC2-Instanz den Systems Manager-Endpunkt über den Proxyserver erreichen kann
Führen Sie den folgenden Befehl aus, um zu bestätigen, dass Ihre Instanz den Systems Manager-Endpunkt über Ihren Proxyserver erreichen kann. Wenn Sie einen HTTP-Fehlercode 4xx erhalten, bedeutet dies, dass Sie den Endpunkt über Ihren Proxyserver erreichen können.
Hinweis: Ersetzen Sie in den folgenden Befehlsbeispielen** RegionIDdurch IhreAWS-Region, Hostnamedurch Ihren Proxy-Hostnamen und Port durch IhrenProxy-Port**.
EC2-Windows-Instanzen
> (invoke-webrequest https://ssm.RegionID.amazonaws.com -DisableKeepAlive -UseBasicParsing -Method head -Proxy http://hostname:port )
Erwartete Leistung:
invoke-webrequest : The remote server returned an error: (404) Not Found.
EC2 Linux-Instanzen
$ curl -k --proxy http://hostname:port -m 5 -s -o /dev/null -w "%{http_code}" https://ssm.RegionID.amazonaws.com
Erwartete Leistung:
404
Überprüfen Sie, ob der SSM-Agent so konfiguriert ist, dass er Ihre Proxyinformationen verwendet
EC2-Windows-Instanzen
Sie müssen das Protokoll des SSM-Agenten überprüfen, um sicherzustellen, dass die Proxy-Einstellungen wie im folgenden Beispiel gezeigt angewendet werden. Führen Sie den folgenden Befehl aus:
> type C:\ProgramData\Amazon\SSM\Logs\amazon-ssm-agent.log | findstr -i "proxy"
Erwartete Leistung:
2021-03-18 19:06:16 INFO Getting IE proxy configuration for current user: The operation completed successfully. 2021-03-18 19:06:16 INFO Getting WinHTTP proxy default configuration: The operation completed successfully. 2021-03-18 19:06:16 INFO Proxy environment variables: 2021-03-18 19:06:16 INFO http_proxy: hostname:port 2021-03-18 19:06:16 INFO https_proxy: 2021-03-18 19:06:16 INFO no_proxy: 169.254.169.254
Weitere Informationen findenSie unter Konfigurieren des SSM-Agenten zur Verwendung eines Proxys für Windows Server-Instanzen.
EC2 Linux-Instanzen
Führen Sie zunächst den folgenden Befehl aus, um zu überprüfen, ob der SSM-Agent derzeit die erforderlichen Proxy-Variablen verwendet, indem Sie die Prozess-Umgebungsvariable überprüfen:
sudo cat /proc/$(pidof amazon-ssm-agent)/environ | xargs -0 -L1 -I{} echo {}
Erwartete Leistung:
[root@host123~]# sudo cat /proc/$(pidof amazon-ssm-agent)/environ | xargs -0 -L1 -I{} echo {} LANG=en_US.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin http_proxy=http://Hostname:Port https_proxy=http://Hostname:Port no_proxy=169.254.169.254
Wenn das Ergebnis die Proxy-Variablen nicht enthält, folgen Sie den nachstehenden Anweisungen für Ihren Instanztyp, um die entsprechenden Dateien zu überprüfen und zu aktualisieren.
EC2-Linux-Instanzen, die auf einem Upstart wie Ubuntu 14.04 basieren
Überprüfen Sie, ob die Datei amazon-ssm-agent.override die erforderlichen Konfigurationen enthält. Geben Sie den folgenden Befehl ein und bestätigen Sie, dass Ihre Ergebnis mit der erwarteten Ergebnissen übereinstimmt. Weitere Informationen findenSie unter Konfigurieren des SSM-Agenten zur Verwendung eines Proxys (Upstart).
Wichtig: Wenn Sie die Datei amazon-ssm-agent.override aktualisieren, stellen Sie sicher, dass Sie den SSM-Agent neu starten, nachdem die Datei bearbeitet wurde.
$ cat /etc/init/amazon-ssm-agent.override
Erwartetes Ergebnis für einen HTTP-Proxyserver:
env http_proxy=http://hostname:port env https_proxy=http://hostname:port env no_proxy=169.254.169.254
Erwartetes Ergebnis für einen HTTPS-Proxyserver:
env http_proxy=http://hostname:port env https_proxy=https://hostname:port env no_proxy=169.254.169.254
EC2-Linux-Instanzen auf Basis von Ubuntu 16.04 oder höher, auf denen der SSM-Agent per Snap installiert ist
Geben Sie den folgenden Befehl ein und bestätigen Sie, dass die Proxyinformationen mit dem erwarteten Ergebnis übereinstimmen. Weitere Informationen findenSie unter Konfigurieren des SSM-Agenten zur Verwendung eines Proxys (systemd).
Wichtig: Wenn Sie die Datei amazon-ssm-agent.override aktualisieren, stellen Sie sicher, dass Sie den SSM-Agent neu starten, nachdem die Datei bearbeitet wurde.
$ cat /etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d/override.conf
Erwartetes Ergebnis für einen HTTP-Proxyserver:
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=http://hostname:port" Environment="no_proxy=169.254.169.254"
Erwartetes Ergebnis für einen HTTPS-Proxyserver:
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=https://hostname:port" Environment="no_proxy=169.254.169.254"
EC2 Linux-Instanzen, die auf Amazon Linux 2 basieren
Geben Sie den folgenden Befehl ein und bestätigen Sie, dass die Proxyinformationen mit dem erwarteten Ergebnis übereinstimmen. Weitere Informationen findenSie unter Konfigurieren des SSM-Agenten zur Verwendung eines Proxys (systemd).
Wichtig: Wenn Sie die Datei amazon-ssm-agent.override aktualisieren, stellen Sie sicher, dass Sie den SSM-Agent neu starten, nachdem die Datei bearbeitet wurde.
$ cat /etc/systemd/system/amazon-ssm-agent.service.d/override.conf
Erwartetes Ergebnis für einen HTTP-Proxyserver:
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=http://hostname:port" Environment="no_proxy=169.254.169.254"
Erwartetes Ergebnis für einen HTTPS-Proxyserver:
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=https://hostname:port" Environment="no_proxy=169.254.169.254"
EC2 Linux-Instanzen, die auf anderen Betriebssystemen basieren
Geben Sie den folgenden Befehl ein und bestätigen Sie, dass die Proxyinformationen mit dem erwarteten Ergebnis übereinstimmen. Weitere Informationen findenSie unter Konfigurieren des SSM-Agenten zur Verwendung eines Proxys (systemd).
Wichtig: Wenn Sie die Datei amazon-ssm-agent.override aktualisieren, stellen Sie sicher, dass Sie den SSM-Agent neu starten, nachdem die Datei bearbeitet wurde.
$ cat /etc/systemd/system/amazon-ssm-agent.service.d/amazon-ssm-agent.override
Erwartetes Ergebnis für einen HTTP-Proxyserver:
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=http://hostname:port" Environment="no_proxy=169.254.169.254"
Erwartetes Ergebnis für einen HTTPS-Proxyserver:
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=https://hostname:port" Environment="no_proxy=169.254.169.254"
Ähnliche Informationen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren