Virtual Private Cloud (VPC) - Amazon Virtual Private Cloud

Virtual Private Cloud (VPC)

虚拟私有云 (VPC) 是仅适用于您的 AWS 账户的虚拟网络。它在逻辑上与 AWS 云中的其他虚拟网络隔绝。您可以在 VPC 内启动您的 AWS 资源,例如 Amazon EC2 实例。

VPC 基础知识

在创建 VPC 时,您必须以无类域间路由(CIDR)块的形式为 VPC 指定一个 IPv4 地址范围。示例:10.0.0.0/16。这是您的 VPC 的主要 CIDR 块。有关更多信息,请参阅 IP 寻址

VPC 跨越区域中的所有可用区。下图显示了一个新 VPC。在创建 VPC 之后,您可以在每个可用区域中添加一个或多个子网。有关更多信息,请参阅 VPC 的子网


                VPC 跨越区域中的可用区。

VPC 定型

Amazon VPC 同时支持 IPv4 和 IPv6 寻址。有关 IP 地址的更多信息,请参阅 IP 寻址

VPC 必须具有一个与之关联的 IPv4 CIDR 块。您可以选择向 VPC 关联多个 IPv4 CIDR 块和多个 IPv6 CIDR 块。

适用于 IPv4 的 VPC 定型

当您创建 VPC 时,必须为这个 VPC 指定 IPv4 CIDR 块。允许的块大小介于 /16 网络掩码 (65,536 个 IP 地址) 和 /28 网络掩码 (16 个 IP 地址) 之间。在创建 VPC 后,您可以将额外的 IPv4 CIDR 块与 VPC 关联。有关更多信息,请参阅 将额外 IPv4 CIDR 块与 VPC 关联

在创建 VPC 时,建议您指定来自私有 IPv4 地址范围的 CIDR 块(如 RFC 1918 中所指定):

RFC 1918 范围 示例 CIDR 块
10.0.0.0 - 10.255.255.255(10/8 前缀) 10.0.0.0/16
172.16.0.0 - 172.31.255.255(172.16/12 前缀) 172.31.0.0/16
192.168.0.0 - 192.168.255.255(192.168/16 前缀) 192.168.0.0/20

您可以创建一个具有公共可路由的 CIDR 块 (不在 RFC 1918 中指定的私有 IPv4 地址范围内) 的 VPC。但是,出于本文档的写作目的,我们的私有 IP 地址指的是位于 VPC 的 CIDR 范围内的 IPv4 地址。

创建 VPC 以用于 AWS 服务时,请参阅服务文档以验证其配置是否有特定要求。

如果您使用命令行工具或 Amazon EC2 API 创建 VPC,则系统会自动将 CIDR 块修改为其规范形式。例如,假设您为 CIDR 块指定 100.68.0.18/18,我们将创建一个 CIDR 块 100.68.0.0/18。

管理 VPC 的 IPv4 CIDR 块

您可以将辅助 IPv4 CIDR 块与 VPC 关联。当您将 CIDR 块与 VPC 关联时,路由会自动添加到 VPC 路由表中,以便在 VPC 中启用路由 (目的地是 CIDR 块,目标是 local。)

在下面的示例中,VPC 同时具有一个主 CIDR 块和一个辅助 CIDR 块。子网 A 和子网 B 的 CIDR 块来自主 VPC CIDR 块。子网 C 的 CIDR 块来自辅助 VPC CIDR 块。


					具有一个和多个 CIDR 块的 VPC

下面的路由表显示了 VPC 的本地路由。

目标 目标
10.0.0.0/16 本地
10.2.0.0/16 本地

要将 CIDR 块添加到 VPC,应遵循以下规则:

  • 允许的块大小在 /28 网络掩码与 /16 网络掩码之间。

  • 该 CIDR 块不得与 VPC 所关联的任何现有 CIDR 块重叠。

  • 您可以使用的 IPv4 地址范围是有限制的。有关更多信息,请参阅 IPv4 CIDR 块关联限制

  • 您不能增加或减少现有 CIDR 块的大小。

  • 可以与 VPC 关联的 CIDR 块数和可以添加到路由表的路由数是有配额的。如果这导致您超出配额,您就不能关联 CIDR 块。有关更多信息,请参阅 Amazon VPC 配额

  • CIDR 块不得与任何 VPC 路由表中的路由中的 CIDR 范围相同或大于该范围。例如,在主要 CIDR 块为 10.2.0.0/16 的 VPC 中,您的路由表中有一个指向虚拟私有网关的现有路由,目的地为 10.0.0.0/24。您要关联 10.0.0.0/16 范围内的辅助 CIDR 块。由于该现有路由,您无法关联 10.0.0.0/24 或更大的 CIDR 块。但是,您可以关联 10.0.0.0/25 或更小的辅助 CIDR 块。

  • 如果您为 ClassicLink 启用了 VPC,则可以关联 10.0.0.0/1610.1.0.0/16 范围中的 CIDR 块,但不能关联 10.0.0.0/8 范围中的任何其他 CIDR 块。

  • 在向作为 VPC 对等连接的一部分的 VPC 中添加 IPv4 CIDR 块时,应遵循以下规则:

    • 如果 VPC 对等连接为 active,则可以向 VPC 中添加 CIDR 块,条件是这些块不与对等 VPC 的 CIDR 块重叠。

    • 如果 VPC 对等连接为 pending-acceptance,则请求方 VPC 的拥有者不能向 VPC 中添加任何 CIDR 块,无论它是否与接受方 VPC 的 CIDR 块重叠。要么接受方 VPC 的拥有者必须接受对等连接,要么请求方 VPC 的拥有者必须删除 VPC 对等连接请求,添加 CIDR 块,然后请求新的 VPC 对等连接。

    • 如果 VPC 对等连接为 pending-acceptance,则接受方 VPC 的拥有者可以向 VPC 中添加 CIDR 块。如果辅助 CIDR 块与请求方 VPC 的 CIDR 块重叠,则 VPC 对等连接请求将失败,无法被接受。

  • 如果您使用 AWS Direct Connect 来通过 Direct Connect 网关连接到多个 VPC,则与 Direct Connect 网关关联的 VPC 不得具有重叠的 CIDR 块。如果您将 CIDR 块连接到其中一个与 Direct Connect 网关关联的 VPC,请确保新的 CIDR 块不会与任何其他关联 VPC 的现有 CIDR 块重叠。有关更多信息,请参阅《AWS Direct Connect 用户指南》中的 Direct Connect 网关

  • 在添加或删除 CIDR 块时,它会经历不同的状态:associating |associated |disassociating |disassociated |failing |failed 。当 CIDR 块处于 associated 状态时,表示它已准备就绪,可供您使用。

