在 AWS 中,如何为加入私有子网中的 AWS AD 域的实例配置 SSM?

In AWS, how do I configure SSM for an instance joined to an AWS AD Domain in a Private Subnet?

我正在尝试在 Windows 上设置 SSM。 我在私有子网中有一个 ASG(绝对 0 互联网访问)。我不能使用 NAT,只能使用 VPC 端点。 在实例启动配置中,我有一个使用 Set-DnsClientServerAddress 的 PowerShell 脚本,以便实例可以找到并加入 AWS Managed MS AD 服务。我还想设置实例,以便可以使用 SSM 对其进行全面管理。

问题来自 DNS 客户端服务器地址。 当我将其设置为匹配 AD 服务的地址时,SSM 将无法工作。 当我保留默认的 DNS 客户端服务器地址时,SSM 工作但我无法加入 AD。

我尝试通过创建 amazon-ssm-agent.json 文件并在其中设置所有三个端点来强制 SSM 代理使用端点。这允许实例显示在托管实例列表中,但它的状态从 pending 开始从未改变,并且来自实例内部的请求仍然超时。

有谁知道让这些东西同时工作的神奇方法吗?

编辑 1:

我也尝试按照此线程中的描述添加转发,但是我要么遗漏了一些东西,要么它不适合我的情况: https://forums.aws.amazon.com/thread.jspa?messageID=919331&#919331

事实证明,按照上面 link 中的描述添加转发器是有效的。我缺少的部分是 joedaws 评论,“我还会删除现有的 169.254.169.253 条目,以便列表中只有 10.201.0.2 IP 地址”。

当然,我的 IP 是不同的,但是一旦我删除了预先存在的转发,那么我的 x.x.x.2 IP 就是列表中的唯一 IP(我为两个 AD DNS 服务器都这样做了)该实例可由 SSM 发现。

所以,我会对 saugy 写的列表做一个小改动:

  1. 在加入域的 windows 实例上,使用 AD 域管理员用户登录
  2. 打开 DNS 管理器
  3. 连接到 AWS AD 的 DNS IP 地址之一
  4. Select 货代
  5. 添加 VPC 的 DNS IP(x.x.x.2 来自您的 VPC 的 CIDR 范围)
  6. 删除现有IP(这样你VPC的IP是唯一的)
  7. 点击应用
  8. 从第 3 步开始重复使用 AWS AD 的另一个 DNS IP 地址(不是 1

另外,如其他post所述。这只需执行一次,并且设置会保留在 AD DNS 中。