Amazon VPC 常见问题

一般性问题

Amazon VPC 允许您在 Amazon Web Services (AWS) 云中预置出一个逻辑隔离的部分,让您在自己定义的虚拟网络中启动 AWS 资源。您可以完全掌控您的虚拟网络环境,包括选择自己的 IP 地址范围、创建子网以及配置路由表和网络网关。您也可以在公司数据中心和 VPC 之间创建硬件虚拟专用网络 (VPN) 连接,将 AWS 云用作公司数据中心的扩展。

您可以轻松自定义 Amazon VPC 的网络配置。例如,您可以为可访问 Internet 的 Web 服务器创建公有子网,而将数据库或应用程序服务器等后端系统放在不能访问 Internet 的私有子网中。您可以利用安全组和网络访问控制列表等多种安全层,帮助对各个子网中 Amazon EC2 实例的访问进行控制。

Amazon VPC 由多个不同的数据元组成,它们对拥有现有网络的客户而言并不陌生:

  • 虚拟私有云:AWS Cloud 中逻辑隔离的虚拟网络。从所选范围内定义 VPC 的 IP 地址空间。
  • 子网:VPC 的 IP 地址范围内的一个区段,其中可放置隔离的资源组。
  • 互联网网关:公有 Internet 连接的 Amazon VPC 端。
  • NAT 网关:一款高度可用的托管网络地址转换(NATI)服务,便于私有子网中的资源访问互联网。
  • 虚拟私有网关:VPN 连接的 Amazon VPC 端。
  • 对等连接:对等连接使您可以通过私有 IP 地址在两个对等 VPC 之间路由流量。
  • VPC 端点:支持建立从您的 VPC 到 AWS 中托管的服务的私有连接,无需使用互联网网关、VPN、网络地址转换(NATI)设备或防火墙代理。
  • 仅传出互联网网关:有状态网关,仅提供从 VPC 到 Internet 的 IPv6 流量传出访问权限。
Amazon VPC 允许您在 AWS 云中构建虚拟网络,而且不需要 VPN、硬件或物理数据中心。您可以定义自己的网络空间,并控制您的网络以及其中的 Amazon EC2 资源如何在 Internet 上公开。您也可以利用 Amazon VPC 中的增强安全选项,实现对虚拟网络中 Amazon EC2 实例的更为精细的进出访问控制。

您的 AWS 资源自动预置在一个随时可用的默认 VPC 中。您也可以转至 AWS 管理控制台的“Amazon VPC”页面并选择“Start VPC Wizard”,以创建其他 VPC。

您将会看到用于网络架构的四个基本选项。选择一个选项后,您可以修改 VPC 及其子网的规模和 IP 地址范围。如果选择带有硬件 VPN 访问的选项,您需要指定网络中 VPN 硬件的 IP 地址。您可以修改 VPC 以添加或删除辅助 IP 范围和网关,或将更多子网添加到 IP 范围。

四个选项如下:

  1. 仅带有一个公有子网的 Amazon VPC
  2. 带有公有和私有子网的 Amazon VPC
  3. 带有公有和私有子网以及提供 AWS 站点到站点 VPN 访问的 Amazon VPC
  4. 仅带有一个私有子网以及提供 AWS 站点到站点 VPN 访问的 Amazon VPC

借助 VPC 终端节点,您能够建立从您的 VPC 到 AWS 上托管的服务的私有连接,无需使用互联网网关、NAT 设备、VPN 或防火墙代理。终端节点是可水平扩展且高度可用的虚拟设备,允许 VPC 和 AWS 产品之间的实例进行通信。Amazon VPC 提供两种不同类型的终端节点:网关类终端节点和接口类终端节点。

网关类终端节点仅适用于包括 S3 和 DynamoDB 在内的 AWS 产品。这些终端节点将向您选择的路由表添加一个条目,并通过 Amazon 私有网络将流量路由到支持的服务。

接口类终端节点可建立指向 PrivateLink 支持的服务(如 AWS 产品、您自己的服务或 SaaS 解决方案)的私有连接,并支持通过 Direct Connect 建立连接。将来,这些终端节点将会支持更多 AWS 和 SaaS 解决方案。请参阅 VPC 定价,了解接口类终端节点的价格。

计费

创建和使用 VPC 本身不另收费用。对包括 Amazon EC2 在内的其他 Amazon Web Services 的使用依然按照公布的费率收取费用,另外还有数据传输费。如果您使用可选的硬件 VPN 连接将您的 VPC 连接到公司数据中心,定价的依据为 VPN 连接小时数(VPN 连接处于“可用”状态的时长。) 未满一小时的按一小时计费。通过 VPN 连接传输的数据按照标准的 AWS 数据传输费率收取费用。有关 VPC-VPN 的定价信息,请访问 Amazon VPC 产品页面定价部分

对包括 Amazon EC2 在内的其他 Amazon Web Services 的使用依然按照公布的费率收取费用。通过 VPC 的 Internet 网关访问 Amazon S3 等 Amazon Web Services 服务时,不会产生数据传输费用。

如果您通过 VPN 连接访问 AWS,则会产生互联网数据传输费。

连接

您可以将 Amazon VPC 连接到:

  • 互联网(通过互联网网关)
  • 使用 AWS 站点到站点 VPN 连接的公司数据中心(通过虚拟私有网关)
  • 互联网和公司数据中心(同时利用互联网网关和虚拟私有网关)
  • 其他 AWS 服务(通过互联网网关、NAT、虚拟私有网关或 VPC 终端节点)
  • 其他 Amazon VPC(通过 VPC 对等连接)
