EC2实例无法连接SecretsManager:域名解析失败求助
解决EC2 Ubuntu实例无法解析SecretsManager域名的问题
核心问题定位
从报错和测试结果来看,问题本质是DNS解析失败:外网域名(如谷歌)可正常访问,但AWS SecretsManager的标准域名secretsmanager.us-east-2.amazonaws.com无法被解析。结合你已配置VPC终端节点的情况,重点排查终端节点DNS配置、VPC DNS设置及systemd-resolved的解析行为。
1. 检查VPC终端节点的私有DNS设置
你创建的SecretsManager VPC终端节点必须开启私有DNS名称,否则无法通过标准域名解析到终端节点的私有IP:
- 进入AWS VPC控制台,找到目标SecretsManager终端节点
- 查看「详细信息」中的「私有DNS名称」状态,确保为
已启用 - 若未启用,编辑终端节点并勾选「启用私有DNS名称」
2. 验证systemd-resolved的解析行为
Ubuntu默认使用systemd-resolved的本地 stub 解析器(127.0.0.53),它依赖VPC内部DNS(通常是VPC网段第二个IP,如10.0.0.2)解析AWS私有域名:
- 执行命令验证解析结果:
resolvectl query secretsmanager.us-east-2.amazonaws.com - 若返回「未找到」,说明systemd-resolved未同步VPC内部DNS的解析记录,尝试重启服务:
sudo systemctl restart systemd-resolved
3. 直接测试VPC内部DNS解析
跳过本地stub解析器,用VPC内部DNS服务器直接测试:
dig @<VPC内部DNSIP> secretsmanager.us-east-2.amazonaws.com
(替换<VPC内部DNSIP>为你VPC网段的第二个IP,比如VPC网段是10.0.0.0/16则填10.0.0.2)
- 若返回私有IP(属于你的VPC网段),说明VPC内部DNS正常,问题出在systemd-resolved同步上;若仍无法解析,检查VPC的DHCP选项集是否设置为
AmazonProvidedDNS。
4. 检查VPC终端节点安全组入站规则
终端节点的安全组需允许EC2实例所在安全组的443端口访问:
- 协议:TCP
- 端口:443
- 来源:EC2实例的安全组ID
5. 确认VPC的DNS配置完整性
除了已启用的「Enable DNS Resolution」,还要确保VPC的「Enable DNS Hostnames」也处于启用状态:
- 进入VPC控制台,查看目标VPC的「DNS主机名」状态为
已启用,该选项影响实例获取私有DNS名称的能力。
内容的提问来源于stack exchange,提问作者DataSwede
相关产品推荐
相关产品推荐

