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

在您的 VPC 中添加硬件虚拟专用网关

在默认情况下,您在 Virtual Private Cloud (VPC) 中启动的实例无法与您自己的网络进行通信。您可以启用从 VPC 访问网络的权限,为完成此操作您需要在 VPC 中附加虚拟专用网关、创建自定义路由表并更新您的安全组规则。

您可以根据本页的描述手动完成此过程,或由 VPC 创建向导为您完成其中大部分步骤。有关使用 VPC 创建向导以设置虚拟专用网关的更多信息,请参见场景 3:带有公有和私有子网以及硬件 VPN 访问的 VPC场景 4:仅带有私有子网和硬件 VPN 访问的 VPC

尽管术语 VPN 连接是一项泛指性术语,但是在 Amazon VPC 文档中,“VPN 连接”是指在您的 VPC 和您自己的网络之间的连接。AWS 支持 Internet 协议安全 (IPsec) VPN 连接。

重要

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

有关在 VPC 中使用 VPN 连接的相关费用的信息,请参见 Amazon VPC 产品页面

VPN 组成部分

一项 VPN 连接由以下部分组成。

虚拟专用网关

虚拟专用网关是 VPN 连接在 Amazon 一端的 VPN 集线器。

有关您可以在每个地区设置的虚拟专用网关数目,以及 VPC 的其他组成部分限制的信息,请参见Amazon VPC 限制

客户网关

客户网关是指 VPN 连接在您这一端的实体设备或软件应用程序。如果创建 VPN 连接,在 VPN 连接您这一端生成流量时,VPN 隧道就会启动。虚拟专用网关不是启动程序;您的客户网关必须启动隧道。如果 VPN 连接经历一段空闲时间 (通常为 10 秒,具体取决于配置),隧道就会关闭。为防止发生这种情况,您可以使用网络监控工具 (如使用 IP SLA) 来生成保持连接 Ping 信号。

有关客户网关的更多信息,请参阅 Amazon VPC 网络管理员指南 中的您的客户网关

有关已经过 Amazon VPC 测试的客户网关列表,请参见Amazon Virtual Private Cloud 常见问题

VPN 配置示例

下图展示的是单一和多 VPN 连接。VPC 有附属的虚拟专用网关,您的网络内包括一个客户网关,您必须配置以启用 VPN 连接。您可以设置路由,以使从您的 VPC 通向您的网络的数据流可以被路由到虚拟专用网关中。

当您为单一 VPC 创建多项 VPN 连接时,您可以配置第二客户网关,以创建到同一外部地点的冗余连接。您还可以使用它来创建到多个地理位置的 VPN 连接。

单一 VPN 连接

VPN 布局

多 VPN 连接

多 VPN 布局

VPN 路由选项

在创建 VPN 连接时,必须指定计划使用的路由类型,并更新子网的路由表。路由表决定了将网络流量引向何处;因此,必须将目标为您的 VPC 中一个或多个 VPN 连接的流量引向虚拟专用网关。

您选择的路由类型可由您的 VPN 设备构造和型号决定。如果您的 VPN 支持边界网关协议 (BGP),您可以在配置 VPN 连接时指定动态路由方式。如果您的设备不支持 BGP,您便需要指定静态路由。有关已经过 Amazon VPC 测试的静态和动态路由设备列表,请参阅 Amazon Virtual Private Cloud 常见问题

当您使用 BGP 设备时,您不需要为 VPN 连接指定静态路由,因为设备会使用 BGP 将其路由通告虚拟专用网关。如果您的设备不支持 BGP,您必须选择静态路由,并输入您的网络的路径 (IP 前缀),以便与虚拟专用网关建立通信。只有虚拟专用网关已知的 IP 前缀可从您的 VPC 接收数据流量 (无论是通过 BGP 通告还是静态路由条目)。虚拟专用网关不路由目标在收到的 BGP 通告、静态路由条目或其连接的 VPC CIDR 以外的任何其他流量。

我们建议您在适用的情况下使用支持 BGP 的设备,因为 BGP 协议可提供稳健的活性探测检查,可以在第一条隧道出现故障时协助对第二条 VPN 隧道进行故障转移。不支持 BGP 的设备也可执行健康检查,以便在需要时协助故障转移到第二条隧道。

建立 VPN 连接所需的步骤

如需在 VPN 连接中使用 Amazon VPC,您或您的网络管理员必须指定一台实体设备以作为您的客户网关,并对其进行配置。我们会为您提供规定配置信息,包括 VPN 预共享密钥和其他与设置 VPN 连接相关的参数。您的网络管理员通常会执行此项配置。有关客户网关要求和配置的信息,请参阅Amazon VPC 网络管理员指南

下表列出了您必须掌握的信息,以帮助我们为您建立 VPN 连接。

Item 如何使用 注释