Amazon VPC 支持创建互联网网关。此网关可以让 VPC 中的 Amazon EC2 实例能够直接连接 Internet。仅可以使用仅传出互联网网关,它是一种有状态网关,仅提供从 VPC 到 Internet 的 IPv6 流量传出访问权限。
不会。互联网网关具有水平扩展、冗余和高度可用三大特点。不存在带宽限制。
您可以使用公有 IP 地址,包括弹性 IP 地址 (EIP) 和 IPv6 全球唯一地址 (GUA),让 VPC 中的实例直接与 Internet 进行出站通信,以及从 Internet(例如 Web 服务器)接收主动提供的入站流量。您也可以使用下一个问题中介绍的解决方案。
分配给可通过互联网访问的 VPC 中托管的实例或服务的任何 IP 地址均视为公有 IP 地址。在互联网上可路由的只有公有 IPv4 地址,包括弹性 IP 地址 (EIP) 和 IPv6 GUA。为此,您需要先将 VPC 连接到互联网,然后更新路由表以使其与互联网之间相互可达。

没有公有 IP 地址的实例可以通过以下两种方式之一访问 Internet:

  1. 没有公有 IP 地址的实例可以通过 NAT 网关或 NAT 实例来传输流量,从而访问 Internet。这些实例使用 NAT 网关或 NAT 实例的公有 IP 地址来访问 Internet。NAT 网关或 NAT 实例允许出站通信,但不允许 Internet 上的计算机主动连接具有私有地址的实例。
  2. 对于通过硬件 VPN 或 Direct Connect 进行连接的 VPC,实例可以将其 Internet 流量通过虚拟私有网关下传到现有的数据中心。它可从该处借助现有出口点和网络安全/监控设备访问 Internet。
可以。您可以使用第三方软件 VPN,利用您的 VPC 经由 Internet 网关创建站到站或远程访问 VPN 连接。

否。当使用公有 IP 地址时,托管在 AWS 中的实例与服务之间的所有通信均使用 AWS 的私有网络。来自 AWS 网络且目标在 AWS 网络上的数据包仍留在 AWS 全球网络上,进出 AWS 中国区域的流量除外。

此外,在我们的数据中心和区域互连的 AWS 全球网络中,所有的数据流动在离开我们的安全设施之前,都经过物理层自动加密。另外,还有其他的加密层存在;例如,所有 VPC 跨区域对等流量,以及客户或服务到服务的传输层安全性 (TLS) 连接。 

AWS 站点到站点 VPN 连接将 VPC 与数据中心连接。Amazon 支持互联网协议安全 (IPsec) VPN 连接。在 VPC 与数据中心之间传输的数据通过加密的 VPN 连接路由,以保护动态数据的机密性和完整性。建立 AWS 站点到站点 VPN 连接不需要使用互联网网关。

IP 寻址

您可以使用主 CIDR 块的任意 IPv4 地址范围,其中包括 RFC 1918 或公有可路由 IP 范围。对于辅助 CIDR 块,则存在一些限制。 对于公有可路由 IP 数据块,只能通过虚拟私有网关进行访问,无法通过互联网网关从 Internet 访问。 AWS 并不向 Internet 公告客户自有的 IP 地址数据块。通过调用相关 API 或通过 AWS 管理控制台,您可以向 VPC 分配最多 5 个由 Amazon 提供的或 BYOIP 的 IPv6 GUA CIDR 块。

您可在创建 VPC 时将单个无类别互联网域路由(CIDR)IP 地址范围指定为主 CIDR 块,并在 VPC 创建完成后添加最多四(4)个辅助 CIDR 块。您可以从这些 CIDR 范围内为 VPC 中的子网寻址。请注意,虽然您可以创建 IP 地址范围重叠的多个 VPC,但这样做会妨碍您通过硬件 VPN 连接将这些 VPC 与常用的家庭网络连接。因此,我们建议您不要使用重叠的 IP 地址范围。您可以向 VPC 分配最多 5 个由 Amazon 提供的或 BYOIP 的 IPv6 CIDR 块。

默认 VPC 分配有 172.31.0.0/16 的 CIDR 范围。每个默认 VPC 中的默认子网分配有 VPC CIDR 范围内的 /20 个网块。 
可以。您可以在 AWS VPC 中使用您的公有 IPv4 地址和 IPv6 GUA 地址,并将它们静态分配给子网和 EC2 实例。如需通过 Internet 访问这些地址,您必须通过本地网络将它们公告到 Internet。您还必须在 VPC 和本地网络之间使用 AWS DX 或 AWS VPN 连接,路由这些地址上的流量。您可以使用虚拟私有网关路由来自 VPC 的流量。同样,您可以使用路由器将来自本地网络的流量路由回 VPC。

目前,Amazon VPC 支持五 (5) 个 IP 地址范围,一 (1) 个主和四 (4) 个辅助 IPv4 IP 地址范围。每一个范围的大小都介于 /28(CIDR 表示法)和 /16 之间。VPC 的 IP 地址范围不能与现有网络的 IP 地址范围重叠。

对于 IPv6,VPC 使用 /56 的固定大小(CIDR 表示法)。VPC 可以同时有 IPv4 和 IPv6 CIDR 块与其关联。

可以。您可以通过向现有 VPC 添加四 (4) 个辅助 IPv4 IP 范围 (CIDR) 来扩展 VPC。您也可以通过删除已添加到 VPC 的辅助 CIDR 块来缩小 VPC。  类似地,您可以向 VPC 添加五个 (5) 其他的 IPv6 IP 范围 (CIDR)。  您可以通过删除这些其他范围来缩小 VPC。

