2

我将策略:AmazonSSMManagedInstanceCore 添加到 Windows 实例(正在运行 SSM 代理)的实例配置文件中......但它没有显示在会话管理器下。

它一直说:“没有与所需的 IAM 角色相关联的实例。” 知道是什么原因造成的吗?

(我也尝试过使用 amazon linux 2 实例——结果相同)。

编辑:是的,实例位于私有子网中,可能无法访问互联网——所以这可能是问题所在。

4

3 回答 3

1

aws 会话管理器使用 SSM api(使用 websockets)与 ec2 实例建立通信。您的实例所在的子网必须能够访问 Internet,例如通过 NAT 网关(如果它位于私有子网中),或者您必须创建以下 VPC 终端节点:

  • com.amazonaws.[区域].ec2messages
  • com.amazonaws.[区域].ssmmessages
于 2021-05-12T22:44:55.380 回答
1

如果您为此私有子网配置了 NAT 网关,则将实例放在私有子网中对 SSM 来说不是问题(确保私有子网可以访问公共互联网,私有子网 -> NAT 网关 -> 公共子网 -> 互联网网关) .

SSM 要查看实例需要三个先决条件:

  1. SSM 代理应运行
  2. IAM 权限。将策略“AmazonSSMManagedInstanceCore”附加到附加到实例的角色。(附加策略后您可能需要重新启动实例)
  3. 与服务端点的连接。(如果您更改了出站规则,请尝试使用 0.0.0.0 让所有流量离开实例作为测试)

希望以上能解决你的问题。

于 2021-06-09T11:05:19.997 回答
0

b.b3rn4rd是正确的(刚刚测试过)如果您缺少 NAT 网关,您需要两个 VPC 端点用于私有子网

  • com.amazonaws.[区域].ec2messages
  • com.amazonaws.[区域].ssmmessages

但是您需要为 Systems Manager 本身增加一个 VPC 终端节点

  • com.amazonaws.[地区].ssm

当系统管理器无法连接到 EC2 实例时,您可以从 AWS自己的故障排除步骤中看到:

验证与端口 443 上的 Systems Manager 端点的连接

验证连接性的最佳方法取决于您的操作系统。

重要提示:在以下命令示例中,将 RegionID 替换为您的 AWS 区域 ID。

有关按区域列出的 Systems Manager 终端节点列表,请参阅 AWS Systems Manager 终端节点和配额。

...

nc -vz ssm.RegionID.amazonaws.com 443 
nc -vz ec2messages.RegionID.amazonaws.com 443 
nc -vz ssmmessages.RegionID.amazonaws.com 443 

还需要确保 VPC 端点所在的安全组具有入站规则,该规则允许来自实例所在的 SG 的所有入站 TCP 流量。

于 2021-10-10T14:11:43.223 回答