

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

# 开始使用 AWS Site-to-Site VPN
<a name="SetUpVPNConnections"></a>

使用以下步骤来建立 AWS Site-to-Site VPN 连接。在创建过程中，您将指定虚拟专用网关、传输网关、 Site-to-Site VPN 集中器或 “未关联” 作为目标网关类型。如果您指定 “未关联”，则可以稍后选择目标网关类型，也可以将其用作 AWS Cloud WAN 的 VPN 附件。本教程帮助您使用虚拟私有网关创建 VPN 连接。该教程假定您的现有 VPC 具有一个或多个子网。

要使用虚拟私有网关设置连接，请完成以下步骤：

**Topics**
+ [先决条件](#vpn-prerequisites)
+ [创建客户网关](#vpn-create-cgw)
+ [创建目标网关](#vpn-create-target-gateway)
+ [配置路由](#vpn-configure-route-tables)
+ [更新您的安全组](#vpn-configure-security-groups)
+ [创建 VPN 连接](#vpn-create-vpn-connection)
+ [下载配置文件](#vpn-download-config)
+ [配置客户网关设备](#vpn-configure-customer-gateway-device)

**相关任务**
+ 要为 AWS 云广域网创建 VPN 连接，请参阅[使用 CLI 或 API 创建 VPN 云广域网连接](create-cwan-vpn-attachment.md)。
+ 要在中转网关上创建 VPN 连接，请参阅[创建 VPN 连接](create-vpn-connection.md)。

## 先决条件
<a name="vpn-prerequisites"></a>

您需要以下信息来设置和配置 VPN 连接的组件。


| Item | 信息 | 
| --- | --- | 
| 客户网关设备 | VPN 连接在您一端的物理或软件设备。您需要供应商（例如 Cisco）、平台（例如 ISR 系列路由器）和软件版本（例如 IOS 12.4）。 | 
| 客户网关 | 要在中创建客户网关资源 AWS，您需要以下信息：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpn/latest/s2svpn/SetUpVPNConnections.html)有关更多信息，请参阅 [客户网关选项](cgw-options.md)。 | 
|  （可选）BGP 会话 AWS 一侧的 ASN  |  您可以在创建虚拟私有网关或中转网关时指定此项。如果您未指定值，则会应用默认 ASN。有关更多信息，请参阅[虚拟专用网关](how_it_works.md#VPNGateway)。  | 
| VPN 连接 | 要创建 VPN 连接，您需要以下信息：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/vpn/latest/s2svpn/SetUpVPNConnections.html) | 

## 步骤 1：创建客户网关
<a name="vpn-create-cgw"></a>

客户网关提供 AWS 有关您的客户网关设备或软件应用程序的信息。有关更多信息，请参阅 [客户网关](how_it_works.md#CustomerGateway)。

如果您计划使用私有证书对 VPN 进行身份验证，请使用从属 CA 创建私有证书 AWS 私有证书颁发机构。有关创建私有证书的信息，请参阅*《AWS 私有证书颁发机构 用户指南》*中的[创建和管理私有 CA](https://docs.aws.amazon.com/privateca/latest/userguide/creating-managing.html)。

**注意**  
您必须指定 IP 地址，或者指定私有证书的 Amazon 资源名称。

**使用控制台创建客户网关**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择**客户网关**。

1. 选择**创建客户网关**。

1. （可选）对于 **Name tag**（名称标签），为您的客户网关输入名称。这样做可创建具有 `Name` 键以及您指定的值的标签。

1. 对于 **BGP ASN**，输入您的客户网关的边界网关协议（BGP）自治系统编号（ASN）。

1. 对于 **IP 地址类型**，可从以下选项中选择一种：
   + **IPv4**-（默认）为您的客户网关设备指定 IPv4 地址。
   + **IPv6**-为您的客户网关设备指定 IPv6 地址。使用 IPv6 外部隧道创建 VPN 连接时需要此选项 IPs。

1. 对于 **IP 地址**，输入客户网关设备的静态 Internet 可路由 IP 地址。如果您的客户网关设备位于为 NAT-T 而启用的 NAT 设备后面，请使用 NAT 设备的公有 IP 地址。

1. （可选）如果您想要使用私有证书，对于 **Certificate ARN (证书 ARN)**，请选择私有证书的 Amazon 资源名称。

1. （可选）对于**设备**，输入与此客户网关关联的客户网关设备的名称。

1. 选择**创建客户网关**。

**使用命令行或 API 创建客户网关**
+ [CreateCustomerGateway](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateCustomerGateway.html)（亚马逊 EC2 查询 API）
+ [create-customer-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-customer-gateway.html) (AWS CLI)

  创建 IPv6 客户网关的示例：

  ```
  aws ec2 create-customer-gateway --ipv6-address 2001:0db8:85a3:0000:0000:8a2e:0370:7334 --bgp-asn 65051 --type ipsec.1 --region us-west-1
  ```
+ [New-EC2CustomerGateway](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2CustomerGateway.html) (AWS Tools for Windows PowerShell)

## 步骤 2：创建目标网关
<a name="vpn-create-target-gateway"></a>

要在您的 VPC 和本地网络之间建立 VPN 连接，您必须在连接 AWS 侧创建目标网关。目标网关可以是虚拟私有网关或中转网关。

### 创建虚拟专用网关
<a name="vpn-create-vpg"></a>

创建虚拟私有网关时，可以为网关的 Amazon 端指定自定义的私有自治系统编号 (ASN)，或使用 Amazon 原定设置 ASN。此 ASN 必须与您为客户网关指定的 ASN 不同。

创建虚拟专用网关后，必须将其连接到您的 VPC。

**创建虚拟专用网关并将其连接到您的 VPC**

1. 在导航窗格中，选择**虚拟私有网关**。

1. 选择 **Create virtual private gateway**（创建虚拟私有网关）。

1. （可选）对于**名称标签**，输入虚拟私有网关的名称。这样做可创建具有 `Name` 键以及您指定的值的标签。

1. 对于**自治系统号（ASN）**，保留原定设置选择 **Amazon 原定设置 ASN**，以使用原定设置 Amazon ASN。否则，选择**自定义 ASN**并输入一个值。对于 16 位 ASN，该值必须在 64512 到 65534 范围内。对于 32 位 ASN，该值必须在 4200000000 到 4294967294 范围内。

1. 选择 **Create virtual private gateway**（创建虚拟私有网关）。

1. 选择您已创建的虚拟私有网关，然后依次选择 **Actions**（操作）和 **Attach to VPC**（挂载到 VPC）。

1. 对于**可用 VPCs**，选择您的 VPC，然后选择**附加到 VPC**。

**使用命令行或 API 创建虚拟专用网关**
+ [CreateVpnGateway](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpnGateway.html)（亚马逊 EC2 查询 API）
+ [create-vpn-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpn-gateway.html) (AWS CLI)
+ [New-EC2VpnGateway](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2VpnGateway.html) (AWS Tools for Windows PowerShell)

**使用命令行或 API 将虚拟专用网关连接到 VPC**
+ [AttachVpnGateway](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AttachVpnGateway.html)（亚马逊 EC2 查询 API）
+ [attach-vpn-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-vpn-gateway.html) (AWS CLI)
+ [Add-EC2VpnGateway](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2VpnGateway.html) (AWS Tools for Windows PowerShell)

### 创建中转网关
<a name="vpn-create-tgw"></a>

有关创建中转网关的更多信息，请参阅 *Amazon VPC 中转网关* 中的[中转网关](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html)。

## 步骤 3：配置路由
<a name="vpn-configure-route-tables"></a>

要使您 VPC 中的实例可以访问您的客户网关，您必须配置路由表以包含您的 VPN 连接所使用的路由，并将它们指向您的虚拟私有网关或中转网关。

### （虚拟私有网关）在路由表中启用路由传播
<a name="vpn-configure-routing"></a>

您可以为路由表启用路由传播，以自动传播 Site-to-Site VPN 路由。

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

**注意**  
如果您的连接中断但 VPN 连接保持在 UP 状态，您的路由表中的任何已传播路由将不会自动删除。请注意这一点，例如在您想将流量失效转移到静态路由时。在这种情况下，您可能必须禁用路由传播才能删除传播的路由。

**使用控制台启用路由传播**

1. 在导航窗格中，选择 **Route tables**（路由表）。

1. 选择与子网关联的路由表。

1. 在**路由传播**选项卡上，选择**编辑路由传播**。选择您在之前过程中创建的虚拟私有网关，然后选择**保存**。

**注意**  
如果您没有启用路由传播，则必须手动输入 VPN 连接使用的静态路由。为此，请选择您的路由表，然后依次选择 **Routes**（路由）、**Edit**（编辑）。在**目的地**中，添加您的 Site-to-Site VPN 连接使用的静态路由。对于 **Target**，选择虚拟专用网关 ID，然后选择 **Save**。

**使用控制台禁用路由传播**

1. 在导航窗格中，选择 **Route tables**（路由表）。

1. 选择与子网关联的路由表。

1. 在**路由传播**选项卡上，选择**编辑路由传播**。清除虚拟私有网关的**传播**复选框。

1. 选择**保存**。

**使用命令行或 API 启用路由传播**
+ [EnableVgwRoutePropagation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EnableVgwRoutePropagation.html)（亚马逊 EC2 查询 API）
+ [enable-vgw-route-propagation](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-vgw-route-propagation.html) (AWS CLI)
+ [Enable-EC2VgwRoutePropagation](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2VgwRoutePropagation.html) (AWS Tools for Windows PowerShell)

**使用命令行或 API 禁用路由传播**
+ [DisableVgwRoutePropagation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisableVgwRoutePropagation.html)（亚马逊 EC2 查询 API）
+ [disable-vgw-route-propagation](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-vgw-route-propagation.html) (AWS CLI)
+ [Disable-EC2VgwRoutePropagation](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2VgwRoutePropagation.html) (AWS Tools for Windows PowerShell)

### （中转网关）向路由表添加路由
<a name="vpn-configure-tgw-routes"></a>

如果您为中转网关启用了路由表传播，则 VPN 连接的路由将传播到中转网关路由表。有关更多信息，请参阅 *Amazon VPC 中转网关* 中的[路由](https://docs.aws.amazon.com/vpc/latest/tgw/how-transit-gateways-work.html#tgw-routing-overview)。

如果您将 VPC 连接到中转网关，并且您希望允许 VPC 中的资源能够访问您的客户网关，则必须向子网路由表添加路由以指向中转网关。

**向 VPC 路由表中添加路由**

1. 在导航窗格中，选择**路由表**。

1. 选择与 VPC 关联的路由表。

1. 在 **Routes (路由)** 选项卡上，选择 **Edit routes (编辑路由)**。

1. 选择 **Add route (添加路由)**。

1. 对于**目标**，输入目标 IP 地址范围。对于**目标**，选择中转网关。

1. 选择**保存更改**。

## 步骤 4：更新安全组
<a name="vpn-configure-security-groups"></a>

要允许从您的网络访问 VPC 中的实例，您必须更新安全组规则以启用入站 SSH、RDP 和 ICMP 访问。

**向安全组添加规则以启用访问**

1. 在导航窗格中，选择**安全组**。

1. 选择 VPC 中要允许访问的实例的安全组。

1. 在 **Inbound Rules (入站规则)** 选项卡上，选择 **Edit inbound rules (编辑入站规则)**。

1. 添加规则，这些规则允许从您的网络进行入站 SSH、RDP 和 ICMP 访问，然后选择**保存规则**。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[使用安全组规则](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html#working-with-security-group-rules)。

## 步骤 5：创建 VPN 连接
<a name="vpn-create-vpn-connection"></a>

将客户网关与您之前创建的虚拟私有网关或中转网关结合使用，以创建 VPN 连接。

**创建 VPN 连接**

1. 在导航窗格中，选择 **Site-to-Site VPN 连接**。

1. 选择**创建 VPN 连接**。

1. （可选）对于**名称标签**，为您的 VPN 连接输入名称。这样做可创建具有 `Name` 键以及您指定的值的标签。

1. 对于 **Target gateway type**（目标网关类型），选择 **Virtual private gateway**（虚拟私有网关）或 **Transit gateway**（中转网关）。然后，选择您之前创建的虚拟私有网关或中转网关。

1. 对于**客户网关**，选择**现有**，然后从**客户网关 ID** 中选择之前创建的客户网关。

1. 根据您的客户网关设备是否支持边界网关协议（BGP），选择一个**路由选项**：
   + 如果您的客户网关设备支持 BGP，请选择**动态（需要 BPG）**。
   + 如果您的客户网关设备不支持 BGP，请选择**静态**。对于 **Static IP Prefixes**，为您的 VPN 连接的专用网络指定各自的 IP 前缀。

1. 选择预共享密钥存储类型：
   + **标准**-预共享密钥直接存储在 Site-to-Site VPN 服务中。
   + S@@ **ecrets Manager** — 使用 AWS Secrets Manager存储预共享密钥。有关 Secrets Manager 的更多信息，请参阅[使用 Secrets Manager 增强安全功能](enhanced-security.md)。

1. 如果您的目标网关类型是传输网关，则对于 **IP 内部隧道版本**，请指定 VPN 隧道是否支持 IPv4 或 IPv6流量。 IPv6 只有传输网关上的 VPN 连接才支持流量。

1. 如果您在 **IP 版本内指定**IPv4**隧道**，则可以选择为客户网关和允许通过 VPN 隧道进行通信的 AWS 端指定 IPv4 CIDR 范围。默认值为 `0.0.0.0/0`。

   如果您在 **IP 版本内指定**IPv6**隧道**，则可以选择为客户网关和允许通过 VPN 隧道进行通信的 AWS 端指定 IPv6 CIDR 范围。这两个范围的默认值均为 `::/0`。

1. 对于**外部 IP 地址类型**，请选择以下选项之一：
   + **PublicIpv4**-（默认）使用外部隧道 IPv4 的地址 IPs。
   + **IPv6**-使用外部隧道 IPv6 的地址 IPs。此选项仅适用于中转网关或 Cloud WAN 上的 VPN 连接。

1. （可选）对于**隧道选项**，您可以选择为每个隧道指定以下信息：
   + 内部隧道 IPv4 地址`169.254.0.0/16`范围 IPv4 中的 CIDR 块大小为 /30。
   + 如果您在 **IP 版本内**IPv6**为 Tunnel 指定，则内部隧道**地址的`fd00::/8`范围中会有 /126 IPv6 CIDR 块。 IPv6
   + IKE 预共享密钥（PSK）。支持以下版本： IKEv1 或 IKEv2。
   + 要编辑隧道的高级选项，请选择**编辑隧道选项**。有关更多信息，请参阅 [VPN 隧道选项](VPNTunnels.md)。

1. 选择**创建 VPN 连接**。创建 VPN 连接可能需要几分钟时间。

**使用命令行或 API 创建 VPN 连接**
+ [CreateVpnConnection](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpnConnection.html)（亚马逊 EC2 查询 API）
+ [create-vpn-connection](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpn-connection.html) (AWS CLI)

  使用 IPv6 外部隧道 IPs 和 IPv6 内部隧道创建 VPN 连接的示例 IPs：

  ```
  aws ec2 create-vpn-connection --type ipsec.1 --transit-gateway-id tgw-12312312312312312 --customer-gateway-id cgw-001122334455aabbc --options OutsideIPAddressType=IPv6,TunnelInsideIpVersion=ipv6,TunnelOptions=[{StartupAction=start},{StartupAction=start}]
  ```

  使用 IPv6 外部隧道 IPs 和 IPv4 内部隧道创建 VPN 连接的示例 IPs：

  ```
  aws ec2 create-vpn-connection --type ipsec.1 --transit-gateway-id tgw-12312312312312312 --customer-gateway-id cgw-001122334455aabbc --options OutsideIPAddressType=IPv6,TunnelInsideIpVersion=ipv4,TunnelOptions=[{StartupAction=start},{StartupAction=start}]
  ```
+ [New-EC2VpnConnection](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2VpnConnection.html) (AWS Tools for Windows PowerShell)

## 步骤 6：下载配置文件
<a name="vpn-download-config"></a>

创建 VPN 连接后，您可以下载示例配置文件用于配置客户网关设备。

**重要**  
配置文件仅为示例，可能与您的目标 VPN 连接设置完全不符。它规定了大多数地区的 AES128 SHA1、和 Diffie-Hellman 组 2 的 VPN 连接的最低要求，以及 AWS 区域中的 AES128 SHA2、和 Diffie-Hellman 组 14 的最低要求。 AWS GovCloud 它还指定用于身份验证的预共享密钥。您必须修改示例配置文件以利用其他安全算法、Diffie-Hellman 组、私有证书和流量。 IPv6   
我们在配置文件中引入了对许多常用客户网关设备的 IKEv2 支持，并将随着时间的推移继续添加其他文件。有关 IKEv2 支持的配置文件列表，请参阅[AWS Site-to-Site VPN 客户网关设备](your-cgw.md)。

**Permissions**  
要从正确加载下载配置屏幕 AWS 管理控制台，您必须确保您的 IAM 角色或用户拥有以下 Amazon EC2 的权限 APIs：`GetVpnConnectionDeviceTypes`和`GetVpnConnectionDeviceSampleConfiguration`。

**使用控制台下载配置文件**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **Site-to-Site VPN 连接**。

1. 选择您的 VPN 连接，然后选择**下载配置**。

1. 选择与您的客户网关设备对应的**供应商**、**平台**和**软件**和 **IKE 版本**。如果您的设备未列出，请选择 **Generic (通用)**。

1. 选择 **Download**（下载）。

**使用命令行或 API 下载配置文件示例**
+ [GetVpnConnectionDeviceTypes](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetVpnConnectionDeviceTypes.html)（亚马逊 EC2 API）
+ [GetVpnConnectionDeviceSampleConfiguration](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetVpnConnectionDeviceSampleConfiguration.html)（亚马逊 EC2 查询 API）
+ [get-vpn-connection-device-类型](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-vpn-connection-device-types.html) ()AWS CLI
+ [get-vpn-connection-device-示例配置 ()](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-vpn-connection-device-sample-configuration.html)AWS CLI

## 步骤 7：配置客户网关设备
<a name="vpn-configure-customer-gateway-device"></a>

使用示例配置文件配置客户网关设备。客户网关设备是 VPN 连接在您这一端的实体设备或软件设备。有关更多信息，请参阅 [AWS Site-to-Site VPN 客户网关设备](your-cgw.md)。