目前,每个 VPC 可以创建 200 个子网。如果您希望创建更多子网,请在支持中心提交案例

对于 IPv4,子网的大小下限为 /28(或 14 个 IP 地址)。子网的大小不能超过在其中创建它们的 VPC。

对于 IPv6,子网大小固定为 /64。仅可将一个 IPv6 CIDR 块分配给一个子网。

不可以。Amazon 会保留各个子网的前面四 (4) 个 IP 地址和最后一 (1) 个 IP 地址,以作 IP 联网之用。
启动非仅 IPv6 的子网中的 Amazon EC2 实例时,您可以选择指定该实例的主要私有 IPv4 地址。如果不指定主要私有 IPv4 地址,AWS 将从您分配给该子网的 IPv4 地址范围中自动寻址。您可以在以下时间分配辅助私有 IPv4 地址:启动实例时、创建弹性网络接口时,或者启动实例后或创建该接口后的任意时间。当您在仅 IPv6 子网中启动 Amazon EC2 实例时,AWS 自动从该子网的 Amazon 提供的 IPv6 GUA CIDR 中为其寻址。该实例的 IPv6 GUA 仍将保持私有,除非您通过正确的安全组、NACL 和路由表配置使其与互联网相互可达。
对于在 IPv4 或双堆栈子网中启动的实例,主要私有 IPv4 地址在该实例或接口的寿命周期中一直保留。辅助私有 IPv4 地址则可随时分配、取消分配,或者在接口或实例之间移动。对于在仅 IPv6 子网中启动的实例,分配的 IPv6 GUA 也是该实例主要子网接口上的第一个 IP 地址,随时可通过关联新 IPv6 GUA 并删除现有 IPv6 GUA 进行修改。
只有原先运行的实例处于“已终止”状态时,分配给其的 IPv4 地址才能用于其他实例。但是,分配给正在运行的实例的 IPv6 GUA 在其从该实例删除后,可以再次用于其他实例。
不可以,您只能一次为一个实例指定 IP 地址(在启动实例时指定)。

只要 IP 地址满足以下条件,您便可以将其分配给实例:

  • 属于相关子网的 IP 地址范围
  • 没有被 Amazon 保留用于 IP 联网目的
  • 当前没有分配给其他界面

可以。您可以将一个或多个辅助私有 IP 地址分配给 Amazon VPC 中的弹性网络接口或 EC2 实例。您可以分配的辅助私有 IP 地址的数量取决于实例类型。有关可以按不同实例类型分配的辅助私有 IP 地址数量的更多信息,请参阅 EC2 用户指南

可以。不过,这些 EIP 地址只能从 Internet 访问(不能通过 VPN 连接访问)。每个 EIP 地址必须与实例上的一个唯一私有 IP 地址关联。EIP 地址只应该在被配置为将流量直接路由到互联网网关的子网中的实例上使用。EIP 无法用于配置为使用 NAT 网关或 NAT 实例访问 Internet 的子网中的实例。这仅适用于 IPv4。目前,Amazon VPC 不支持用于 IPv6 的 EIP。

自带 IP

借助自带 IP (BYOIP),客户能够将现有可公共路由的全部或部分 IPv4 或 IPv6 地址空间迁移到 AWS,以便与 AWS 资源一起使用。客户将继续拥有 IP 范围。客户可以从他们迁入 AWS 的 IPv4 空间创建弹性 IP,并将其与 EC2 实例、NAT 网关和 Network Load Balancer 结合使用。此外,客户还可以从他们引入 AWS 的 IPv6 空间将最多 5 个 CIDR 关联到 VPC。客户将持续拥有访问 Amazon 提供 IP 的权限,并可选择使用 BYOIP 弹性 IP、Amazon 提供的 IP 或同时使用二者。

由于以下原因,您可能需需要将自己的 IP 地址引入 AWS:
IP 声誉:许多客户认为其 IP 地址声誉是一项战略资产,希望在 AWS 上使用这些 IP 及其资源。例如,拥有出站电子邮件 MTA 等服务且 IP 声誉较高的客户现在可以引入自己的 IP 空间,并继续保持其现有发送成功率。

客户白名单:借助 BYOIP,客户还可以将依赖 IP 地址白名单的工作负载迁移到 AWS,而无需使用新的 IP 地址重新建立白名单。

硬编码依赖项:一些客户在设备中使用硬编码 IP 或对其 IP 采用了架构依赖项。BYOIP 使这类客户能够轻松迁移到 AWS。

监管和合规性:出于监管和合规性原因,许多客户必须使用特定 IP。他们也可以使用 BYOIP 来解除这一限制。

本地 IPv6 网络策略:许多客户只能在本地网络上路由其 IPv6。这些客户可以通过 BYOIP 解除这一限制,因为他们可以将自己的 IPv6 范围分配给 VPC,并选择使用 Internet 或 Direct Connect 路由至本地网络。

发布 BYOIP 弹性 IP 时,它会返回来源 BYOIP 的 IP 池。

有关 BYOIP 可用性的详细信息,请参阅我们的 文档

可以。您可以对同一账户中任意数量的 VPC 使用此 BYOIP 前缀。
您最多可以将五个 IP 范围引入您的账户。
通过 BYOIP,您可以引入的最具体的 IPv4 前缀是 /24 IPv4 前缀和 /56 IPv6 前置。如果想要将 Ipv6 前缀通告至 Internet,则最具体的 IPv6 前缀为 /48。
您可以使用 ARIN、RIPE 和 APNIC 注册的前缀。
我们目前不接受重新分配的前缀。IP 范围应该只是一种直接分配的网络类型。
可以。您可以从当前区域取消 BYOIP 前缀的预置,然后将它预置给新的区域。

