SSM エージェント が Windows Server インスタンス用にプロキシを使用するように設定する - AWS Systems Manager

SSM エージェント が Windows Server インスタンス用にプロキシを使用するように設定する

このトピックの情報は、2016 年 11 月以降に作成された、Nano インストールオプションを使用しない Windows Server インスタンスに該当します。

インスタンスが 2016 年 11 月よりに作成された Windows Server 2008-2012 R2 インスタンスである場合は、EC2Config でインスタンスの Systems Manager リクエストが処理されます。既存のインスタンスをアップグレードして最新バージョンの EC2Config を使用することをお勧めします。最新の EC2Config インストーラを使用すると、EC2Config と一緒に SSM エージェント もインストールされます。このサイドバイサイドバージョンの SSM エージェント は、以前の Windows AMI から作成されたインスタンスと互換性があり、2016 年 11 月より後に公開された SSM の機能を使用できます。EC2Config サービスの最新バージョンをインストールする方法の詳細については、Amazon EC2 User Guide for Windows Instances の「EC2Config の最新バージョンのインストール」を参照してください。EC2Config の最新バージョンにアップグレードせず、EC2Config を使用して Systems Manager リクエストを処理する場合は、EC2Config のプロキシ設定を構成する必要があります。プロキシを使用するための EC2Config の設定の詳細については、「EC2Config Service サービスのプロキシ設定の構成」を参照してください。

SSM エージェント がプロキシを使用するように設定するには

  1. リモートデスクトップまたは Windows PowerShell を使用して、プロキシを使用するように設定するインスタンスに接続します。

  2. PowerShell で次のコマンドブロックを実行します。hostnameport を、プロキシの情報に置き換えます。

    $serviceKey = "HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent" $keyInfo = (Get-Item -Path $serviceKey).GetValue("Environment") $proxyVariables = @("http_proxy=hostname:port", "no_proxy=169.254.169.254") If($keyInfo -eq $null) { New-ItemProperty -Path $serviceKey -Name Environment -Value $proxyVariables -PropertyType MultiString -Force } else { Set-ItemProperty -Path $serviceKey -Name Environment -Value $proxyVariables } Restart-Service AmazonSSMAgent

上記のコマンドを実行した後、SSM エージェント ログを確認すると、プロキシ設定が適用されたことを確認できます。ログのエントリは次のようになります。SSM エージェント ログの詳細については、「SSM エージェント ログを表示する」を参照してください。

2020-02-24 15:31:54 INFO Getting IE proxy configuration for current user: The operation completed successfully. 2020-02-24 15:31:54 INFO Getting WinHTTP proxy default configuration: The operation completed successfully. 2020-02-24 15:31:54 INFO Proxy environment variables: 2020-02-24 15:31:54 INFO http_proxy: hostname:port 2020-02-24 15:31:54 INFO https_proxy: 2020-02-24 15:31:54 INFO no_proxy: 169.254.169.254 2020-02-24 15:31:54 INFO Starting Agent: amazon-ssm-agent - v2.3.871.0 2020-02-24 15:31:54 INFO OS: windows, Arch: amd64

SSM エージェント のプロキシ設定をリセットするには

  1. リモートデスクトップまたは Windows PowerShell を使用して、設定先のインスタンスに接続します。

  2. リモートデスクトップを使用して接続した場合は、管理者として PowerShell を起動します。

  3. PowerShell で次のコマンドブロックを実行します。

    Remove-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent -Name Environment Restart-Service AmazonSSMAgent

SSM エージェント プロキシ設定の優先順位

Windows Server インスタンスで SSM エージェント のプロキシ設定を構成する場合、SSM エージェント の起動時にこれらの設定が評価され、エージェント構成に適用されることを理解することが重要です。Windows Server インスタンスのプロキシ設定を構成する方法によって、他の設定が目的の設定よりも優先されるかどうかを判断できます。SSM エージェント プロキシ設定は、次の順序で評価されます。

  1. AmazonSSMAGent レジストリ設定 (HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent)

  2. システム環境変数 (http_proxy、https_proxy、no_proxy)

  3. LocalSystem ユーザーアカウントの環境変数 (http_proxy、https_proxy、no_proxy)

  4. WinHTTP プロキシの設定

  5. Internet Explorer の設定

SSM エージェント プロキシの設定と Systems Manager サービス

プロキシを使用するように SSM エージェント を設定し、Windows Server インスタンスでの実行中に PowerShell や Windows Update クライアントを使用する AWS Systems Manager サービス (Run Command や Patch Manager など) を使用している場合は、追加のプロキシ設定を設定する必要があります。そうしないと、プロキシ設定が PowerShell や Windows Update クライアントによって使用され、SSM エージェント プロキシ設定から継承されないため、オペレーションが失敗する可能性があります。

Run Command の場合は、Windows Server インスタンスで WinINet プロキシ設定を設定する必要があります。次の PowerShell コマンドでは、現在の WinINet プロキシ設定を返し、プロキシ設定を WinINet に適用します。

[System.Net.WebRequest]::DefaultWebProxy $proxyServer = "http://hostname:port" $proxyBypass = "169.254.169.*" $WebProxy = New-Object System.Net.WebProxy($proxyServer,$true,$proxyBypass) [System.Net.WebRequest]::DefaultWebProxy = $WebProxy

Patch Manager の場合は、Windows Update クライアントが更新をスキャンしてダウンロードできるように、システム全体のプロキシ設定を設定する必要があります。次のコマンドは SYSTEM アカウントで実行され、設定がシステム全体に適用されるため、Run Command を使用して実行することをお勧めします。次の netsh コマンドでは、現在のプロキシ設定を返し、プロキシ設定をローカルシステムに適用します。

netsh winhttp show proxy netsh winhttp set proxy hostname:port

Run Command の使用については、「Systems Manager Run Command を使用するコマンドの実行」を参照してください。