Amazon Virtual Private Cloud
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

VPC 和子网

要开始使用 Amazon Virtual Private Cloud (Amazon VPC),您需要创建一个 VPC 和多个子网。有关 Amazon VPC 的一般概述,请参阅Amazon VPC 是什么?

VPC 和子网基础知识

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

在创建 VPC 时,您必须以无类域间路由 (CIDR) 块的形式为 VPC 指定 IPv4 地址范围;例如,10.0.0.0/16。有关 CIDR 表示法的详细信息,请参阅 RFC 4632

下图显示了具有 IPv4 CIDR 块的新 VPC 及主路由表。

 具有主路由表的 VPC

当您创建 VPC 时,它跨越区域中的所有可用区。在创建 VPC 之后,您可以在每个可用区域中添加一个或多个子网。 在创建子网时,指定子网的 CIDR 块,它是 VPC CIDR 块的子集。每个子网都必须完全位于一个可用区域之内,不能跨越多个可用区域。可用区域是被设计为可以隔离其他可用区域的故障的不同位置。通过启动独立可用区内的实例,您可以保护您的应用程序不受单一位置故障的影响。我们为每个子网指定一个唯一 ID。

您还可以选择为 VPC 及子网分配 IPv6 CIDR 块。

下图展示了一个在多个可用区域内配置子网的 VPC。1A、1B、2A 和 3A 是 VPC 中的实例。此 VPC 以及子网 1 各自关联了一个 IPv6 CIDR 块。Internet 网关允许在 Internet 上通信,虚拟私有网络 (VPN) 连接可实现与您公司网络的通信。

有多个可用区域的 VPC

如果一个子网的数据流可被路由到 Internet 网关,这个子网便是公有子网。在此图中,子网 1 是公有子网。如果您希望公有子网中的实例通过 IPv4 与 Internet 通信,该子网必须具有公有 IPv4 地址或弹性 IP 地址 (IPv4)。有关公有 IPv4 地址的更多信息,请参阅公有 IPv4 地址。如果您希望公有子网中的实例通过 IPv6 与 Internet 进行通信,则它必须具有 IPv6 地址。

如果一个子网没有通向 Internet 网关的路由,这个子网便是私有子网。在此图中,子网 2 是私有子网。

如果一个子网没有通向 Internet 网关的路由,但其流量会被路由到虚拟专用网关进行 VPN 连接,这个子网便是仅限 VPN 子网。在此图中,子网 3 是仅限 VPN 的子网。我们目前不支持通过 VPN 连接的 IPv6 流量。

有关更多信息,请参阅场景和示例Internet 网关在您的 VPC 中添加硬件虚拟专用网关

注意

无论子网是哪种类型,子网的内部 IPv4 地址范围始终是私有的,我们不会将该地址块发布到 Internet。

您可以在自己的账户中创建的 VPC 和子网存在数量限制。有关更多信息,请参阅 Amazon VPC 限制

VPC 和子网大小调整

Amazon VPC 支持 IPv4 和 IPv6 寻址,并为它们设置了不同的 CIDR 块大小限制。默认情况下,所有 VPC 和子网都必须具有 IPv4 CIDR 块 - 您不能更改此行为。您可以选择是否向 VPC 关联 IPv6 CIDR 块。

有关 IP 地址的更多信息,请参阅 您的 VPC 中的 IP 地址

针对 IPv4 的 VPC 和子网大小调整

您可以为 VPC 指定单一 CIDR 块。 允许的块大小在 /16 网络掩码与 /28 网络掩码之间。换句话说,这个 VPC 可以包含 16 到 65536 个 IP 地址。

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

  • 10.0.0.0 - 10.255.255.255 (10/8 前缀)

  • 172.16.0.0 - 172.31.255.255 (172.16/12 前缀)

  • 192.168.0.0 - 192.168.255.255 (192.168/16 前缀)

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

注意

如果您要创建用于其他 AWS 服务的 VPC,请参阅服务文档以验证对 IP 地址范围和联网组件是否有特定要求。

在您创建 VPC 之后,您便无法更改 VPC 的大小。 如果您的 VPC 容量过小,无法满足您的需求,请创建一个容量更大的新 VPC,然后将您的实例迁移到此新 VPC。为此,请从正在运行的实例创建 AMI,然后在容量更大的新 VPC 中启动替换实例。随后,您可以终止旧实例并删除容量较小的 VPC。有关更多信息,请参阅 正在删除您的 VPC