IP 地址管理器

Amazon VPC IP 地址管理器 (IPAM) 是一项托管服务,可让您更轻松地规划、跟踪和监控 AWS 工作负载的 IP 地址。使用 IPAM,您可以根据路由和安全需求轻松组织 IP 地址,并设置简单的业务规则来管理 IP 地址分配。您还可以自动为 VPC 分配 IP 地址,无需使用基于电子表格的应用程序或自主 IP 地址规划应用程序,这些应用程序难以维护且耗时。IPAM 提供统一的操作视图,可用作您的单一真实来源,使您能够快速高效地执行日常 IP 地址管理活动,例如跟踪 IP 使用情况、故障排除和审计。
您应该使用 IPAM 来提高 IP 地址管理的效率。利用电子表格或自制工具的现有机制需要手动操作,而且容易出错。以 IPAM 为例,您可以更快地推出应用程序,因为您的开发人员不再需要等待中央 IP 地址管理团队分配 IP 地址。您还可以检测重叠的 IP 地址并在网络中断之前修复它们。此外,您还可以为 IPAM 创建警报,以便在地址池即将耗尽或资源不符合池上设置的分配规则时通知您。这些是您应该使用 IPAM 的众多原因中的一部分。

AWS IPAM 提供以下功能:
 

  • 为大规模网络分配 IP 地址:IPAM 可以根据可配置的业务规则在数百个账户和 VPC 之间自动分配 IP 地址。
     
  • 监控网络中的 IP 使用情况:IPAM 可以监控 IP 地址,并使您能够在 IPAM 检测到潜在问题时收到警报,例如耗尽可能阻碍网络增长的 IP 地址或可能导致错误路由的重叠 IP 地址。
     
  • 排除网络故障:IPAM 可以帮助您快速确定连接问题是由于 IP 地址配置错误还是其他问题引起的。
     
  • 审核 IP 地址:IPAM 会自动保留您的 IP 地址监控数据(最多三年)。可以使用此历史数据对您的网络进行回顾性分析和审核。

以下是 IPAM 的主要组成部分:

  • 作用域是 IPAM 中最高级别的容器。IPAM 包含两个默认作用域。每个作用域代表单个网络的 IP 空间。私有作用域适用于所有私有空间。公共作用域适用于所有公共空间。作用域使您能够在多个未连接的网络中重复使用 IP 地址,而不会导致 IP 地址重叠或冲突。您可以在一个作用域内创建多个 IPAM 池。
     
  • 是连续 IP 地址范围(或 CIDR)的集合。IPAM 池使您能够根据路由和安全需求来组织 IP 地址。您可以在顶级池中拥有多个池。例如,如果您对开发和生产应用程序有单独的路由和安全需求,则可以为每个应用程序创建一个池。在 IPAM 池中,您可以为 AWS 资源分配 CIDR。
  • 分配是从 IPAM 池到另一个资源或 IPAM 池的 CIDR 分配。当您创建 VPC 并为 VPC 的 CIDR 选择 IPAM 池时,CIDR 将从配置的 CIDR 分配到 IPAM 池。您可以使用 IPAM 监视和管理分配。

可以。IPAM 支持 BYOIPv4 和 BYOIPv6 地址。BYOIP 是一项 EC2 功能,允许您将自有的 IP 地址带到 AWS。使用 IPAM,您可以跨账户和组织直接配置和共享他们的 IP 地址块。使用 IPv4 的现有 BYOIP 客户可以将他们的池迁移到 IPAM 以简化 IP 管理。

是的,Amazon 为 VPC 分配提供了连续的 IPv6 CIDR 块。连续的 CIDR 块允许您跨网络和安全结构(如访问控制列表、路由表、安全组和防火墙)将 CIDR 聚合为一个条目中。您可以将 Amazon IPv6 CIDR 配置到公共范围的池中,并使用所有 IPAM 功能来管理和监控 IP 使用情况。这些 CIDR 块的分配以 /52 增量开始,并且可根据要求提供更大的块。例如,您可以从 Amazon 分配 /52 CIDR 并使用 IPAM 跨账户共享,以及在这些账户中创建 VPC。
不可以,Amazon 提供的连续 IPv6 CIDR 块目前仅在 IPAM 中受支持。
您可以使用 AWS Resource Access Manager (RAM) 与您的 AWS Organization 中的其他账户共享 IPAM 池。您还可以与主要 AWS Organization 之外的账户共享 IPAM 池。例如,这些账户可以代表您公司中的另一条业务线或由合作伙伴代表您在另一个 AWS Organization 中托管的托管服务。

拓扑

可以。您可以为各个子网创建默认路由。默认路由可以指引流量通过 Internet 网关、虚拟专用网关或 NAT 网关从 VPC 传出。

安全和筛选

Amazon EC2 安全组可用来帮助确保 Amazon VPC 内实例的安全。VPC 中的安全组可用于指定允许进出各个 Amazon EC2 实例的进站和出站网络流量。没有显式允许进出实例的流量将自动被拒绝。

除了安全组外,通过网络访问控制列表 (ACL) 也可允许或拒绝进出各个子网的网络流量。

VPC 中的安全组指定允许传入或传出 Amazon EC2 实例的流量。网络 ACL 则在子网级别上运作,评估进出某个子网的流量。网络 ACL 可通过设置允许和拒绝规则来进行使用。Network ACL 不能筛选同一子网中实例之间的流量。此外,网络 ACL 执行无状态筛选,而安全组则执行有状态筛选。

