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

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

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

最低需求

若要讓 Amazon EC2 執行個體或非 EC2 機器由 AWS Systems Manager 管理,並在受管節點清單中可用,其必須符合三個主要要求:

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

    部分 AWS 管理的 EC2 Amazon Machine Images (AMIs) 設定為透過預先安裝的 SSM Agent 啟動執行個體。(您還可以設定自訂 AMI 以預先安裝 SSM Agent。) 如需詳細資訊,請參閱 尋找預先安裝了 SSM Agent的 AMIs

  • AWS Identity and Access Management (IAM) 執行個體設定檔 (適用於 EC2 執行個體) 或 IAM 服務角色 (適用於非 EC2 機器),可提供與 Systems Manager 服務通訊的必要許可,且必須連接至相應機器。

  • 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

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

注意

ssmmessagess3kmslogsmonitoring 端點的連線檢查適用於其他可選功能,例如可登入 Amazon Simple Storage Service (Amazon S3) 或 Amazon CloudWatch Logs,並使用 AWS Key Management Service (AWS KMS) 加密的 Session Manager。

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 Logs 的服務端點。失敗的測試表示與 https://logs.region.amazonaws.com (取決於節點所在的 AWS 區域) 的連線存在問題。節點無需與此端點連線,即可出現在受管節點清單中。
連線至 monitoring 端點 表示此節點是否可以在 TCP 連接埠 443 上連線 Amazon CloudWatch 的服務端點。失敗的測試表示與 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 的最新可用版本。