子网的 CIDR 块可以与 VPC 的 CIDR 块 (适用于 VPC 中的单一子网) 或子网的 CIDR 块 (对于多子网) 相同。允许的块大小在 /28 网络掩码与 /16 网络掩码之间。如果您在 VPC 中创建多个子网,子网的 CIDR 块不能重叠。

例如,如果创建其 CIDR 块为 10.0.0.0/24 的 VPC,则它支持 256 个 IP 地址。您可以将这个 CIDR 块分散到两个子网,每个子网支持 128 个 IP 地址。 一个子网使用 CIDR 块 10.0.0.0/25 (对于地址 10.0.0.0 - 10.0.0.127),另一个子网使用 CIDR 块 10.0.0.128/25 (对于地址 10.0.0.128 - 10.0.0.255)。

许多工具可帮助您计算子网 CIDR 块;例如,请参阅 http://www.subnet-calculator.com/cidr.php。此外,您的网络工程组可以帮助您判断可为您的子网指定哪些具体 CIDR 块。

每个子网 CIDR 块中的前四个 IP 地址和最后一个 IP 地址无法供您使用,而且无法分配到一个实例。例如,在具有 CIDR 块 10.0.0.0/24 的子网中,以下五个 IP 地址是保留的:

  • 10.0.0.0:网络地址。

  • 10.0.0.1:由 AWS 保留,用于 VPC 路由器。

  • 10.0.0.2:由 AWS 保留。DNS 服务器的 IP 地址始终为 VPC 网络范围的基址 + 2;但是,我们也保留了每个子网范围基址 + 2 的 IP 地址。有关更多信息,请参阅 Amazon DNS 服务器

  • 10.0.0.3:由 AWS 保留,供将来使用。

  • 10.0.0.255:网络广播地址。我们在 VPC 中不支持广播,因此我们会保留此地址。

针对 IPv6 的 VPC 和子网大小调整

您可以向自己账户中的现有 VPC 关联一个 IPv6 CIDR 块,或在创建新 VPC 时执行此操作。CIDR 块使用 /56 的固定前缀长度。您无法选择地址范围或 IPv6 CIDR 块大小;我们从 Amazon 的 IPv6 地址池将该块分配给您的 VPC。

如果您已向 VPC 关联 IPv6 CIDR 块,则可以将 IPv6 CIDR 块与 VPC 中的现有子网关联,或在创建新子网时执行此操作。子网的 IPv6 CIDR 块使用 /64 的固定前缀长度。

例如,您可以创建一个 VPC 并指定要向此 VPC 关联 IPv6 CIDR 块。Amazon 向您的 VPC 分配以下 IPv6 CIDR 块:2001:db8:1234:1a00::/56。您可以创建一个子网并从此范围分配 IPv6 CIDR 块;例如,2001:db8:1234:1a00::/64

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

子网路由

每个子网都必须关联一个路由表,这个路由表可指定允许出站流量离开子网的可用路由。您创建的每个子网都会自动关联 VPC 的主路由表。 您可以更改关联,以及更改主路由表的内容。有关更多信息,请参阅 路由表

在上图中,与子网 1 关联的路由表将所有 IPv4 流量 (0.0.0.0/0) 和 IPv6 流量 (::/0) 路由至 Internet 网关 (例如 igw-1a2b3c4d)。实例 1A 具有 IPv4 弹性 IP 地址,实例 1B 具有 IPv6 地址,因此,可通过 Internet 分别经由 IPv4 和 IPv6 访问它们。

注意

(仅限 IPv4) 与您的实例关联的弹性 IPv4 地址或公有 IPv4 地址通过 VPC 的 Internet 网关进行访问。经过 VPN 连接 (在您的实例与其他网络之间) 的流量经过虚拟专用网关,而不是 Internet 网关,因此不访问弹性 IPv4 地址或公有 IPv4 地址。

