SSM Agent 疑難排解 - AWS Systems Manager

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

SSM Agent 疑難排解

如果您在受管節點上執行操作時遇到問題,則 AWS Systems Manager 代理程式 () 可能會發生問題SSM Agent。使用以下資訊以協助檢視 SSM Agent 日誌檔並對代理程式的問題進行疑難排解。

SSM Agent 過期

每當將新工具新增至 Systems Manager 或對現有工具進行更新時,SSM Agent就會發行更新的 版本。未使用最新版本的代理程式可能會使您的受管節點無法使用各種 Systems Manager 工具和功能。因此,我們建議您讓機器的 SSM Agent 自動保持最新狀態。如需相關資訊,請參閱 自動化 SSM Agent 更新。請訂閱 GitHub 上的 SSM Agent 版本備註頁面,以便接收有關 SSM Agent 更新的通知。

使用 SSM Agent 日誌檔案診斷並解決問題

SSM Agent 將資訊記錄在下列檔案中。這些檔案中的資訊也可協助您排除問題。如需有關 SSM Agent 日誌檔案的詳細資訊,包括如何開啟偵錯記錄,請參閱檢視 SSM Agent 日誌

注意

如果您選擇使用 Windows 檔案總管查看這些日誌,請務必在資料夾選項中檢視隱藏檔案和系統檔案。

在 Windows 上
  • %PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log

  • %PROGRAMDATA%\Amazon\SSM\Logs\errors.log

在 Linux 和 macOS 上
  • /var/log/amazon/ssm/amazon-ssm-agent.log

  • /var/log/amazon/ssm/errors.log

對於 Linux 受管節點,您可能會在寫入到以下目錄的 messages 檔案中找到更多資訊:/var/log

如需使用代理程式日誌診斷並解決問題的詳細資訊,請參閱 AWS re:Post 知識中心中的「如何使用 SSM Agent 日誌診斷並解決受管執行個體中的 SSM Agent 問題?」一文。

代理程式日誌檔案不會輪換 (Windows)

如果您在 seelog.xml 檔案中指定以日期為基礎的日誌檔案輪換 (在 Windows Server 受管節點上),且日誌不會輪換,請指定 fullname=true 參數。以下是已指定 fullname=true 參數的 seelog.xml 組態檔案的範例。

<seelog type="adaptive" mininterval="2000000" maxinterval="100000000" critmsgcount="500" minlevel="debug"> <exceptions> <exception filepattern="test*" minlevel="error" /> </exceptions> <outputs formatid="fmtinfo"> <console formatid="fmtinfo" /> <rollingfile type="date" datepattern="200601021504" maxrolls="4" filename="C:\ProgramData\Amazon\SSM\Logs\amazon-ssm-agent.log" fullname=true /> <filter levels="error,critical" formatid="fmterror"> <rollingfile type="date" datepattern="200601021504" maxrolls="4" filename="C:\ProgramData\Amazon\SSM\Logs\errors.log" fullname=true /> </filter> </outputs> <formats> <format id="fmterror" format="%Date %Time %LEVEL [%FuncShort @ %File.%Line] %Msg%n" /> <format id="fmtdebug" format="%Date %Time %LEVEL [%FuncShort @ %File.%Line] %Msg%n" /> <format id="fmtinfo" format="%Date %Time %LEVEL %Msg%n" /> </formats> </seelog>

無法連線至 SSM 端點

SSM Agent 必須允許 HTTPS (連接埠 443) 傳出流量至下列端點:

  • ssm.region.amazonaws.com

  • ssmmessages.region.amazonaws.com

region 代表 支援的 AWS 區域 識別符 AWS Systems Manager,例如us-east-2美國東部 (俄亥俄) 區域。如需支援的 region 值的清單,請參閱《Amazon Web Services 一般參考》Systems Manager 服務端點一節的區域欄位。

注意