客户网关类型 (例如 Cisco ASA、Juniper J-Series、Juniper SSG、Yamaha)

指定如何规定返回信息的格式,以供您配置客户网关

想要了解有关已测试的具体设备的信息,请参阅哪些客户网关设备已知可以用于 Amazon VPC?(在 Amazon VPC 常见问题中)。

客户网关外部接口的 Internet 可路由 IP 地址 (静态)

用于创建和配置您的客户网关 (用 YOUR_UPLINK_​ADDRESS 指代它)

公有 IP 地址值必须是静态地址。如果您的客户网关位于为 NAT 遍历 (NAT-T) 而启用的网络地址转换 (NAT) 设备后面,请使用您的 NAT 设备的公有 IP 地址,并调整防火墙规则以取消阻止 UDP 端口 4500。

(可选) 客户网关的边界网关协议 (BGP)自治系统编号 (ASN) (如果您创建的是动态路由的 VPN 连接)。

用于创建和配置您的客户网关 (又被称为“YOUR_BGP_ASN”)。

如果您在控制台中使用 VPC 向导来设置您的 VPC,我们会自动使用 65000 作为 ASN。

您可以使用指定给您的网络的现有 ASN。如果您没有 ASN,您可以使用专用 ASN (在 64512–65534 范围内)。有关 ASN 的更多信息,请参见Wikipedia 条目

Amazon VPC 支持双字节的 ASN 编号。

您希望通过 VPN 连接传播到 VPC 的内部网络 IP 范围。

用于指定静态路由。

为您的 VPN 连接配置两条 VPN 隧道

您使用 VPN 连接以将您的网络连接到 VPC。每项 VPN 连接都有两条隧道,每条隧道都会使用一个独特的虚拟专用网关公有 IP 地址。配置两条隧道以提供冗余能力是重要的步骤。当一条隧道无法使用时 (例如,因维护而关闭),网络流量会自动路由到指定 VPN 连接的其他可用隧道。

下图展示了 VPN 连接的两条隧道。

使用冗余 VPN 连接以提供故障转移

如上所述,VPN 连接配有两条隧道以帮助确保连接性,以防止出现 VPN 连接不可用的情况。要避免因您的客户网关不可用而造成连接中断,您可使用第二个客户网关来为您的 VPC 和虚拟专用网关设置另一个 VPN 连接。通过使用冗余 VPN 连接和网关,您可以在对其中一个客户网关进行维护时保证数据流量可以继续流经第二个客户网关的 VPN 连接。要在您的网络中建立冗余 VPN 连接和客户网关,您需要设置另一个 VPN 连接。第二个 VPN 连接的客户网关 IP 地址必须可以公开访问。

下图展示了每个 VPN 连接的两条隧道和两个客户网关。

动态路由的 VPN 连接使用边界网关协议 (BGP) 在您的客户网关和虚拟专用网关之间交换路由信息。静态路由的 VPN 连接要求您输入在您这一端的客户网关的网络静态路由。通告 BGP 和静态输入的路由信息可以帮助两端的网关在出现故障时判断可用隧道,进而重新路由流量。我们建议您配置您的网络,使其使用 BGP 提供的路由信息 (若适用) 以选择可用路径。精确配置取决于您的网络架构。

设置 VPN 连接

按照以下过程手动设置 VPN 连接。或者,您可以使用 VPC 向导创建 VPC 和子网并完成此过程中的前五个步骤。有关更多信息,请参见 正在实施场景 3实施场景 4

要设置 VPN 连接,您需要完成以下步骤:

这些过程假设您的 VPC 有一个或多个子网,并且您具有所需的网络信息 (请参阅建立 VPN 连接所需的步骤)。

创建客户网关

创建客户网关

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

  2. 在导航窗格中,选择 Customer Gateways,然后选择 Create Customer Gateway

  3. Create Customer Gateway 对话框中,完成以下操作,然后选择 Yes, Create

    • Name tag (名称标签) 字段中,可以选择为您的客户网关输入名称。这样做可创建具有 Name 键以及您指定的值的标签。

    • Routing (路由) 列表中选择路由类型。

    • 如果您选择了动态路由,请在 BGP ASN 字段中输入边界网关协议 (BGP) 自治系统编号 (ASN)。

    • IP Address (IP 地址) 字段中为您的客户网关设备输入静态的 Internet 可路由 IP 地址。如果您的客户网关位于为 NAT-T 而启用的 NAT 设备后面,请使用 NAT 设备的公有 IP 地址。

创建虚拟专用网关

创建虚拟专用网关

  1. 在导航窗格中,选择 Virtual Private Gateways,然后选择 Create Virtual Private Gateway

  2. 您可选择为您的虚拟专用网关输入名称,然后选择 Yes, Create

  3. 选择您已创建的虚拟专用网关,然后选择 Attach to VPC

  4. Attach to VPC 对话框中,从列表中选择您的 VPC,然后选择 Yes, Attach