您可以取消与 VPC 相关联的 CIDR 块的关联,但无法取消最初用于创建 VPC 的 CIDR 块 (主要 CIDR 块) 的关联。要在 Amazon VPC 控制台中查看 VPC 的主要 CIDR,请选择 Your VPCs(您的 VPC),选中您的 VPC 的复选框,然后再选择 CIDR 选项卡。要使用 AWS CLI 查看主要 CIDR,请使用 describe-vpcs 命令,如下所示。主要 CIDR 返回到高级别 CidrBlock element

aws ec2 describe-vpcs --vpc-id vpc-1a2b3c4d --query Vpcs[*].CidrBlock

下面是示例输出。

[ "10.0.0.0/16", ]

IPv4 CIDR 块关联限制

下表概述了允许和受限的 VPC CIDR 块关联。

IP 地址范围 受限制的关联 允许的关联

10.0.0.0/8

其他 RFC 1918* 范围 (172.16.0.0/12 和 192.168.0.0/16) 中的 CIDR 块

如果与 VPC 关联的任何 CIDR 块属于 10.0.0.0/15 范围(10.0.0.0 至 10.1.255.255),则不能添加属于 10.0.0.0/16 范围(10.0.0.0 至 10.0.255.255)的 CIDR 块。

198.19.0.0/16 范围中的 CIDR 块。

10.0.0.0/8 范围中任何其他不受限的 CIDR 块。

任何可公开路由的 IPv4 CIDR 块 (非 RFC 1918),或 100.64.0.0/10 范围中的 CIDR 块。

172.16.0.0/12

其他 RFC 1918* 范围 (10.0.0.0/8 和 192.168.0.0/16) 中的 CIDR 块

172.31.0.0/16 范围中的 CIDR 块。

198.19.0.0/16 范围中的 CIDR 块。

172.16.0.0/12 范围中任何其他不受限的 CIDR 块。

任何可公开路由的 IPv4 CIDR 块 (非 RFC 1918),或 100.64.0.0/10 范围中的 CIDR 块。

192.168.0.0/16

其他 RFC 1918* 范围(10.0.0.0/8 和 172.16.0.0/12)中的 CIDR 块。

198.19.0.0/16 范围中的 CIDR 块。

192.168.0.0/16 范围中的任何其他 CIDR 块。

任何可公开路由的 IPv4 CIDR 块 (非 RFC 1918),或 100.64.0.0/10 范围中的 CIDR 块。

198.19.0.0/16

RFC 1918* 范围中的 CIDR 块。

任何可公开路由的 IPv4 CIDR 块 (非 RFC 1918),或 100.64.0.0/10 范围中的 CIDR 块。

可公开路由的 CIDR 块(非 RFC 1918),或 100.64.0.0/10 范围中的 CIDR 块。

RFC 1918* 范围中的 CIDR 块。

198.19.0.0/16 范围中的 CIDR 块。

任何其他可公开路由的 IPv4 CIDR 块 (非 RFC 1918),或 100.64.0.0/10 范围中的 CIDR 块。

*RFC 1918 范围是指 RFC 1918 中指定的私有 IPv4 地址范围。

适用于 IPv6 的 VPC 定型

使用账户中的现有 VPC 创建新 VPC 时,您可以关联一个 IPv6 CIDR 块;修改现有 VPC 时,您可以关联最多 5 个 IPv6 CIDR 块。CIDR 块采用 /56 的固定前缀长度。您可以从 Amazon 的 IPv6 地址池请求 IPv6 CIDR 块。有关更多信息,请参阅 将 IPv6 CIDR 块与 VPC 关联

如果您已向 VPC 关联 IPv6 CIDR 块,则可以将 IPv6 CIDR 块与 VPC 中的现有子网关联,或在创建新子网时执行此操作。有关更多信息,请参阅 IPv6 的子网定型

例如,您可以创建一个 VPC 并指定要向此 VPC 关联 Amazon 提供的 IPv6 CIDR 块。Amazon 向您的 VPC 分配以下 IPv6 CIDR 块:2001:db8:1234:1a00::/56。无法自行选择 IP 地址范围。您可以创建一个子网并从此范围分配 IPv6 CIDR 块;例如,2001:db8:1234:1a00::/64

您可以取消 IPv6 CIDR 块与 VPC 的关联。在取消 IPv6 CIDR 块与 VPC 的关联后重新关联它们时,不一定会收到相同的 CIDR 块。