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

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

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

ssm-cli 是獨立的命令列工具,包含在 SSM Agent 安裝中。當您在電腦上安裝 SSM Agent 3.1.501.0 或更新版本時,您可以在該電腦上執行ssm-cli命令。這些命令的輸出可協助您判斷機器是否符合要管理之 Amazon EC2 執行個體或非 EC2 機器的最低需求 AWS Systems Manager,並因此新增至 Systems Manager 中的受管節點清單。 (SSM Agent版本 3.1.501.0 已於二零二一年十一月發布。)

最低需求

若要由 AWS Systems Manager Amazon EC2 執行個體或非 EC2 機器管理並在受管節點清單中使用,它必須滿足三個主要要求:

  • SSM Agent 必須在執行受支援作業系統的機器上安裝且執行。

    EC2 的某些 AWS 受管理 Amazon Machine Images (AMIs) 設定為啟動SSM Agent預先安裝的執行個體。(您還可以設定自訂 AMI 以預先安裝 SSM Agent。) 如需詳細資訊,請參閱 AMIs使用預先安SSM Agent裝的查找

  • 提供與 Systems Manager 理員服務通訊所需許可的 AWS Identity and Access Management (IAM) 執行個體設定檔 (適用於 EC2 執行個體) 或 IAM 服務角色 (適用於非 EC2 機器) 必須附加至機器。

  • SSM Agent 必須能夠連線到 Systems Manager 端點,才能自行註冊服務。此後,該受管節點必須可用於服務,該服務可由服務每五分鐘傳送一次訊號以檢查受管節點的運作狀態,來予以確認。

預先設定的指令 ssm-cli

包含了預先設定的命令,收集所需資訊,協助您診斷為何您確認正在執行的機器未包含在 Systems Manager 的受管節點清單中。這些命令會在您指定 get-diagnostics 選項時執行。

在機器上執行以下命令來使用 ssm-cli 協助您解決受管節點的可用性問題。

Linux & macOS
ssm-cli get-diagnostics --output table
Windows

在 Windows Server 機器上,您必須在執行命令之前瀏覽至 C:\Program Files\Amazon\SSM 目錄。

ssm-cli.exe get-diagnostics --output table
PowerShell

在 Windows Server 機器上,您必須在執行命令之前瀏覽至 C:\Program Files\Amazon\SSM 目錄。

.\ssm-cli.exe get-diagnostics --output table

此命令會傳回與以下表格類似的表格作為輸出:

注意

ssmmessagess3kmslogs、和monitoring端點的連線檢查是否有其他選用功能,例如Session Manager可以登入 Amazon Simple Storage Service (Amazon S3) 或 Amazon CloudWatch 日誌並使用 AWS Key Management Service (AWS KMS) 加密。

Linux & macOS
[root@instance]# ssm-cli get-diagnostics --output table ┌───────────────────────────────────────┬─────────┬───────────────────────────────────────────────────────────────────────┐ │ Check │ Status │ Note │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ EC2 IMDS │ Success │ IMDS is accessible and has instance id i-0123456789abcdefa in Region │ │ │ │ us-east-2 │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Hybrid instance registration │ Skipped │ Instance does not have hybrid registration │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Connectivity to ssm endpoint │ Success │ ssm.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Connectivity to ec2messages endpoint │ Success │ ec2messages.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Connectivity to ssmmessages endpoint │ Success │ ssmmessages.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Connectivity to s3 endpoint │ Success │ s3.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Connectivity to kms endpoint │ Success │ kms.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Connectivity to logs endpoint │ Success │ logs.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Connectivity to monitoring endpoint │ Success │ monitoring.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ AWS Credentials │ Success │ Credentials are for │ │ │ │ arn:aws:sts::123456789012:assumed-role/Fullaccess/i-0123456789abcdefa │ │ │ │ and will expire at 2021-08-17 18:47:49 +0000 UTC │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Agent service │ Success │ Agent service is running and is running as expected user │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ Proxy configuration │ Skipped │ No proxy configuration detected │ ├───────────────────────────────────────┼─────────┼───────────────────────────────────────────────────────────────────────┤ │ SSM Agent version │ Success │ SSM Agent version is 3.0.1209.0, latest available agent version is │ │ │ │ 3.1.192.0 │ └───────────────────────────────────────┴─────────┴───────────────────────────────────────────────────────────────────────┘
Windows Server and PowerShell
PS C:\Program Files\Amazon\SSM> .\ssm-cli.exe get-diagnostics --output table ┌───────────────────────────────────────┬─────────┬─────────────────────────────────────────────────────────────────────┐ │ Check │ Status │ Note │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ EC2 IMDS │ Success │ IMDS is accessible and has instance id i-0123456789EXAMPLE in │ │ │ │ Region us-east-2 │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Hybrid instance registration │ Skipped │ Instance does not have hybrid registration │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Connectivity to ssm endpoint │ Success │ ssm.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Connectivity to ec2messages endpoint │ Success │ ec2messages.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Connectivity to ssmmessages endpoint │ Success │ ssmmessages.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Connectivity to s3 endpoint │ Success │ s3.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Connectivity to kms endpoint │ Success │ kms.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Connectivity to logs endpoint │ Success │ logs.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Connectivity to monitoring endpoint │ Success │ monitoring.us-east-2.amazonaws.com is reachable │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ AWS Credentials │ Success │ Credentials are for │ │ │ │ arn:aws:sts::123456789012:assumed-role/SSM-Role/i-123abc45EXAMPLE │ │ │ │ and will expire at 2021-09-02 13:24:42 +0000 UTC │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Agent service │ Success │ Agent service is running and is running as expected user │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Proxy configuration │ Skipped │ No proxy configuration detected │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ Windows sysprep image state │ Success │ Windows image state value is at desired value IMAGE_STATE_COMPLETE │ ├───────────────────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────┤ │ SSM Agent version │ Success │ SSM Agent version is 3.2.815.0, latest agent version in us-east-2 │ │ │ │ is 3.2.985.0 │ └───────────────────────────────────────┴─────────┴─────────────────────────────────────────────────────────────────────┘

