You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Directory Services无法解析VPC内私有IP资源问题求助

解决VPC内Microsoft AD导致DNS解析异常的问题

嘿,我之前在AWS上搭Microsoft AD的时候也碰到过一模一样的DNS问题,折腾了好一阵才搞定,给你几个亲测有效的排查和解决步骤:

1. 先检查VPC的DHCP选项集配置

这是最基础的一步,得确保VPC里的资源都用AD的DNS服务器来解析:

  • 登录AWS控制台,进入VPC服务,找到「DHCP选项集」,查看你的VPC关联的选项集里,domain-name-servers是不是设置成了Microsoft AD域控制器的私有IP(别用默认的VPC Resolver地址,比如VPC网段+2)。
  • 如果之前是默认的选项集,得新建一个指向AD私有IP的DHCP选项集,再关联到你的VPC上。

2. 给Microsoft AD配置DNS转发规则(重中之重)

这是解决Route53解析失败、RDS返回公网IP的核心!默认情况下AD的DNS不知道怎么处理AWS内部域名,得让它把这些请求转发给VPC Resolver:

  • 远程登录到你的AD域控制器,打开「DNS管理器」。
  • 右键点击你的AD域名,选「属性」→「转发器」,点击「编辑」,添加你的VPC Resolver地址(就是VPC网段的第二个IP,比如VPC是10.1.0.0/16,那就是10.1.0.2)。
  • 要是你有自己的Route53托管域,还得设置条件转发器:右键DNS管理器里的「条件转发器」→「新建条件转发器」,输入你的托管域名,再添加VPC Resolver地址,勾选「存储在Active Directory中」,选好复制范围就行。
    这样AD收到AWS相关域名的请求时,就会转交给VPC Resolver,就能拿到正确的私有IP或者Route53记录了。

3. 验证RDS和Route53的解析结果

改完配置后,得测试一下是不是生效了:

  • 在VPC内的EC2实例上,用nslookup your-rds-instance.rds.amazonaws.com命令测试,看看返回的是不是RDS的私有IP。
  • 再测试你的Route53托管域名,比如nslookup your-domain.example.com,看能不能拿到正确的记录。

4. 检查安全组和网络ACL的流量权限

别让安全组或者ACL挡住了DNS流量:

  • 确保AD域控制器的安全组允许VPC内所有资源的UDP/TCP 53端口入站请求。
  • 确保AD域控制器能访问VPC Resolver,网络ACL要允许UDP/TCP 53的出站和入站流量。

5. 刷新DNS缓存

不管是EC2实例还是AD域控制器,旧的DNS缓存可能会干扰测试,赶紧清掉:

  • Windows实例:打开命令提示符,跑ipconfig /flushdns。
  • Linux实例:根据发行版来,比如systemd-resolve --flush-caches或者service nscd restart。

补充一句:之前AWS支持应该也会提到,核心逻辑就是让AD DNS作为VPC内的主要DNS服务,同时把AWS专属域名的请求转发给VPC Resolver,这样既满足AD的域内解析需求,又能正常解析AWS的内部资源。

内容的提问来源于stack exchange,提问作者Chris Smeal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:54:52