实例 2A 无法连接 Internet,但可以连接 VPC 中的其他实例。 您可以通过网络地址转换 (NAT) 网关或实例,允许 VPC 中的一个实例通过 IPv4 发起到 Internet 的出站连接,并阻止来自 Internet 的未经请求的入站连接。由于您可分配的弹性 IP 地址数量有限,因此,如果您有更多的实例需要静态的公有 IP 地址,我们建议您使用 NAT 设备。有关更多信息,请参阅 NAT。要通过 IPv6 发起到 Internet 的仅出站通信,您可以使用仅出口 Internet 网关。有关更多信息,请参阅 仅出口 Internet 网关

与子网 3 关联的路由表将所有 IPv4 流量 (0.0.0.0/0) 路由到虚拟专用网关 (例如 vgw-1a2b3c4d)。实例 3A 可以通过 VPN 连入公司网的计算机。

子网安全性

AWS 提供了可以用于在 VPC 中提高安全性的两个功能:安全组网络 ACL。安全组可以控制您的实例的入站和出站数据流,网络 ACL 可以控制您的子网的入站和出站数据流。多数情况下,安全组即可满足您的需要;但是,如果您需要为您的 VPC 增添额外一层安全保护,您也可以使用网络 ACL。有关更多信息,请参阅 安全性

每个子网有意必须与一个网络 ACL 关联。您创建的每个子网均自动与 VPC 的默认网络 ACL 关联。您可以更改关联,以及更改默认网络 ACL 的内容。有关更多信息,请参阅 网络 ACL

您可以在 VPC 或子网上创建流日志,以便捕获传入和传出您的 VPC 或子网中的网络接口的流量。您还可以在单独的网络接口上创建流日志。流日志会发布到 CloudWatch Logs。有关更多信息,请参阅 VPC 流日志

与本地网络和其他 VPC 的连接

您可以选择设置从您 VPC 到您的公司或家庭网络之间的连接。如果您在 VPC 中有一个 IPv4 地址,并且这个 IP 地址的前缀与您的网络前缀重叠,则任何通往这个网络前缀的流量都将被丢弃。例如,让我们假设您有以下各项:

  • VPC 的 CIDR 块为 10.0.0.0/16

  • VPC 中的一个子网的 CIDR 块为 10.0.1.0/24

  • 在该子网中运行的实例,其 IP 地址为 10.0.1.410.0.1.5

  • 使用 CIDR 块 10.0.37.0/2410.1.38.0/24 的本地主机网络

当 VPC 中的这些实例尝试与 10.0.37.0/24 地址空间中的主机通信时,由于 10.0.37.0/24 是分配给 VPC 的较大前缀 (10.0.0.0/16) 的一部分,因此丢弃这些流量。这些实例可与 10.1.38.0/24 空间中的主机通信,因为该块不是 10.0.0.0/16 的一部分。

您还可以在 VPC 之间创建 VPC 对等连接,或在 VPC 与其他 AWS 账户中的 VPC 之间创建连接。利用 VPC 对等连接,您可以在使用私有 IP 地址的 VPC 之间路由流量;但是,您无法在具有重叠 CIDR 块的 VPC 之间创建 VPC 对等连接。有关更多信息,请参阅 Amazon VPC Peering Guide

因此,我们建议您在创建 VPC 时使用足以满足未来预期增长需求的 CIDR 范围,并确保该范围不会与您公司或家庭网络中任何现有或未来预期的子网重叠,也不会与当前或未来的 VPC 重叠。

我们目前不支持通过 IPv6 的 VPN 连接。

使用 VPC 和子网

您可以使用 Amazon VPC 控制台创建 VPC 和子网。下列步骤用于手动创建 VPC 和子网。您还必须手动添加网关和路由表。或者,您可以使用 Amazon VPC 向导一步创建 VPC 及其子网、网关和路由表。有关更多信息,请参阅 场景和示例

注意

(EC2-Classic) 如果您使用 Amazon EC2 控制台中的启动向导来启动仅在 VPC 中可用的实例类型,并且您没有任何现有 VPC,该向导将为您创建非默认 VPC 和子网。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的仅在 VPC 中可用的实例类型

正在创建 VPC

您可以使用 Amazon VPC 控制台创建空 VPC。

