在 AWS 不同账号之间 使用 VPC Peering(虚拟私有云对等连接)可以让两个 VPC 安全地互相通信,即使它们在不同的 AWS 账户中。这个过程分为 发起者账号 和 接受者账号 两部分。以下是详细的操作步骤:
🧭 前提条件
- 两个 VPC 不能有重叠的 CIDR 地址范围。
- 双方都要有操作权限(比如 IAM 权限允许创建、接受 Peering)。
- 双方的 Region 要么相同,要么支持跨区域 Peering。
🔧 步骤详解
1️⃣ 发起 Peering(在账号 A)
假设账号 A 中的 VPC 要连接账号 B 中的 VPC:
- 登录账号 A 的 AWS 控制台。
- 打开 VPC 控制台。
- 点击左侧导航中的 Peering Connections(对等连接)。
- 点击 Create Peering Connection(创建对等连接)。
- 配置参数:
- Peering connection name(可选): 命名此连接。
- VPC (Requester): 选择本账号中的发起方 VPC。
- Account: 选择 "Another account"。
- Account ID: 填写账号 B 的 AWS 账号 ID。
- VPC (Accepter): 输入账号 B 中的目标 VPC ID 和 Region(如果跨区域)。
点击 Create Peering Connection。
2️⃣ 接受 Peering(在账号 B)
- 登录账号 B 的 AWS 控制台。
- 打开 VPC 控制台 → Peering Connections。
- 找到状态为 "Pending Acceptance" 的 Peering。
- 选中它,然后点击 Actions > Accept Request。
- 点击确认。
3️⃣ 修改路由表(双方向都要做)
即使 Peering 建立完成,还需要更新两个 VPC 的 路由表,以便互相通信。
- 在 每个 VPC 中的路由表 添加:
- 目标(Destination):对方 VPC 的 CIDR。
- 目标(Target):选择刚创建的 VPC Peering Connection。
4️⃣ 配置安全组和网络 ACL(可选但重要)
- 确保两个 VPC 的 安全组(Security Group)和 NACL 允许来自对方 VPC CIDR 范围的流量。
- 例如允许 TCP/UDP/ICMP,端口范围要根据需求配置。
✅ 验证连接
你可以在两个 VPC 的 EC2 实例之间使用 ping、curl 或其他方式测试连通性。
💡 补充建议
可以使用 AWS CLI 或 Terraform 自动化配置。
若需进行更多复杂通信(如共享服务),也可以考虑 Transit Gateway(适合多VPC架构)。