在您的路由表中启用路由传播

要使您 VPC 中的实例可以访问您的客户网关,您必须配置路由表以包含您 VPN 连接使用的路由并将它们指向您的虚拟专用网关。您可以为路由表启用路由传播,从而自动将这些路由传播到表。

对于静态路由,您为 VPN 配置指定的静态 IP 前缀会在 VPN 连接状态为 UP 时传播到路由表。同样,对于动态路由,来自客户网关的通告 BGP 路由会在 VPN 连接的状态为 UP 时传播到路由表。

启用路由传播

  1. 在导航窗格中,选择 Route Tables,然后选择与子网关联的路由表;默认情况下,该路由表为 VPC 的主路由表。

  2. 在详细信息窗格中的 Route Propagation 选项卡上,选择 Edit,选择您在上一步骤中创建的虚拟专用网关,然后选择 Save

注意

对于静态路由,如果您没有启用路由传播,则您必须手动输入您的 VPN 连接使用的静态路由。为此,请选择您的路由表,然后在详细信息窗格中选择 Routes 选项卡,然后选择 Edit。在 Destination 字段中添加您的 VPN 连接所用的静态路由,从 Target 列表中选择虚拟专用网关 ID,然后选择 Save

禁用路由传播

  1. 在导航窗格中,选择 Route Tables,然后选择与子网关联的路由表。

  2. 在详细信息窗格中的 Route Propagation 选项卡上,选择 Edit。清除虚拟专用网关的 Propagate 复选框,然后选择 Save

更新安全组以启用入站 SSH、RDP 和 ICMP 访问

向安全组添加规则以启用入站 SSH、RDP 和 ICMP 访问

  1. 在导航窗格中,选择 Security Groups,然后选择 VPC 的默认安全组。

  2. 在详细信息窗格中的 Inbound 选项卡上,添加规则,该规则允许您的网络进行入站 SSH、RDP 和 ICMP 访问,然后选择 Save。有关添加入站规则的更多信息,请参阅 添加和删除规则

创建 VPN 连接并配置客户网关

创建 VPN 连接并配置客户网关

  1. 在导航窗格中,选择 VPN Connections,然后选择 Create VPN Connection

  2. Create VPN Connection 对话框中,执行以下操作,然后选择 Yes, Create

    • Name tag (名称标签) 字段中,可以选择为您的 VPN 连接输入名称。这样做可创建具有 Name 键以及您指定的值的标签。

    • 选择您之前创建的虚拟专用网关。

    • 选择您之前创建的客户网关。

    • 根据您的 VPN 路由器是否支持边界网关协议 (BGP),选择一个路由选项:

      • 如果您的 VPN 路由器支持 BGP,请选择 Dynamic (requires BGP) (动态(需要 BGP))

      • 如果您的 VPN 路由器不支持 BGP,请选择 Static (静态)。在 Static IP Prefixes (静态 IP 前缀) 字段中,为您的 VPN 连接的专用网络指定每个 IP 前缀 (用逗号分隔)。

  3. 创建 VPN 连接可能需要几分钟的时间。准备就绪之后,选择该连接,然后选择 Download Configuration

  4. Download Configuration 对话框中,选择与客户网关设备或软件对应的供应商、平台和软件,然后选择 Yes, Download

  5. 为您的网络管理员提供配置文件和指南:Amazon VPC 网络管理员指南。在网络管理员配置客户网关之后,VPN 连接便已可以操作。

在您的子网中启动实例

在您的子网中启动实例

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

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

  3. Choose an Amazon Machine Image (AMI) 页上,选择某个 AMI,然后选择 Select

  4. 选择实例类型,然后选择 Next: Configure Instance Details

  5. Configure Instance Details (配置实例详细信息) 页面上,从 Network (网络) 列表中选择 VPC,然后从 Subnet (子网) 列表中选择子网。选择 Next,直至到达 Configure Security Group 页面。

  6. 选择 Select an existing security group (选择现有安全组) 选项,然后选择您之前修改的默认组。选择 Review and Launch

  7. 检视您已经选择的设置。执行所需的任何更改,然后选择 Launch 以选择一个密钥对并启动实例。

测试实例的端至端连接

在您设置 VPN 连接并启动实例之后,您可以通过检测实例以测试连接。您需要使用响应 ping 请求的 AMI,而且需要确保您实例的安全组配置为启用入站 ICMP。建议您使用一个 Amazon Linux AMI。如果您使用的实例在 Windows Server 中允许,您将需要登录实例,并在 Windows 防火墙中启用 ICMPv4,方可检测实例。

重要

您必须对 VPC 中负责过滤实例流量的任何安全组或网络 ACL 进行配置,以允许入站和出站 ICMP 流量。