创建 VPC

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,依次选择 Your VPCsCreate VPC

  3. 根据需要指定以下 VPC 详细信息,然后选择 Create VPC

    • Name tag:可以选择为您的 VPC 提供名称。这样做可创建具有 Name 键以及您指定的值的标签。

    • IPv4 CIDR block:为 VPC 指定 IPv4 CIDR 块。我们建议您参照 RFC 1918 中指定的私有 (非公有可路由) IP 地址范围,从中指定一个 CIDR 块,例如 10.0.0.0/16192.168.0.0/16。可以指定公有可路由 IPv4 地址的范围;但是,我们目前不支持从 VPC 中的公有可路由 CIDR 块直接访问 Internet。如果启动到范围从 224.0.0.0255.255.255.255 (类 D 和类 E IP 地址范围) 的 VPC,Windows 实例将无法正常启动。有关更多信息,请参阅 VPC 和子网大小调整

    • IPv6 CIDR block:可通过选择 Amazon-provided IPv6 CIDR block 向您的 VPC 关联 IPv6 CIDR 块。

    • Tenancy:选择一个租期选项,例如,确保您的实例在单一租户硬件上运行的专用租期。有关专用实例的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的专用实例

创建 VPC 后,您可以添加子网。有关更多信息,请参阅 正在向您的 VPC 中添加子网

向 VPC 关联 IPv6 CIDR 块

您可以向任何现有的 VPC 关联 IPv6 CIDR 块。此 VPC 当前必须尚未关联任何 IPv6 CIDR 块。

将 IPv6 CIDR 块与 VPC 关联

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Your VPCs

  3. 选择您的 VPC,然后选择 ActionsEdit CIDRs

  4. 选择 Add IPv6 CIDR。添加 IPv6 CIDR 块后,选择 Close

正在向您的 VPC 中添加子网

当您将新的子网添加到您的 VPC 时,您可以指定您希望子网所在的可用区。您可以在同一可用区内具有多个子网。您必须在 VPC 范围内为子网指定 IPv4 CIDR 块。如果 VPC 已关联 IPv6 CIDR 块,则可以选择为子网指定 IPv6 CIDR 块。

为您的 VPC 添加子网

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 SubnetsCreate Subnet

  3. 根据需要指定子网详细信息,然后选择 Create Subnet

    • Name tag:可以选择为子网提供一个名称。这样做可创建具有 Name 键以及您指定的值的标签。

    • VPC:选择要为哪个 VPC 创建子网。

    • Availability Zone:可以选择将您的子网放置在哪个可用区中,或保留默认的 No Preference 让 AWS 为您选择可用区。

    • IPv4 CIDR block:为您的子网指定 IPv4 CIDR 块,如 10.0.1.0/24。有关更多信息,请参阅 针对 IPv4 的 VPC 和子网大小调整

    • IPv6 CIDR block:(可选) 如果您的 VPC 已关联 IPv6 CIDR 块,请选择 Specify a custom IPv6 CIDR。指定子网的十六进制对值或保留默认值。

  4. (可选) 如果需要,请重复上述步骤以在 VPC 中创建更多子网。

创建子网后,您可以执行以下操作:

  • 配置您的路由。要将您的子网设为公有子网,您必须首先将 Internet 网关连接到您的 VPC。有关更多信息,请参阅 连接 Internet 网关。然后您可以创建一个自定义路由表,并且添加到 Internet 网关的路由。有关更多信息,请参阅 创建自定义路由表。有关其他路由选项,请参阅路由表

  • 修改子网设置,指定在该子网中启动的所有实例都接收公有 IPv4 地址和/或 IPv6 地址。有关更多信息,请参阅 子网的 IP 寻址行为

  • 根据需要创建或修改您的安全组。有关更多信息,请参阅 您的 VPC 的安全组

  • 根据需要创建或修改您的网络 ACL。有关网络 ACL 的详细信息,请参阅网络 ACL

向子网关联 IPv6 CIDR 块

您可以向 VPC 中的现有子网关联 IPv6 CIDR 块。此子网当前必须尚未关联任何 IPv6 CIDR 块。

将 IPv6 CIDR 块与子网关联

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Subnets

  3. 选择您的子网,选择 Subnet ActionsEdit IPv6 CIDR

  4. 选择 Add IPv6 CIDR。为子网指定十六进制对 (例如,00) 并通过选择对勾图标来确认该条目。

  5. 选择 Close