有状态筛选可跟踪请求的来源,并可自动允许将请求的回复返回到来源计算机。例如,允许入站流量进入 Web 服务器上的 TCP 端口 80 的有状态筛选器将允许返回流量(通常为编号较高的端口,如目标 TCP 端口 63、912)通过客户端与 Web 服务器之间的有状态筛选器。筛选设备维护一个状态表,跟踪来源和目标端口编号与 IP 地址。筛选设备上仅需要一条规则:允许流量进入 Web 服务器的 TCP 端口 80。

无状态筛选则相反,仅检查来源或目标 IP 地址和目标端口,而忽略流量是新请求还是对请求的回复。上例中的筛选设备上需要实施两条规则:一条规则用于允许流量在 TCP 端口 80 上进入 Web 服务器,另一条规则用于允许流量传出 Web 服务器(TCP 端口范围 49、152 到 65、535)。

可以。如果配置了互联网网关,目标为位于 VPC 外部的 Amazon EC2 实例的 Amazon VPC 流量将遍历互联网网关,然后进入公有 AWS 网络以到达该 EC2 实例。如果没有配置 Internet 网关,或者如果实例位于被配置为通过虚拟专用网关路由的子网中,流量将遍历 VPN 连接,从您的数据中心中传出,然后再次进入公有 AWS 网络。
可以。一个地区内的实例可使用地区间 VPC 对等连接、公有 IP 地址、NAT 网关、NAT 实例、VPN 连接或 Direct Connect 连接相互通信。
可以。VPC 中的资源可通过多种方式与 Amazon S3 通信。您可以使用 S3 的 VPC 端点,它可确保将所有流量都保持在 Amazon 的网络中,并使您能够将其他访问策略应用于 Amazon S3 流量。您可以使用互联网网关从 VPC 对 Internet 进行访问,并且 VPC 中的实例可以与 Amazon S3 进行通信。您也可以让流向 Amazon S3 的所有流量遍历 Direct Connect 或 VPN 连接,再从数据中心流出,然后重新进入公共 AWS 网络。
可以。您可以使用 Amazon VPC 流量镜像和 Amazon VPC 流日志功能监控 Amazon VPC 中的网络流量。

VPC 流日志是一项功能,允许您捕获有关进出 VPC 中网络接口的 IP 流量的信息。流日志数据可以发布到 Amazon CloudWatch Logs 或 Amazon S3 中。您可以监控 VPC 流日志,以获取对网络依赖性和流量模式的操作可见性,检测异常并防止数据泄露,或者对网络连接和配置问题进行故障排除。流日志中丰富的元数据可帮助您进一步了解谁发起了 TCP 连接,以及流经中间层(如 NAT 网关)的流量的实际数据包级源和目的地。您还可以存档流日志,以满足合规性要求。有关 Amazon VPC 流日志的更多信息,请参阅该文档

您可以为 VPC、子网或网络接口创建流日志。如果您为子网或 VPC 创建流日志,该子网或 VPC 中的每个网络接口都将被监控。创建流日志订阅时,您可以选择您想要捕获的元数据字段、最大聚合间隔和您的首选日志目的地。您还可以选择捕获所有流量或仅接受或拒绝流量。您可以使用 CloudWatch Log Insights 或 CloudWatch Contributor Insights 等工具分析传输到 CloudWatch Logs 的 VPC 流日志。您可以使用 Amazon Athena 或 AWS QuickSight 等工具查询和可视化传输到 Amazon S3 的 VPC 流日志。您还可以构建自定义下游应用程序以分析您的日志或使用 Splunk、Datadog、Sumo Logic、Cisco StealthWatch、Checkpoint CloudGuard、New Relic 等合作伙伴解决方案。

支持,您可以为 Transit Gateway 或单独的中转网关连接创建 VPC 流日志。通过此功能,Transit Gateway 可以导出详细的信息,如源/目标 IP 地址、端口、协议、流量计数器、时间戳以及通过 Transit Gateway 遍历的网络流的各种元数据。要了解有关 Amazon VPC 流日志对 Transit Gateway 支持的更多信息,请参阅文档

流日志数据在网络流量路径之外收集,因此不会影响网络吞吐量或延迟。您可以创建或删除流日志,不会产生任何影响网络性能的风险。

当您将流日志发布到 CloudWatch Logs 或 Amazon S3 时,将收取对公开日志的数据提取和存档费用。有关更多信息和示例,请参阅 Amazon CloudWatch 定价。您还可以使用成本分配标签跟踪发布流日志的费用。

VPC 流量镜像

借助 Amazon VPC 流量镜像,客户可以轻松地将网络流量复制到 Amazon EC2 实例以及从中复制,并将这些流量转发给带外安全和监控设备,用于内容检查、威胁监控和故障排除等使用案例。这些设备可以部署在单独的 EC2 实例上,也可以部署在带有用户数据报协议 (UDP) 侦听器的网络负载均衡器 (NLB) 后面的一组实例上。

流量镜像支持在 EC2 实例的弹性网络接口 (ENI) 级别捕获的网络数据包。请参阅 Traffic Mirroring 文档了解支持 Amazon VPC Traffic Mirroring 的 EC2 实例。

客户可以使用开源工具,也可以从 AWS Marketplace 上提供的各种监控解决方案中进行选择。借助流量镜像,客户可以将复制的流量流式传输到任何网络数据包收集器/代理或分析工具,无需安装特定于供应商的代理。

