本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 SSM Agent 設定為使用 Windows Server 執行個體的代理
本主題中的資訊適用於在 2016 年 11 月或之後建立的未使用 Nano 安裝選項的 Windows Server 執行個體。如果您打算使用Session Manager,請注意不支持HTTPS代理服務器。
注意
從 2020 年 1 月 14 日起,Microsoft 不再支援 Windows Server 2008 的功能或安全性更新。Windows Server 2008 和 2008 R2 的舊版 Amazon Machine Images (AMIs) 仍包含預先安裝的 SSM Agent 的版本 2,但 Systems Manager 不再正式支援 2008 版本,並且不再更新這些 Windows Server 版本的代理程式。除此之外,SSM Agent 第 3 版可能無法與 Windows Server 2008 和 2008 R2 上的所有操作相容。Windows Server 2008 版本的 SSM Agent 的最終的正式支援版本是 2.3.1644.0。
開始之前
在您設定SSM Agent為使用 Proxy 之前,請注意下列重要資訊。
在下列程序中,您會執行命令SSM Agent來設定為使用 Proxy。該命令包括具有 IP 地址的no_proxy
設置。IP 位址是 Systems Manager 理員的執行個體中繼資料服務 (IMDS) 端點。如果未指定no_proxy
,則呼叫「Systems Manager」會從 Proxy 服務取得身分識別 (如果已啟用IMDSv1後援),或呼叫「Systems Manager」會失敗 (如果IMDSv2強制執行)。
-
對於IPv4,指定
no_proxy=169.254.169.254
。 -
對於IPv6,指定
no_proxy=[fd00:ec2::254]
。執行個體中繼資料服務的IPv6位址與IMDSv2指令相容。該IPv6地址只能在 AWS Nitro 系統上構建的實例上訪問。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的執行個體中繼資料服務第 2 版的運作方式。
若要設定 SSM Agent 以使用代理
-
使用遠端桌面或 Windows PowerShell,連線至您要設定為使用代理伺服器的執行個體。
-
在中執行下列命令區塊 PowerShell。Replace (取代)
hostname
以及port
與您的代理信息。$serviceKey = "HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent" $keyInfo = (Get-Item -Path $serviceKey).GetValue("Environment") $proxyVariables = @("http_proxy=
hostname
:port
", "https_proxy=hostname
:port
", "no_proxy=IP address for instance metadata services (IMDS)
") 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 Agent 記錄檔以確認已套用 Proxy 設定。記錄檔中的項目看起來如下所示。如需 SSM Agent 日誌的詳細資訊,請參閱檢視 SSM Agent 日誌。
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:hostname
:port
2020-02-24 15:31:54 INFO no_proxy:IP address for instance metadata services (IMDS)
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 Agent 代理組態
-
使用遠端桌面或 Windows PowerShell,連線至要設定的執行個體。
-
如果您使用遠端桌面連線,請以系統管理員身分啟動 PowerShell 。
-
在中執行下列命令區塊 PowerShell。
Remove-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent -Name Environment Restart-Service AmazonSSMAgent
SSM Agent 代理設定優先順序
在 Windows Server 執行個體上設定 SSM Agent的代理設定時,請務必瞭解在 SSM Agent 啟動時,系統會評估這些設定並套用至代理程式組態。您為 Windows Server 執行個體設定的代理設定會決定其他設定是否可能取代您所要的設定。代理程式會使用找到的第一個 Proxy 伺服器設定。
重要
SSM Agent使用該HTTPS協議進行通信。因此,您必須使用以下其中一個設定選項配置 HTTPS proxy
參數。
依以下順序評估 SSM Agent 代理設定。
-
mazonSSMAgent 登錄設定 (
HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent
) -
系統環境變數 (
http_proxy
、https_proxy
、no_proxy
) -
LocalSystem 使用者帳號環境變數
http_proxy
https_proxy
、、no_proxy
) -
Internet Explorer 設定 (
HTTP
、secure
、exceptions
) -
贏取HTTP代理伺服器設定 (
http=
https=
、、bypass-list=
)
SSM Agent 代理設定和 Systems Manager 服務
如果您SSM Agent將設定為使用代理伺服器,並且正在使用的 AWS Systems Manager 功能 (例如Run Command和Patch Manager) PowerShell 或 Windows Update 用戶端在執行個Windows Server體上執行時使用的功能,請設定其他 Proxy 伺服器設定。否則,作業可能會失敗,因為所使用的 Proxy 伺服器設定 PowerShell 和 Windows Update 用戶端並未繼承自 SSM Agent Proxy 組態。
對於 Run Command,在您的 Windows Server 執行個體上設定 WinINet
代理設定。根據每個工作階段提供 [System.Net.WebRequest]
命令。若要將這些規劃套用至在中執行的後續網路指令Run Command,這些指令必須位於相同aws:runPowershellScript
外掛程式輸入中的其他 PowerShell 指令之前。
下列 PowerShell 指令會傳回目前的 WinINet
Proxy 設定,並將您的 Proxy 設定套用至WinINet
。
[System.Net.WebRequest]::DefaultWebProxy $proxyServer = "http://
hostname
:port
" $proxyBypass = "169.254.169.254" $WebProxy = New-Object System.Net.WebProxy($proxyServer,$true,$proxyBypass) [System.Net.WebRequest]::DefaultWebProxy = $WebProxy
對於 Patch Manager,設定全系統範圍的代理設定,讓 Windows Update 用戶端可以掃描和下載更新。我們建議您使用Run Command來執行下列命令,因為這些命令會在SYSTEM帳戶上執行,而且這些設定會套用至整個系統。下列 netsh
命令會傳回目前的代理設定,並將您的代理設定套用到本機系統。
netsh winhttp show proxy netsh winhttp set proxy proxy-server="
hostname
:port
" bypass-list="169.254.169.254"
如需有關使用 Run Command 的詳細資訊,請參閱 AWS Systems Manager Run Command。