在您的子网中启动一项实例

创建子网并配置路由后,您可以使用 Amazon EC2 控制台在您的子网中启动实例。

在您的子网中启动实例

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在控制面板上,选择 Launch Instance

  3. 按照向导中的指示操作。 选择 AMI 和实例类型,然后选择 Next: Configure Instance Details

    注意

    如果您希望实例通过 IPv6 进行通信,则必须选择支持的实例类型。除 M3 和 G2 外,所有当前生成实例类型都支持 IPv6 地址。

  4. Configure Instance Details 页上,确保已在 Network 列表中选择了所需的 VPC,然后选择要在其中启动实例的子网。将此页上的其他默认设置保留不变,然后选择 Next: Add Storage

  5. 在向导的后续页上,可为您的实例配置存储并添加标签。在 Configure Security Group (配置安全组) 页上,选择您所拥有的任何安全组,或根据向导的指示新建安全组。完成操作后,选择 Review and Launch

  6. 检查您的设置,然后选择 Launch

  7. 选择您所拥有的现有密钥对或者创建一个新的密钥对,然后在完成操作后选择 Launch Instances

取消 IPv6 CIDR 块与 VPC 或子网的关联

如果不再需要 VPC 或子网支持 IPv6,但需要继续使用 VPC 或子网创建 IPv4 资源并与之通信,则可以取消 IPv6 CIDR 块关联。

要取消 IPv6 CIDR 块关联,必须先取消分配已分配给子网中任何实例的任何 IPv6 地址。有关更多信息,请参阅 取消分配已分配给实例的 IPv6 地址

取消 IPv6 CIDR 块与子网的关联

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Subnets

  3. 选择您的子网,选择 Subnet ActionsEdit IPv6 CIDR

  4. 通过选择十字图标来删除子网的 IPv6 CIDR 块。

  5. 选择 Close

取消 IPv6 CIDR 块与 VPC 的关联

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Your VPCs

  3. 选择您的 VPC,然后选择 ActionsEdit CIDRs

  4. 通过选择十字图标来删除 IPv6 CIDR 块。

  5. 选择 Close

注意

取消 IPv6 CIDR 块关联不会自动删除您为 IPv6 网络配置的任何安全组规则、网络 ACL 规则或路由表路由。您必须手动修改或删除这些规则或路由。

删除您的子网

如果不再需要您的子网,可将其删除。您必须先终止子网中的任何实例。

删除您的子网

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 终止子网中的所有实例。有关更多信息,请参阅 EC2 用户指南 中的终止您的实例

  3. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  4. 在导航窗格中,选择 Subnets

  5. 选择要删除的子网,然后依次选择 Subnet ActionsDelete

  6. Delete Subnet 对话框中,选择 Yes, Delete

正在删除您的 VPC

您可以随时删除您的 VPC。但是,必须先终止 VPC 中的所有实例。使用 Amazon VPC 控制台删除 VPC 时,将删除其所有组件,如子网、安全组、网络 ACL、Internet 网关、VPC 对等连接和 DHCP 选项。

如果您有 VPN 连接,您便无需删除此连接或与 VPN 相关的其他组件 (例如客户网关和虚拟专用网关)。如果您计划在另一个 VPC 中使用客户网关,我们建议您保留 VPN 连接和网关。或者,您的网络管理员必须在您创建新的 VPN 连接之后配置再次配置客户网关。

删除您的 VPC

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 终止 VPC 中的所有实例。想要了解更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的终止您的实例

  3. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  4. 在导航窗格中,选择 Your VPCs

  5. 选择要删除的 VPC,然后依次选择 ActionsDelete VPC

  6. 要删除 VPN 连接,请选择适用选项;否则,不选择任何选项。选择 Yes, Delete

CLI 概述

您可以使用命令行界面 (CLI) 执行此页面上所说明的任务。有关更多信息 (包括可用 API 操作的列表),请参阅 访问 Amazon VPC

创建 VPC

创建子网

向 VPC 关联 IPv6 CIDR 块

向子网关联 IPv6 CIDR 块

取消 IPv6 CIDR 块与 VPC 的关联

取消 IPv6 CIDR 块与子网的关联

描述 VPC

描述子网

删除 VPC

删除子网