您可以使用 Amazon VPC 控制台或使用 Amazon EC2 API/CLI 来监控 VPN 连接的状态。您可以查看有关您的 VPN 连接的信息,包括状态、自上一次状态更改后持续的时间以及描述性错误文本。

测试端到端连接

  1. 当实例开始运行后,获取其私有 IP 地址 (例如 10.0.0.4)。Amazon EC2 控制台显示的地址是实例详细信息的一部分。

  2. 对于在您的网络中、位于客户网关背后的计算机,您可以使用ping命令侦测实例的私有 IP 地址。成功响应的形式与下方类似:

    Copy
    ping 10.0.0.4
    Pinging 10.0.0.4 with 32 bytes of data:
    
    Reply from 10.0.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.0.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.0.0.4: bytes=32 time<1ms TTL=128
    
    Ping statistics for 10.0.0.4:
    Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
    
    Approximate round trip times in milliseconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

您现在可以使用 SSH 或 RDP 来连接您 VPC 中的实例。有关如何连接 Linux 实例的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的 Connect to Your Linux Instance。有关如何连接 Windows 实例的更多信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例) 中的 Connect to Your Windows Instance

替换受损的凭证

如果您认为 VPN 连接的隧道凭证已经受损,您可以更改 IKE 预共享密钥。如需测试受损凭证,取消 VPN 连接,使用相同的虚拟专用网关创建一项新的凭证,并在您的客户网关中配置新的密钥。您还需要确认隧道的内部和外部地址可以相互匹配,因为在您重新建立 VPN 连接时这些地址可能也会随之更改。在您执行此步骤时,与您的 VPC 实例的通信将会停止,但实例仍会继续不受干扰地运行。在网络管理员执行新配置信息之后,您的 VPN 连接便可使用新凭证,而到您的 VPC 实例的网络连接也将恢复正常。

重要

此步骤要求您的网络管理员组的协助。

更改 IKE 预共享密钥

  1. 删除 VPN 连接。有关更多信息,请参阅 删除 VPN 连接。您不需要删除 VPC 或虚拟专用网关。

  2. 创建新 VPN 连接并下载新配置文件。有关更多信息,请参阅 创建 VPN 连接并配置客户网关

编辑 VPN 连接的静态路由

对于静态路由,您可以添加、修改或删除您的 VPN 配置的静态路由。

添加、修改或删除静态路由

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

  2. 在导航窗格中,选择 VPN Connections

  3. Static Routes 选项卡中,选择 Edit

  4. 修改现有静态 IP 前缀或选择 Remove 将其删除。选择 Add Another Route 以向您的配置添加新的 IP 前缀。完成此操作后,选择 Save

注意

如果您尚未为路由表启用路由传播,则必须手动更新您的路由表中的路由以在 VPN 连接中反映更新的静态 IP 前缀。有关更多信息,请参阅 在您的路由表中启用路由传播

删除 VPN 连接

若您不再需要某一 VPN 连接,则可将其删除。

重要

如果您删除了 VPN 连接并创建了一个新连接,则需要下载新配置信息,然后让您的网络管理员重新配置客户网关。

删除 VPN 连接

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

  2. 在导航窗格中,选择 VPN Connections

  3. 选择 VPN 连接,然后选择 Delete

  4. Delete VPN Connection 对话框中,选择 Yes, Delete

若您不再需要某一客户网关,则可将其删除。您无法删除正在 VPN 连接中使用的客户网关。

删除客户网关

  1. 在导航窗格中,选择 Customer Gateways

  2. 选择要删除的客户网关,然后选择 Delete

  3. Delete Customer Gateway 对话框中,选择 Yes, Delete

如果您不再需要 VPC 的某一虚拟专用网关,则可将其断开。

断开虚拟专用网关

  1. 在导航窗格中,选择 Virtual Private Gateways

  2. 选择相应的虚拟专用网关,然后选择 Detach from VPC

  3. Detach from VPC 对话框中,选择 Yes, Detach

如果不再需要某一断开的虚拟专用网关,可将其删除。您无法删除仍与 VPC 关联的虚拟专用网关。

删除虚拟专用网关

  1. 在导航窗格中,选择 Virtual Private Gateways

  2. 选择要删除的虚拟专用网关,然后选择 Delete

  3. Delete Virtual Private Gateway 对话框中,选择 Yes, Delete

API 和 CLI 概述

您可以使用命令行或 API 操作来设置和管理您的 VPN 连接。有关更多信息 (包括可用 API 操作的列表),请参阅 访问 Amazon VPC

创建客户网关

创建虚拟专用网关

启用路由传播

禁用路由传播

更新您的安全组

创建 VPN 连接

添加静态路由

删除静态路由

删除 VPN 连接

删除客户网关

断开虚拟专用网关

删除虚拟专用网关