借助 Amazon VPC 流日志,客户可以收集、存储和分析网络流日志。流日志中捕获的信息包括关于允许和拒绝的流量、源和目标 IP 地址、端口、协议编号、数据包和字节数以及操作(接受或拒绝)的信息。您可以使用此功能对连接和安全问题进行故障排除,并确保网络访问规则按预期工作。

借助 Amazon VPC 流量镜像,您可以分析实际流量内容(包括负载),从而深入了解网络流量。它的使用案例包括分析实际数据包以确定性能问题的根本原因、对复杂的网络攻击进行逆向工程以及检测并阻止内部滥用或受损的工作负载。

Amazon VPC 与 Amazon EC2

Amazon VPC 目前可以在所有 Amazon EC2 区域的多个可用区中使用。

可以。 
子网必须位于单个可用区中。
启动 Amazon EC2 实例时,您必须指定要在其中启动该实例的子网。该实例将在与指定子网关联的可用区中启动。
在创建子网时,您必须指定要放置该子网的可用区。使用 VPC 向导时,您可以在向导确认屏幕中选择子网可用区。在使用 API 或 CLI 时,您可以像创建子网时一样指定子网的可用区。如果不指定可用区域,则将选取默认的“No Preference”选项,子网也会在相应地区中已有的可用区域中创建。
如果实例驻留在不同可用区中的子网内,每传输 1GB 数据,您将需要支付 0.01 USD 的传输费。
可以。DescribeInstances() 将返回所有运行中的 Amazon EC2 实例。您可以通过子网字段中的条目区别 EC2-Classic 实例与 EC2-VPC 实例。如果列出了子网 ID,则该实例位于 VPC 中。
可以。DescribeVolumes() 将返回您的所有 EBS 卷。

对于需要 IPv4 寻址的实例,您可以在一个 VPC 中运行任意数量的 Amazon EC2 实例,只要设置的 VPC 大小足以为每个实例分配一个 IPv4 地址。初始状态下,限制一次最多启动 20 个 Amazon EC2 实例,并且 VPC 的大小上限为 /16(65 536 个 IP)。如果要提高这些限制,请填写以下表单。 对于仅 IPv6 实例,/56 的 VPC 大小让您能够启动数量几乎不受限的 Amazon EC2 实例。

您可以在 Amazon VPC 中使用注册区域与您的 VPC 相同的 AMI。例如,您可以将注册在 us-east-1 的 AMI 用于 us-east-1 中的 VPC。有关更多信息,请参阅 Amazon EC2 区域和可用区常见问题

可以。如果 Amazon EBS 快照与您的 VPC 位于同一区域中,您就可以使用它们。有关更多详情,请参阅 Amazon EC2 区域和可用区常见问题

可以。不过,VPC 中使用由 Amazon EBS 支持的 AMI 启动的实例将在停止和重新启动后保持相同的 IP 地址。这与相似的实例从 VPC 之外启动时相反,那时会获取新的 IP 地址。子网中任何停止的实例的 IP 地址将视为不可用。
可以。
可以。 
可以。Amazon VPC 支持集群实例,但是并非所有实例类型在所有区域和所有可用区都可用。
当您启动实例时,会为其分配一个主机名。可用的选项有两个:基于 IP 的名称或基于资源的名称,此参数可在实例启动时配置。基于 IP 的名称使用私有 IPv4 地址的格式,而基于资源的名称使用实例 id 的格式。
可以,您可以停止实例,然后更改基于资源的命名选项,以将实例的主机名从基于 IP 的格式更改为基于资源的格式,反之亦然。
可以,实例主机名可以用作 DNS 主机名。对于在仅 IPv4 或双堆栈子网中启动的实例,基于 IP 的名称始终解析为实例的主网络接口上的私有 IPv4 地址,此功能无法关闭。此外,基于资源的名称可以配置为解析成主网络接口上的私有 IPv4 地址、主网络接口上的第一个 IPv6 GUA,或者同时解析成这两个地址。对于在仅 IPv6 子网中启动的实例,基于资源的名称可配置为解析成主网络接口上的第一个 IPv6 GUA。 

默认 VPC

默认 VPC 是 AWS 云中的逻辑独立虚拟网络,在您初次配置 Amazon EC2 资源时,会为您的 AWS 账户自动创建。当您启动实例而未指定子网 ID 时,实例便会在默认 VPC 中启动。
当您在默认 VPC 中启动资源时,Amazon VPC (EC2-VPC) 的高级网络功能以及 Amazon EC2 (EC2-Classic) 的易用性可为您提供诸多益处。您可以享用各种功能,包括运行中更改安全组成员、安全组出口过滤、多 IP 地址以及多网络接口,而无需专门创建 VPC 并在其中启动实例。

如果您的 AWS 账户是在 2013 年 3 月 18 日之后创建的,则可以在默认 VPC 中启动资源。请参阅此论坛公告以确定哪些区域已经启用默认 VPC 功能集。而对于在所列日期之前创建的账户,则可以在任何已启用默认 VPC 的区域(您未曾在该区域启动过 EC2 实例或预置过 Amazon Elastic Load Balancing、Amazon RDS、Amazon ElastiCache 或 Amazon Redshift 资源)中使用默认 VPC。

不需要。您可以使用 AWS 管理控制台、AWS EC2 CLI 或 Amazon EC2 API 在默认 VPC 中启动和管理 EC2 实例及其他 AWS 资源。AWS 会为您自动创建默认 VPC,并在 AWS 区域中的每个可用区中创建默认子网。您的默认 VPC 将会连接到 Internet 网关,您的实例会自动接收公有 IP 地址,这与 EC2-Classic 类似。

请参阅《EC2 用户指南》中的 EC2-Classic 与 EC2-VPC 之间的区别

