使用 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 月发布。)

最低要求

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

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

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

  • 必须将与 Systems Manager 服务进行通信提供所需权限的 AWS Identity and Access Management(IAM)实例配置文件(适用于 EC2 实例)或服务角色(适用于非 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

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

注意

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。