跨账号VPC通过Transit Gateway访问S3接口端点的DNS配置疑问
场景背景
我正尝试从Pear账号的VPC,通过跨账号Transit Gateway访问Apple账号VPC中托管的S3 VPC接口端点,要求继续使用默认服务域名(如*.s3.amazonaws.com)而非VPC端点自定义DNS。已完成以下配置:
- 启用VPC端点的私有DNS选项(仅将入站解析器端点设为true)
- 中转网关路由已包含VPC端点所在子网的路由
但Pear网络仍无法正常解析S3 DNS,存在以下疑问:
- 是否需要自行管理Private Hosted Zones及其他记录,还是部署VPC接口端点后会自动管理?
- 是否需要自行部署DNS入站解析器端点,并将其IP配置到Pear VPC的DHCP选项集中?
另外参考AWS相关文档时看到:若从VPC外部(跨VPC或本地)访问接口端点,需搭建DNS架构,将服务域名的DNS查询转发至接口端点所在VPC的Amazon提供的DNS服务器,想明确这具体指什么?入站解析器端点的思路是否正确?除部署VPC接口端点外,还需进行哪些额外配置?
问题解答
1. Private Hosted Zones的管理逻辑
当你在Apple账号VPC中创建S3接口端点并启用私有DNS选项后,AWS会自动在该VPC关联的默认私有托管区域(如amazonaws.com私有HZ)中生成对应DNS记录,无需手动创建或维护这些记录。但注意:这些自动生成的记录仅对Apple账号的VPC内部生效,跨账号的Pear VPC无法直接感知——默认私有托管区域不会自动共享给其他账号的VPC。
2. 入站解析器端点的必要性与配置逻辑
你的思路方向是正确的,文档中提到的DNS架构搭建可拆解为以下具体逻辑:
让Pear VPC内针对
*.s3.amazonaws.com的DNS查询请求,通过转发机制发送到Apple账号VPC的Amazon DNS服务器(即VPC CIDR+2地址,比如VPC网段是10.0.0.0/16,DNS地址就是10.0.0.2),而非由Pear VPC自行解析这些域名。
具体实现步骤:
- 在Apple账号VPC部署DNS入站解析器端点:该端点允许外部(Pear VPC)的DNS查询进入Apple VPC并转发到Amazon DNS服务器。需为端点配置安全组,允许Pear VPC的CIDR范围发起UDP/TCP 53端口的DNS请求。
- 在Pear账号VPC配置DNS转发规则:创建Route 53 Resolver规则,将
*.s3.amazonaws.com的查询转发到Apple账号DNS入站解析器端点的IP地址。同时确保Pear VPC的DHCP选项集使用默认Amazon DNS服务器(或自定义DNS服务器能触发这条转发规则)。 - 验证路由连通性:确认Transit Gateway路由表中,Pear VPC到Apple VPC入站解析器端点所在子网的路由已生效,且两个VPC的安全组、网络ACL允许DNS流量(UDP/TCP 53)双向通行。
额外需完成的配置
除已完成的两项配置外,还需:
- 配置跨账号权限:Apple账号需授权Pear账号的Transit Gateway访问其VPC端点;同时Apple账号的VPC端点策略要允许Pear账号的VPC CIDR或IAM实体访问S3资源。
- 确认DNS转发优先级:Pear VPC的Resolver规则需确保
*.s3.amazonaws.com的查询优先转发到Apple的入站解析器,而非走公共DNS解析。 - 检查安全组与网络ACL:Apple VPC的入站解析器端点安全组需允许Pear VPC CIDR的53端口流量;Apple VPC的VPC端点安全组需允许Pear VPC CIDR访问S3接口端点的443端口;Pear VPC的安全组需允许出站的53和443流量到Apple VPC的对应资源。
内容的提问来源于stack exchange,提问作者dernat71

