VPC 与 subnet:AWS 对照
验证:未记录
- 适用版本
- 未记录
- 验证范围
- 尚未登记验证记录。
本文说明普通 GCP VPC 的资源范围、 subnet 地址规划,以及与 AWS VPC 的区别。
与 AWS 的对应关系#
| 层级 | AWS | GCP |
|---|---|---|
| VPC | 属于一个 Region,可覆盖其中多个 AZ | 全局资源,可包含多个 Region 的 subnet |
| Subnet | 属于一个 AZ | 属于一个 Region,可供其中所有 Zone 使用 |
| VM | 位于一个 AZ | 位于一个 Zone |
| IPv4 地址规划 | 给 VPC 分配 CIDR,再从中划分 subnet | VPC 没有总 CIDR,直接给各 subnet 分配 CIDR |
参考:AWS VPC、AWS subnet、GCP VPC。
“全局 VPC”体现在哪里#
全局表示 VPC 本身不绑定 Region 或 Zone。不同 Region 的 subnet 可以指向同一个 VPC 资源:
VPC:my-network
资源路径:projects/PROJECT_ID/global/networks/my-network
│
├─ 东京 subnet:10.10.0.0/24
│ region = asia-northeast1
│ network = my-network
│
└─ 美国 subnet:10.20.0.0/24
region = us-central1
network = my-network创建 subnet 会自动生成 VPC 范围的路由;普通 VM 可跨 Region 使用内部 IP 通信,仍需 firewall 放行,无须 Peering / VPN。VM 部署和应用容灾需另行配置。VPC
具体路由机制、访问许可与跨 VPC 配置见 VPC 通信与路由。
一个 Region 可以有多个 subnet#
同一 VPC、同一 Region 可创建多个 subnet,各自供该 Region 的所有 Zone 使用。例如:
VPC:my-network(全局)
├─ 新加坡 Region:asia-southeast1
│ ├─ subnet-sg-1:10.10.1.0/24
│ └─ subnet-sg-2:10.10.2.0/24
└─ 东京 Region:asia-northeast1
└─ subnet-tokyo:192.168.10.0/24创建 VM 时,Zone 和 subnet 分别选择#
Zone 决定 VM 的部署位置;subnet 决定网卡的网络和内部 IP 地址池。 两者都关联 Region,并非上下级;VM 网卡须选择同 Region 的 subnet。
| VM 所在 Zone | 可以选择的 subnet | 内部 IP 示例 |
|---|---|---|
新加坡 asia-southeast1-a |
subnet-sg-1 或 subnet-sg-2 |
选择前者可分配 10.10.1.10,选择后者可分配 10.10.2.10 |
新加坡 asia-southeast1-b |
subnet-sg-1 或 subnet-sg-2 |
选择前者可分配 10.10.1.20,选择后者可分配 10.10.2.20 |
东京 asia-northeast1-a |
subnet-tokyo |
可分配 192.168.10.10 |
这些 IP 仅用于说明地址池,实际地址由系统分配或按规则指定。新加坡 VM 不能直接选择东京 subnet,但可以通过同 VPC 的路由访问东京 VM,访问仍受防火墙约束。
一个 subnet 可以供不同 Zone 的 VM 使用#
例如,两台新加坡 VM 都选择 subnet-sg-1:
新加坡 Region:asia-southeast1
├─ subnet subnet-sg-1:10.10.1.0/24
├─ Zone asia-southeast1-a:VM A → 接入 subnet-sg-1,IP 10.10.1.10
└─ Zone asia-southeast1-b:VM B → 接入 subnet-sg-1,IP 10.10.1.20同一 Zone 的 VM 也可分别使用 subnet-sg-1、subnet-sg-2,无须按 Zone 划分 subnet。
GCP subnet 可跨同 Region 的 Zone,不能跨 Region;AWS subnet 则绑定一个 AZ。位置关系
划分 subnet 不等于隔离通信。 同 VPC 的不同 subnet 默认具有相应路由;用 firewall 明确限制来源、目标与协议。
地址范围与重叠规则#
GCP VPC 无须预先分配一个很大的总 CIDR。各 subnet 的地址段可以不连续,例如同一 VPC 中分别使用 10.10.0.0/24、10.20.0.0/24 和 192.168.10.0/24。
但所有 subnet 的主、次要 IPv4 地址范围都必须遵守重叠限制:
| 场景 | 能否重叠 |
|---|---|
| 同一 VPC、同一 Region 的不同 subnet | 不能 |
| 同一 VPC、不同 Region 的 subnet | 不能 |
| 两个独立且未互联的 VPC | 可以 |
| 需要建立 VPC Peering 的两个 VPC | 不能存在重叠的 subnet IPv4 范围 |
未来需要连接其他 VPC 或公司内网时,提前统一地址规划。IPv4 范围限制
用多个 VPC 实现网络隔离#
同一个 Project(项目)中可以创建多个全局 VPC,并只在指定 Region 创建各自的 subnet:
Project
├─ VPC A(全局)
│ └─ 东京 subnet:10.10.0.0/24
│ region = asia-northeast1
└─ VPC B(全局)
└─ 美国 subnet:10.10.0.0/24
region = us-central1两个 subnet 属于独立 VPC,因此可以使用相同地址范围。即使都位于东京,也可以重复。两个 VPC 不会因为位于同一 Project 或 Region 就自动私网互通;需要互通时,应配置 Peering 等连接,并满足其地址限制。
与 AWS 独立 VPC 的隔离思路相同,但 GCP VPC 后续可添加其他 Region 的 subnet。VPC
创建资源时如何选择位置#
AWS 控制台切换 Region,通常会切换当前查看和操作的区域性资源。GCP 通常先选择 Project,再在创建区域性资源时选择 Region、创建 VM 时选择 Zone。控制台的位置筛选与切换,本身并不是权限隔离机制。
在 GCP 中,可以分别理解这些边界:
- Project:资源归属及权限、配额管理的重要边界。
- VPC:私有网络边界。
- Region / Zone:资源的部署位置。
对于上面的例子,东京 VM 选择东京的 Zone、VPC A 和东京 subnet;美国 VM 选择美国的 Zone、VPC B 和美国 subnet。GCP 资源范围说明
Auto mode、Custom mode 与 Network profile#
| 配置 | 含义 |
|---|---|
| Auto mode | 每个 Region 自动创建一个 subnet;这是自动创建行为,并非每个 Region 只能有一个 subnet |
| Custom mode | 初始没有 subnet,由你选择 Region 和地址范围创建 subnet |
| 不指定 Network profile | 创建普通 VPC,适用本文所述全局网络模型 |
| 指定 Network profile | 用于特定网络用途,如 RDMA;使用资源需遵守该 profile 的位置与功能限制 |
Network profile 中的 Region 或 Zone 是特定用途的位置约束。普通 VPC 本身没有要选择的 Zone;VM 的 Zone 和 subnet 的 Region 在创建这些资源时确定。