在 AWS 中通过 VPC 对等连接实现跨账户内网互通:A 账号 Nginx 访问 B 账号服务指南
AWS 提供了 VPC 对等连接(VPC Peering)功能,使不同账号下的 VPC 网络可以安全地实现私有 IP 通讯。本文将简要介绍如何让 A 账号 中的 Nginx 服务通过内网访问 B 账号 的服务。
🌐 步骤1:创建 VPC 对等连接
- A 账号 或 B 账号 发起 VPC 对等连接请求,填写对方 VPC 的 ID 和账号。
- 对方账号登录后,在 AWS 控制台 “VPC -> Peering Connections” 页面接受请求。
🔁 步骤2:配置路由表
- 在 A 账号 和 B 账号 的相关 VPC 路由表中,添加到对方 VPC 地址段的路由,
目标指向刚建立的 Peering Connection。
- 示例:A VPC CIDR 为 10.0.0.0/16,B VPC CIDR 为 192.168.0.0/16。那么在 A 的路由表中添加 目标 192.168.0.0/16 ,下一跳为对等连接 ID,B 反之亦然。
🔒 步骤3:安全组与网络 ACL 设置
- 确保 B 账号 的服务实例(如 EC2)的 Security Group 允许来自 A VPC 段的入站流量(对应端口,如 80/443)。
- 若有限制,A 账号 的实例也需放通出站到 B VPC 段和目标端口。
- 同时检查 Network ACL,有需要同样放通对端流量。
🚦 步骤4:DNS 解析处理(如适用)
- 若使用 AWS Private Hosted Zone,需跨账户授权解析,或者直接用对方实例私网 IP 地址。
🍀 步骤5:Nginx 配置示例(A账号)
location /b-service/ {
proxy_pass http://192.168.x.x:8080/; # B 账号实例的私有 IP 及端口
}
现在,A 账号下的 Nginx 就能通过内网方式访问 B 账号服务,无需公网流量,通信更安全高效!🚀
✅ 常见问题
- 对等连接不支持传递路由,不能通过第三方转发 VPC 流量。
- 请定期审核安全组和路由,避免过度暴露资源。
- 若遇访问失败,可用 ping、telnet 或 nc 工具测试连通性。
🎉 总结
通过 AWS VPC 对等连接,两账户内的 VPC 就像单一内网一样互联,只要配置恰当,即可轻松实现服务间的安全高速访问。如果有更复杂场景需求,也可考虑 Transit Gateway 或 VPN 等方案。