使用 ssm-cli 排除托管节点可用性的故障 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 ssm-cli 排除托管节点可用性的故障

ssm-cli 是包含在 SSM Agent 安装中的独立命令行工具。在计算机上安装 SSM Agent 3.1.501.0 或更高版本时,可以在该计算机上运行ssm-cli命令。这些命令的输出可帮助您确定计算机是否满足管理的 Amazon EC2 实例或非 EC2 计算机的最低要求 Amazon Systems Manager,从而将其添加到 Systems Manager 的托管节点列表中。 (3.1.501.0 SSM Agent 版本已于 2021 年 11 月发布。)

最低要求

要让 Amazon EC2 实例或非 EC2 计算机由 Amazon Systems Manager托管节点管理并在托管节点列表中可用,它必须满足三个主要要求:

  • SSM Agent 必须在具有受支持的操作系统的计算机上安装和运行。

    一些适用于 EC2 的 Amazon 托管 Amazon Machine Images (AMIs) 配置为启动SSM Agent预安装的实例。(您还可以配置自定义 AMI 以预安装 SSM Agent。) 有关更多信息,请参阅 预安装了 SSM Agent 的 Amazon Machine Images(AMIs)

  • 必须将 Amazon Identity and Access Management 提供与 Systems Manager 服务通信所需权限的 (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

该命令以类似于下表的形式返回输出。

注意

ssmmessages、、s3kmslogs、和monitoring终端节点的连接检查是为了获得其他可选功能,例如Session Manager可以登录到亚马逊简单存储服务 (Amazon S3) Service 或 Amaz CloudWatch on Logs,并 Amazon Key Management Service 使用Amazon 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具体取决于节点所在 Amazon Web Services 区域 的位置。连接问题可能由 VPC 配置引起,包括安全组、网络访问控制列表、路由表或操作系统防火墙和代理。
连接到 ec2messages 端点 指示节点是否能够在 TCP 端口 443 上访问 Systems Manager 的服务端点。测试失败表示与节点的连接存在问题,https://ec2messages.region.amazonaws.com具体取决于节点所在 Amazon Web Services 区域 的位置。连接问题可能由 VPC 配置引起,包括安全组、网络访问控制列表、路由表或操作系统防火墙和代理。
连接到 ssmmessages 端点 指示节点是否能够在 TCP 端口 443 上访问 Systems Manager 的服务端点。测试失败表示与节点的连接存在问题,https://ssmmessages.region.amazonaws.com具体取决于节点所在 Amazon Web Services 区域 的位置。连接问题可能由 VPC 配置引起,包括安全组、网络访问控制列表、路由表或操作系统防火墙和代理。
连接到 s3 端点 指示节点是否能够在 TCP 端口 443 上访问 Amazon Simple Storage Service 的服务端点。测试失败表示与节点的连接存在问题,https://s3.region.amazonaws.com具体取决于节点所在 Amazon Web Services 区域 的位置。节点无需连接到此端点,即可在托管式节点列表中显示。
连接到 kms 端点

表示节点是否能够访问 TCP 端口 443 Amazon Key Management Service 上的服务端点。测试失败表示与节点的连接存在问题,https://kms.region.amazonaws.com具体取决于节点所在 Amazon Web Services 区域 的位置。节点无需连接到此端点,即可在托管式节点列表中显示。

连接到 logs 端点 表示节点是否能够通过 TCP 端口 443 访问 Amazon CloudWatch Logs 的服务终端节点。测试失败表示与节点的连接存在问题,https://logs.region.amazonaws.com具体取决于节点所在 Amazon Web Services 区域 的位置。节点无需连接到此端点,即可在托管式节点列表中显示。
连接到 monitoring 端点 表示节点是否能够通过 TCP 端口 443 访问亚马逊 CloudWatch 的服务终端节点。测试失败表示与节点的连接存在问题,https://monitoring.region.amazonaws.com具体取决于节点所在 Amazon Web Services 区域 的位置。节点无需连接到此端点,即可在托管式节点列表中显示。
Amazon 凭证 指示 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。