將 SSM Agent 設定為使用 Windows Server 執行個體的代理 - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將 SSM Agent 設定為使用 Windows Server 執行個體的代理

本主題中的資訊適用於在 2016 年 11 月或之後建立的使用 Nano 安裝選項的 Windows Server 執行個體。如果您打算使用Session Manager,請注意不支援 HTTPS 代理伺服器。

如果您的執行個體是 2016 年 11 月之前建立的 Windows Server 2008-2012 R2 執行個體,則 EC2Config 會處理您的執行個體上的 AWS Systems Manager 請求。建議您升級現有執行個體,以使用最新版本的 EC2Config。透過使用最新的 EC2Config 安裝程式,您可以使用 EC2Config 來安裝AWS Systems Manager代理程式 (SSM Agent) side-by-side 。這個 side-by-side版本的SSM Agent與從舊版 Windows Amazon Machine Images (AMIs) 建立的執行個體相容,可讓您使用 2016 年 11 月之後發佈的 Systems Manager 功能。如需有關如何安裝最新版 EC2Config 服務的相關資訊,請參閱《Amazon EC2 Windows 執行個體使用者指南》中的安裝最新版 EC2Config。如果您不升級至最新版本的 EC2Config,並使用 EC2Config 來處理 Systems Manager 要求,則應設定 EC2Config 的代理設定。如需有關設定 EC2Config 以使用代理的詳細資訊,請參閱《Windows 執行個體的 Amazon EC2 使用者指南》中的設定 EC2Config 服務的代理設定

注意

從 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 以使用代理
  1. 使用遠端桌面或 Windows PowerShell,連線至您要設定為使用代理伺服器的執行個體。

  2. 在中執行下列命令區塊 PowerShell。使用與您的代理有關的資訊取代主機名稱連接埠

    $serviceKey = "HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent" $keyInfo = (Get-Item -Path $serviceKey).GetValue("Environment") $proxyVariables = @("http_proxy=hostname:port", "https_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 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: 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 Agent 代理組態
  1. 使用遠端桌面或 Windows PowerShell,連線至要設定的執行個體。

  2. 如果您使用遠端桌面連線,請以系統管理員身分啟動 PowerShell 。

  3. 在中執行下列命令區塊 PowerShell。

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

SSM Agent 代理設定優先順序

在 Windows Server 執行個體上設定 SSM Agent的代理設定時,請務必瞭解在 SSM Agent 啟動時,系統會評估這些設定並套用至代理程式組態。您為 Windows Server 執行個體設定的代理設定會決定其他設定是否可能取代您所要的設定。

重要

SSM Agent 使用 HTTPS 協定進行通訊。因此,您必須使用以下其中一個設定選項配置 HTTPS proxy 參數。

依以下順序評估 SSM Agent 代理設定。

  1. AmazonSSMAgent 登錄設定 (HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent)

  2. 系統環境變數 (http_proxyhttps_proxyno_proxy)

  3. LocalSystem 使用者帳號環境變數http_proxyhttps_proxy、、no_proxy)

  4. Internet Explorer 設定 (HTTPsecureexceptions)

  5. WinHTTP 代理設定 (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 來執行下列命令,因為這些命令會在系統管理員帳戶上執行,且設定會套用到全系統。下列 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