VPC CIDR 块 - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

VPC CIDR 块

您的虚拟私有云(VPC)的 IP 地址以无类别域间路由(CIDR)表示法表示。VPC 必须具有一个关联的 IPv4 CIDR 块。您可以选择性地关联其他 IPv4 CIDR 块和一个或多个 IPv6 CIDR 块。有关更多信息,请参阅 为 VPC 和子网分配 IP 地址

IPv4 VPC CIDR 块

当您创建 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
重要

某些 Amazon 服务使用 172.17.0.0/16 CIDR 范围。为避免将来发生冲突,请不要在创建 VPC 时使用该范围。例如,如果您的网络中的任何地方都已使用 172.17.0.0/16 IP 地址范围,则诸如Amazon Cloud9或 Amazon 之类的服务 SageMaker 可能会遇到 IP 地址冲突。有关更多信息,请参阅《Amazon Cloud9 用户指南》中的无法连接到 EC2 环境,因为 VPC 的 IP 地址被 Docker 使用

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

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

如果您使用命令行工具或 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 块。

  • 在向作为 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 对等连接请求将失败,无法被接受。

  • 如果您使用 Amazon Direct Connect 来通过 Direct Connect 网关连接到多个 VPC,则与 Direct Connect 网关关联的 VPC 不得具有重叠的 CIDR 块。如果您将 CIDR 块连接到其中一个与 Direct Connect 网关关联的 VPC,请确保新的 CIDR 块不会与任何其他关联 VPC 的现有 CIDR 块重叠。有关更多信息,请参阅《Amazon 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 选项卡。要使用 Amazon CLI 查看主要 CIDR,请使用 describe-vpcs 命令,如下所示。主要 CIDR 返回到高级别 CidrBlock element

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

下面是示例输出。

10.0.0.0/16

IPv4 CIDR 块关联限制

下表概述了允许和受限的 VPC CIDR 块关联。限制的原因是某些 Amazon 服务使用了跨 VPC 和跨账户功能,这些功能需要在 Amazon 服务端使用无冲突的 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 范围内,介于 /16 网络掩码和 /28 网络掩码之间且不受限制的任何其他 CIDR 块。

介于 /16 网络掩码和 /28 网络掩码之间的任何可公开路由的 IPv4 CIDR 块(非 RFC 1918),或者介于 100.64.0.0/10 范围内的 /16 网络掩码和 /28 网络掩码之间的 CIDR 块。

169.254.0.0/16

RFC 5735 中所述,来自“链路本地”块的 CIDR 块属于保留块,不能分配给 VPC。

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 块,介于 /16 网络掩码和 /28 网络掩码之间,不受限制。

介于 /16 网络掩码和 /28 网络掩码之间的任何可公开路由的 IPv4 CIDR 块(非 RFC 1918),或者介于 100.64.0.0/10 范围内的 /16 网络掩码和 /28 网络掩码之间的 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 块,介于 /16 网络掩码和 /28 网络掩码之间。

介于 /16 网络掩码和 /28 网络掩码之间的任何可公开路由的 IPv4 CIDR 块(非 RFC 1918),或者介于 /16 网络掩码和 /28 网络掩码之间的 100.64.0.0/10 范围内的 CIDR 块。

198.19.0.0/16

RFC 1918* 范围中的 CIDR 块。

介于 /16 网络掩码和 /28 网络掩码之间的任何可公开路由的 IPv4 CIDR 块(非 RFC 1918),或者介于 /16 网络掩码和 /28 网络掩码之间的 100.64.0.0/10 范围内的 CIDR 块。

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

RFC 1918* 范围中的 CIDR 块。

198.19.0.0/16 范围中的 CIDR 块。

介于 /16 网络掩码和 /28 网络掩码之间的任何其他可公开路由的 IPv4 CIDR 块(非 RFC 1918),或者介于 100.64.0.0/10 范围内的 /16 网络掩码和 /28 网络掩码之间的 CIDR 块。

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

IPv6 VPC CIDR 块

创建新 VPC 时,您可以关联一个 IPv6 CIDR 块;您可以关联最多 5 个 IPv6 CIDR 块,从 /44/60,增量为 /4。您可以从 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 块。