不是。默认 VPC 会连接到 Internet,并且所有在默认 VPC 的默认子网中启动的实例都会自动接收公有 IP 地址。可以将 VPN 连接添加到您选择的默认 VPC 中。
可以。要在非默认 VPC 中启动实例,必须在实例启动期间指定子网 ID。
可以。要启动并进入非默认子网中,您可以使用控制台或者 CLI、API 或 SDK 中的 --subnet 选项设定启动目标。
对于将“Supported Platforms”属性设为“EC2-VPC”的每个 AWS 区域,可以拥有一个默认 VPC。
系统会在您的默认 VPC 中为每个可用区创建一个默认子网。
目前不提供。
目前不提供。
可以,您可以删除默认 VPC。删除后,您可以直接通过 VPC 控制台或使用 CLI 创建新的默认 VPC。这样做将在相应区域创建一个新的默认 VPC,而不会还原之前删除的 VPC。
可以,您可以删除默认子网。删除后,您可以使用 CLI 或 SDK 在可用区中创建新的默认子网。这将在指定的可用区中创建新的默认子网,而不会还原之前删除的子网。
获得默认 VPC 的最简单方法是,在已启用默认 VPC 的区域中创建一个新账户,或在从未到过的区域中使用现有账户,只要该区域中该账户的“支持的平台”属性设为“EC2-VPC”即可。

可以,但是,如果您在该区域的账户中没有任何 EC2-Classic 资源,我们只能为默认 VPC 启用现有账户。此外,您还必须终止该区域中的所有非 VPC 配置的 Elastic Load Balancer、Amazon RDS、Amazon ElastiCache 和 Amazon Redshift 资源。在为您的账户配置默认 VPC 后,所有未来资源启动(包括通过 Auto Scaling 启动实例)都将在您的默认 VPC 中执行。要申请为您的现有账户设置默认 VPC,请转到账户和账单 -> 服务:账户 -> 类别:将 EC2 Classic 转换为 VPC,然后提出申请。我们会审核您的申请、您现有的 AWS 产品以及 EC2-Classic 情况,以指导您完成后续步骤。

如果您的 AWS 账户拥有默认 VPC,则与 AWS 账户关联的任何 IAM 账户会使用与 AWS 账户相同的默认 VPC。

EC2 Classic

EC2-Classic 是我们于 2006 年夏季通过 EC2 发布的一种扁平网络。利用 EC2-Classic,您的实例可在与其他客户共享的单个扁平网络中运行。长期以来,受到客户不断演变的需求启发,我们在 2009 年发布了 Amazon Virtual Private Cloud (VPC),使您能够在与自己的 AWS 账户逻辑隔离的虚拟私有云中运行实例。今天,虽然我们的大多数客户都使用 Amazon VPC,但还有一些客户仍在使用 EC2-Classic。
我们将于 2022 年 8 月 15 日停用 Amazon EC2-Classic,因此我们需要您在此日期之前将 EC2-Classic 上运行的任何 EC2 实例和其他 AWS 资源迁移到 Amazon VPC。下面的部分提供了更多关于 EC2-Class 停用以及可为您的迁移提供支持的工具和资源的信息。

只有当您在自己的账户中为任何 AWS 区域启用了 EC2-Classic 时,此变化才会对您产生影响。您可以使用控制台或 describe-account-attributes 命令检查您是否为 AWS 区域启用了 EC2-Classic;请参阅此文档以了解更多详细信息。

如果您没有任何活动 AWS 资源在任何区域中的 EC2-Classic 上运行,我们请求您从账户中对该区域关闭 EC2-Classic。在区域中关闭 EC2-Classic 将使您可从该处启用默认 VPC。为此,转到 AWS Support Center(console.aws.amazon.com/support),选择 Create case(创建案例),然后选择 Account and billing support(账户和账单支持),在 Type(类型)中选择 Account(账户),在 Category(类别)中选择 Convert EC2 Classic to VPC(将 EC2 Classic 转换为 VPC),根据需要填写其他详细信息,然后选择 Submit(提交)。

对于您自 2021 年 1 月 1 日以来没有任何 AWS 资源(EC2 实例、Amazon Relational Database、AWS Elastic Beanstalk、Amazon Redshift、AWS Data Pipeline、Amazon EMR、AWS OpsWorks)在 EC2-Classic 上运行的 AWS 区域,我们将于 2021 年 10 月 30 日从您的账户中自动关闭 EC2-Classic。

另一方面,如果您有 AWS 资源在 EC2-Classic 上运行,我们请求您尽快制定将其迁移到 Amazon VPC 的计划。在 2022 年 8 月 15 日之后,您将无法在 EC2-Classic 平台上启动任何实例或 AWS 服务。随着我们于 2022 年 8 月 16 日开始停用该平台,任何运行状态的工作负载或服务都将逐渐丧失对 EC2-Classic 上的所有 AWS 服务的访问权限。

在后面的问题中,您将可找到 AWS 资源的迁移指南。

Amazon VPC 让您能够完全控制自己在 AWS 上的虚拟网络环境,与您的 AWS 账户逻辑隔离。在 EC2-Classic 环境中,您的工作负载与其他客户共享单个扁平网络。与 EC2-Classic 环境相比,Amazon VPC 环境带来了多种其他优势,包括选择自己的 IP 地址空间、公有和私有子网配置以及管理路由表和网络网关的功能。当前在 EC2-Classic 中可用的所有服务和实例在 Amazon VPC 环境中都有类似的服务。Amazon VPC 还可提供比 EC2-Classic 更广泛的新一代实例。关于 Amazon VPC 的更多信息可在此链接中获得。