在 2024 年之前,也需要 ec2messages.region.amazonaws.com。對於 2024 年之前 AWS 區域 啟動的 ,仍然需要允許流量至 ,但 ssmmessages.region.amazonaws.com 是選用的ec2messages.region.amazonaws.com

對於在 2024 年及之後啟動的區域,仍然需要允許 ssmmessages.region.amazonaws.com 的流量,但這些區域不支援 ec2messages.region.amazonaws.com 端點。

SSM Agent 如果無法與上述端點通訊,即使使用 Amazon Linux 2 或 Amazon Linux 2023 等 AWS 提供的 Amazon Machine Images(AMIs),也無法運作。您的網路組態必須具有開放的網際網路存取權,或者您必須設定 Virtual Private Cloud (VPC) 端點。如果您不打算建立自訂 VPC 端點,請檢查您的網際網路閘道或 NAT 閘道。如需有關如何管理 VPC 端點的詳細資訊,請參閱使用適用於 Systems Manager 的 VPC 端點來改善 EC2 執行個體的安全性

驗證 VPC 組態

為了使用 Systems Manager 管理 EC2 執行個體,必須針對 ssm.region.amazonaws.com.rproxy.goskope.comssmmessages.region.amazonaws.com 正確設定 VPC 端點,有時還須針對 ec2messages.region.amazonaws.com (如本主題前面的無法連線至 SSM 端點部分所解釋) 正確設定 VPC 端點。您的網路組態必須具有開放的網際網路存取權,或者您必須設定這些虛擬私有雲端 (VPC) 端點。

若要對 VPC 端點的問題進行疑難排解,請執行下列動作:

  • 確保在 VPC 層級包含 VPC 端點。如果在 VPC 上找不到具有特定服務名稱的 VPC 端點,請先驗證是否已在 VPC 層級啟用 DNS 支援。接下來,建立一個新的 VPC 端點,並將其與每個可用區域中的一個子網路建立關聯。

  • 確保已在 VPC 端點層級啟用私有 DNS 名稱。私有 DNS 名稱預設已啟用,但可能已在某些時間點手動停用。

  • 確保現有 VPC 端點與適當子網路相關聯。此外,確保 VPCE 已與該可用區域中的子網路相關聯。

如需詳細資訊,請參閱下列主題:

驗證 VPC DNS 相關屬性

在驗證 VPC 組態時,請確保已啟用 enableDnsSupportenableDnsHostnames 屬性。

您可以使用 Amazon EC2 ModifyVPCAttribute API 動作或 AWS CLI 命令 modify-vpc-attribute 來啟用這些屬性。

如需有關在 Amazon VPC 主控台中啟用這些屬性的資訊,請參閱《Amazon VPC 使用者指南》中的 View and update DNS attributes for your VPC

驗證端點安全群組的相關輸入規則

請確保您已設定的任何 VPC 端點 (ssmssmmessagesec2messages) 在其安全群組上包含輸入規則,以便允許連接埠 443 的流量。如有必要,您可以使用輸入規則在 VPC 中建立新的安全群組,以便允許 VPC 的無類別域間路由 (CIDR) 區塊在連接埠 443 的流量。建立安全群組之後,請將其附加至每個 VPC 端點。

如需詳細資訊,請參閱下列主題:

使用 ssm-cli 診斷並解決受管節點的可用性問題

從 SSM Agent 3.1.501.0 版開始,您可以使用 ssm-cli 判斷受管理節點是否滿足由 Systems Manager 管理的主要要求,以及是否顯示在 Fleet Manager 中的受管節點清單中。ssm-cli 是獨立的命令列工具,包含在 SSM Agent 安裝中。包含了預先設定的命令,收集所需資訊,協助您診斷為何您確認正在執行的 Amazon EC2 執行個體或非 EC2 機器未包含在 Systems Manager 的受管節點清單中。這些命令會在您指定 get-diagnostics 選項時執行。

如需詳細資訊,請參閱使用 ssm-cli 診斷並解決受管節點的可用性問題