Comment résoudre les problèmes lorsque je configure l'Agent SSM afin d'utiliser un proxy pour gérer mon instance Amazon EC2 ?
Je reçois des erreurs lorsque j'utilise un proxy avec l'Agent SSM pour gérer mon instance Amazon Elastic Compute Cloud (Amazon EC2) avec AWS Systems Manager. Comment puis-je résoudre les problèmes de proxy ?
Brève description
Vous pouvez utiliser Systems Manager pour gérer vos instances Amazon EC2. Toutefois, si les instances se trouvent derrière un proxy, vous devez configurer l'Agent SSM pour communiquer avec les points de terminaison Amazon via votre proxy. Si l'Agent SSM n'est pas correctement configuré, vous recevez un message d'erreur similaire à celui-ci :
Post https://ssm.RegionID.amazonaws.com/: proxyconnect tcp: dial tcp xxx.xxx.xxx.xxx:yyyy: i/o timeout
Solution
Pour résoudre les problèmes de proxy, procédez comme suit :
Vérifiez que l'instance EC2 peut accéder à votre serveur proxy
Instances Windows EC2
Vous pouvez utiliser la commande Windows PowerShell suivante pour vérifier la connectivité à votre proxy. Dans l'exemple suivant, remplacez hostname (Nom d'hôte) par le nom d'hôte de votre proxy et remplacez port par le port de votre proxy.
> Test-NetConnection hostname -port port
Sortie attendue :
ComputerName : hostname RemoteAddress : xxx.xxx.xxx.xxx RemotePort : port InterfaceAlias : Ethernet SourceAddress : YYY.YYY.YYY.YYY TcpTestSucceeded : True PS C:\Windows\system32>
Instances Linux EC2
Vous pouvez utiliser les commande telnet ou netcat suivantes pour vérifier la connectivité à votre proxy. Dans les exemples suivants, remplacez hostname (Nom d'hôte) par le nom d'hôte de votre proxy et remplacez port par le port de votre proxy.
Telnet
$ telnet hostname port
Sortie attendue :
Trying xxx.xxx.xxx.xxx... Connected to hostname. Escape character is '^]'.
Netcat
$ nc -vz hostname port'
Sortie attendue :
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.
Remarque : Netcat n'est pas préinstallé sur les instances Amazon EC2. Pour installer manuellement Netcat, consultez la page Ncat sur le site web de Nmap.
Vérifiez que votre instance EC2 peut atteindre le point de terminaison Systems Manager via le serveur proxy
Exécutez la commande suivante pour vérifier que votre instance peut atteindre le point de terminaison Systems Manager via votre serveur proxy. La réception d'un code d'erreur http 4xx indique que vous pouvez atteindre le point de terminaison via votre serveur proxy.
Remarque : dans les exemples de commandes suivants, remplacez RegionID (ID de région) par votre région AWS, hostname (Nom d'hôte) par le nom d'hôte de votre proxy et port par le port de votre proxy.
Instances Windows EC2
> (invoke-webrequest https://ssm.RegionID.amazonaws.com -DisableKeepAlive -UseBasicParsing -Method head -Proxy http://hostname:port )
Sortie attendue :
invoke-webrequest : The remote server returned an error: (404) Not Found.
Instances Linux EC2
$ curl -k --proxy http://hostname:port -m 5 -s -o /dev/null -w "%{http_code}" https://ssm.RegionID.amazonaws.com
Sortie attendue :
404
Vérifiez que l'Agent SSM est configuré pour utiliser vos informations proxy
Instances Windows EC2
Vous devez consulter le journal de l'Agent SSM pour vérifier que les paramètres proxy sont appliqués comme illustré dans l'exemple suivant. Saisissez la commande suivante :
> type C:\ProgramData\Amazon\SSM\Logs\amazon-ssm-agent.log | findstr -i "proxy"
Sortie attendue :
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
Pour plus d'informations, consultez la section Configurer l'Agent SSM pour utiliser un proxy pour les instances Windows Server.
Instances Linux EC2
Tout d'abord, exécutez la commande suivante pour vérifier si l'Agent SSM utilise actuellement les variables de proxy requises en vérifiant la variable d'environnement de processus :
sudo cat /proc/$(pidof amazon-ssm-agent)/environ | xargs -0 -L1 -I{} echo {}
Sortie attendue :
[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
Ensuite, si la sortie n'inclut pas les variables de proxy, suivez les instructions ci-dessous pour votre type d'instance afin de vérifier et de mettre à jour les fichiers concernés.
Instances Linux EC2 basées sur un upstart tel que Ubuntu 14.04
Vérifiez que le fichier amazon-ssm-agent.override contient les configurations requises. Entrez la commande suivante et confirmez que votre sortie correspond à la sortie attendue illustrée dans l'exemple. Pour plus d'informations, consultez la section Configurer l'Agent SSM afin d'utiliser un proxy (Upstart).
Important : si vous mettez à jour le fichier amazon-ssm-agent.override, veillez à redémarrer l'Agent SSM une fois le fichier modifié.
$ cat /etc/init/amazon-ssm-agent.override
Sortie attendue pour un serveur proxy HTTP :
env http_proxy=http://hostname:port env https_proxy=http://hostname:port env no_proxy=169.254.169.254
Sortie attendue pour un serveur proxy HTTPS :
env http_proxy=http://hostname:port env https_proxy=https://hostname:port env no_proxy=169.254.169.254
Instances Linux EC2 basées sur Ubuntu 16.04 ou sur une version ultérieure avec l'Agent SSM installé à l'aide d'un snap
Entrez la commande suivante et confirmez que les informations de proxy correspondent à la sortie attendue illustrée dans l'exemple. Pour plus d'informations, consultez la section Configuration de l'Agent SSM afin d'utiliser un proxy (systemd).
Important : si vous mettez à jour le fichier amazon-ssm-agent.override, veillez à redémarrer l'Agent SSM une fois le fichier modifié.
$ cat /etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d/override.conf
Sortie attendue pour un serveur proxy HTTP :
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=http://hostname:port" Environment="no_proxy=169.254.169.254"
Sortie attendue pour un serveur proxy HTTPS :
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=https://hostname:port" Environment="no_proxy=169.254.169.254"
Instances Linux EC2 basées sur Amazon Linux 2
Entrez la commande suivante et confirmez que les informations de proxy correspondent à la sortie attendue illustrée dans l'exemple. Pour plus d'informations, consultez la section Configuration de l'Agent SSM afin d'utiliser un proxy (systemd).
Important : si vous mettez à jour le fichier amazon-ssm-agent.override, veillez à redémarrer l'Agent SSM une fois le fichier modifié.
$ cat /etc/systemd/system/amazon-ssm-agent.service.d/override.conf
Sortie attendue pour un serveur proxy HTTP :
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=http://hostname:port" Environment="no_proxy=169.254.169.254"
Sortie attendue pour un serveur proxy HTTPS :
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=https://hostname:port" Environment="no_proxy=169.254.169.254"
Instances Linux EC2 basées sur d'autres systèmes d'exploitation
Entrez la commande suivante et confirmez que les informations de proxy correspondent à la sortie attendue illustrée dans l'exemple. Pour plus d'informations, consultez la section Configuration de l'Agent SSM afin d'utiliser un proxy (systemd).
Important : si vous mettez à jour le fichier amazon-ssm-agent.override, veillez à redémarrer l'Agent SSM une fois le fichier modifié.
$ cat /etc/systemd/system/amazon-ssm-agent.service.d/amazon-ssm-agent.override
Sortie attendue pour un serveur proxy HTTP :
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=http://hostname:port" Environment="no_proxy=169.254.169.254"
Sortie attendue pour un serveur proxy HTTPS :
[Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=https://hostname:port" Environment="no_proxy=169.254.169.254"
Informations connexes
Contenus pertinents
- demandé il y a un anlg...
- demandé il y a 2 anslg...
- demandé il y a 2 anslg...
- demandé il y a 6 jourslg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a 2 ans