📜  aws ssm 代理已安装但未显示在托管实例中 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:39:25.398000             🧑  作者: Mango

问题描述

在托管实例中安装了 AWS Systems Manager (SSM) 代理,但在 SSM 控制台的 "托管实例" 页面中未显示该实例。

问题分析

  1. SSM 代理未正确安装或配置。
  2. 实例未与 SSM 代理关联。

解决方案

步骤 1: 确认 SSM 代理安装和配置

首先,确保正确安装和配置了 SSM 代理。

  1. 登录到目标实例。
  2. 打开命令行终端。
  3. 运行以下命令检查 SSM 代理是否已安装:
sudo systemctl status amazon-ssm-agent

如果代理已安装并正在运行,应该会看到类似以下输出:

● amazon-ssm-agent.service - Amazon EC2 Simple Systems Manager (SSM) Agent
   Loaded: loaded (/lib/systemd/system/amazon-ssm-agent.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2021-01-01 00:00:00 UTC;  1h ago
 ...
  1. 如果代理未安装或未运行,请按照官方文档或使用以下命令安装和启动代理:
sudo snap install amazon-ssm-agent --classic
sudo systemctl start amazon-ssm-agent
sudo systemctl enable amazon-ssm-agent
  1. 确认代理已成功启动。
步骤 2: 确认实例与 SSM 代理关联

如果代理已正确安装和配置,但仍未在 SSM 控制台的 "托管实例" 页面中显示,请检查实例与代理的关联。

  1. 登录到 AWS 管理控制台。
  2. 导航到 "Systems Manager" 服务。
  3. 单击左侧导航菜单中的 "托管实例"。
  4. 检查是否选择了正确的 AWS 区域。
  5. 检查实例的标签和实例 ID 是否准确。
  6. 运行以下 AWS CLI 命令,确认实例与代理的关联:
aws ssm describe-instance-information --filters Key=InstanceIds,Values=<实例ID>

确保替换 <实例ID> 为目标实例的实际 ID。

  1. 检查命令输出中的 "PingStatus" 列。如果该列显示为 "Online",则表示实例与代理正常关联。如果是 "ConnectionLost" 或 "Inactive",则表示与代理的关联存在问题。
步骤 3: 检查网络和安全组设置

如果实例仍未显示在 "托管实例" 页面中,可能是由于网络或安全组设置引起的。

  1. 检查实例所在的子网和 VPC 的网络配置是否正确,确保实例可以与 SSM 服务进行通信。

  2. 检查实例的安全组设置,确保允许与 SSM 服务的通信。可以尝试添加以下规则:

    • 协议:TCP,端口:443,源/目标:0.0.0.0/0,描述:"Allow SSM"
  3. 重新启动实例,然后再次检查是否正确显示在 "托管实例" 页面中。

如果通过上述步骤仍然无法解决问题,请参考 AWS 官方文档或联系 AWS 支持获取进一步的帮助。

希望这些信息对您有所帮助!