为了帮助您迁移资源,我们发布了手册并构建了解决方案,您可从下面找到。为了进行迁移,您必须在 VPC 中重新创建 EC2-Classic 资源。首先,您可以使用此脚本识别在账户内为所有区域中的 EC2-Classic 预置的所有资源。然后,您可以使用下面适用于相关 AWS 资源的迁移指南:

除了上面的迁移指南之外,我们还提供了高度自动化的直接迁移(更换主机)解决方案:AWS Application Migration Service (AWS MGN),它可简化和加速应用程序迁移,并降低迁移成本。您可以从此处找到关于 AWS MGN 的相关资源:

对于简单的单一 EC2 实例从 EC2-Classic 到 VPC 的迁移,除了 AWS MGN 或《实例迁移指南》之外,您还可以使用来自“AWS Systems Manager > 自动化”的“AWSSupport-MigrateEC2 ClassicToVPC”运行手册。该 Runbook 可通过创建 EC2-Classic 中的实例的 AMI,在 VPC 中从该 AMI 创建新实例,并可终止 EC2-Classic 实例,以自动执行将实例从 EC2-Classic 迁移到 VPC 所需的步骤。

如果您有任何疑问或顾虑,可以通过 AWS Premium Support 联系 AWS Support 团队。

请注意:如果您在多个 AWS 区域中有 AWS 资源在 EC2-Classic 上运行,建议您在将所有资源迁移到这些区域中的 VPC 之后,立即在每个区域中关闭 EC2-Classic。

我们将在 2022 年 8 月 15 日停用日期之前采取两个重要行动:

  • 我们将于 2021 年 10 月 30 日停止对 EC2-Classic 环境发布 3 年期预留实例 (RI) 和 1 年期 RI。已部署到 EC2-Classic 环境中的 RI 将不受此时间影响。设置为 2022 年 8 月 15 日之后到期的 RI 将需要修改为在剩余 租期中使用 Amazon VPC 环境。有关如何修改 RI 的信息,请访问我们的文档
  • 在 2022 年 8 月 15 日,我们将不再允许在 EC2-Classic 环境中创建新实例(Spot 或按需)或其他 AWS 服务。随着我们于 2022 年 8 月 16 日开始停用该平台,任何运行状态的工作负载或服务都将逐渐丧失对 EC2-Classic 上的所有 AWS 服务的访问权限。

弹性网络接口

可以。
网络接口只能连接到位于相同可用区中的实例。
网络接口只能连接到该接口所在 VPC 中的实例。
可以。不过,这不是符合多接口的最佳使用案例。相反,您应当为实例分配额外的私有 IP 地址,然后根据需要将 EIP 与这些私有 IP 关联。
您可以连接和断开 EC2 实例上的次要接口 (eth1-ethn),但不能断开 eth0 端口。

对等连接

可以。可面向不同区域中的 VPC 创建对等连接。 区域间 VPC 对等连接已在全球除中国以外的所有商业区域推出。
可以,只要其他 VPC 的所有者接受您的对等连接请求。

创建 VPC 对等连接并不收取费用,但是对等连接点之间的数据传输要收费。如需了解数据传输费率,请参阅 EC2 定价页面中的“数据传输”部分。

VPC 对等连接不需要互联网网关。
没有。对等连接的 VPC 中的实例之间的流量始终是私密而隔离的,这类似于相同 VPC 中两个实例之间流量私密而隔离的情形。
不可以。对等连接两端的任一端随时可以中断对等连接。中断对等连接意味着流量不会在两个 VPC 之间产生。
不是。不支持传递对等关系。

AWS 使用现有 VPC 基础设施创建 VPC 对等连接,既不是网关,也不是 VPN 连接,因此不依赖某个独立的实体硬件。不会发生单点通信故障或带宽瓶颈。

区域间 VPC 对等连接采用当前支持 VPC 的横向扩展、冗余且高度可用的技术。区域间 VPC 对等连接流量经过具有内置冗余和动态带宽分配的 AWS 主干。不会发生单点通信故障。

如果地区间对等连接出现故障,流量将不会通过 Internet 路由。

对等连接的 VPC 中的实例之间的带宽与相同 VPC 中的实例之间的带宽无异。注意:置放群组可跨越多个对等连接的 VPC,但是,您不会在对等连接的 VPC 中的实例之间获取全部的等分带宽。阅读有关置放群组的更多信息。

流量使用现代 AEAD(带关联数据的加密认证)算法进行加密。密钥协议和密钥管理由 AWS 完成。
默认情况下,如果在不同区域的对等连接 VPC 中查询实例的公有主机名,该查询将解析为公有 IP 地址Route 53 的私有 DNS 可使用地区间 VPC 对等连接解析私有 IP 地址。
不可以。安全组无法通过区域间 VPC 对等连接引用。
可以。区域间 VPC 对等连接支持 IPv6。
不可以。区域间 VPC 对等连接无法与 EC2-ClassicLink 结合使用。

其他问题

可以。您可以使用 AWS 管理控制台管理 Amazon VPC 对象,如 VPC、子网、路由表、互联网网关和 IPSec VPN 连接。此外,您也可以使用一个简单向导来创建 VPC。

有关 VPC 限制的信息,请参阅 Amazon VPC 用户指南

可以。有关 AWS 支持的更多信息,请单击此处

通过 ElasticFox 管理 Amazon VPC 不再受官方支持。Amazon VPC 支持可通过 AWS API、命令行工具、AWS 管理控制台以及许多第三方实用程序提供。