下表提供 ssm-cli 所執行之每項檢查的其他詳細資訊。

ssm-cli 診斷檢查
Check 詳細資訊
Amazon EC2 執行個體中繼資料服務 表示受管節點是否能夠存取中繼資料服務。失敗的測試表示 http://169.254.169.254 發生連線問題,這可能是由本機路由、代理或作業系統 (OS) 防火牆和代理組態所造成的。
混合式執行個體註冊 表示 SSM Agent 是否使用混合啟用註冊。
連線至 ssm 端點 表示此節點是否可以在 TCP 連接埠 443 上連線 Systems Manager 的服務端點。失敗的測試會https://ssm.region.amazonaws.com根據節點所在的位 AWS 區域 置指出連線問題。連線問題可能是由 VPC 組態造成,包括安全群組、網路存取控制清單、路由表或作業系統防火牆和代理。
連線至 ec2messages 端點 表示此節點是否可以在 TCP 連接埠 443 上連線 Systems Manager 的服務端點。失敗的測試會https://ec2messages.region.amazonaws.com根據節點所在的位 AWS 區域 置指出連線問題。連線問題可能是由 VPC 組態造成,包括安全群組、網路存取控制清單、路由表或作業系統防火牆和代理。
連線至 ssmmessages 端點 表示此節點是否可以在 TCP 連接埠 443 上連線 Systems Manager 的服務端點。失敗的測試會https://ssmmessages.region.amazonaws.com根據節點所在的位 AWS 區域 置指出連線問題。連線問題可能是由 VPC 組態造成,包括安全群組、網路存取控制清單、路由表或作業系統防火牆和代理。
連線至 s3 端點 表示此節點是否可以在 TCP 連接埠 443 上連線 Amazon Simple Storage Service 的服務端點。失敗的測試會https://s3.region.amazonaws.com根據節點所在的位 AWS 區域 置指出連線問題。節點無需與此端點連線,即可出現在受管節點清單中。
連線至 kms 端點

指出節點是否能夠到達 TCP 連接埠 443 AWS Key Management Service 上的服務端點。失敗的測試會https://kms.region.amazonaws.com根據節點所在的位 AWS 區域 置指出連線問題。節點無需與此端點連線,即可出現在受管節點清單中。

連線至 logs 端點 指出節點是否能夠連接 TCP 連接埠 443 上 Amazon CloudWatch 日誌的服務端點。失敗的測試會https://logs.region.amazonaws.com根據節點所在的位 AWS 區域 置指出連線問題。節點無需與此端點連線,即可出現在受管節點清單中。
連線至 monitoring 端點 指出節點是否能夠 CloudWatch 在 TCP 連接埠 443 上到達 Amazon 的服務端點。失敗的測試會https://monitoring.region.amazonaws.com根據節點所在的位 AWS 區域 置指出連線問題。節點無需與此端點連線,即可出現在受管節點清單中。
AWS 登入資料 表示 SSM Agent 基於連接到機器的 IAM 執行個體設定檔 (適用於 EC2 執行個體) 或 IAM 服務角色 (適用於非 EC2 機器) 是否具有必要的憑證。失敗的測試表示沒有 IAM 執行個體設定檔或 IAM 服務角色連接至機器,或不包含 Systems Manager 所需的許可。
代理程式服務 表示 SSM Agent 服務是否正在執行,以及服務是否以 root (適用於 Linux 或 macOS) 或 SYSTEM 的身分執行 (適用於 Windows Server)。失敗的測試表示 SSM Agent 服務未執行,或未以 root 或 SYSTEM 身分執行。
代理組態 表示 SSM Agent 是否設定為使用代理。
Sysprep 映像狀態 (僅限 Windows) 指示節點上 Sysprep 的狀態。如果 Sysprep 狀態為 IMAGE_STATE_COMPLETE 以外的值,則不會在節點上啟動 SSM Agent。
SSM Agent 版本 表示是否已安裝 SSM Agent 的最新可用版本。