

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

# 创建AWS Client VPN终端节点
<a name="cvpn-working-endpoint-create"></a>

创建AWS Client VPN终端节点，使您的客户端能够使用 Amazon VPC 控制台或使用 Amazon VPC 控制台建立 VPN 会话AWS CLI。Client VPN 在初始创建时支持终端节点类型（分隧道和全隧道）与流量类型（IPv4 IPv6、和双堆栈）的所有组合。

在创建端点之前，请先熟悉各项要求。有关更多信息，请参阅 [创建 Client VPN 端点的要求](cvpn-working-endpoints.md#cvpn-working-create-req)。

**使用控制台创建 Client VPN 端点**

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

1. 在导航窗格中，选择 **Client VPN Endpoints**（Client VPN 端点），然后选择 **Create Client VPN Endpoint**（创建 Client VPN 端点）。

1. 在 “选择安装方法” 下，选择以下选项之一：
   + 快速入门-使用 AWS 推荐的默认值创建终端节点
   + 标准-手动配置终端的所有设置

**快速入门设置：**

1. 在 “选择设置方法” 中，选择 “快速入门”。

1.  在 “客户端 IPv4 CIDR” 中，输入要从中分配客户端 IP 地址的 IP 地址范围。AWS 建议使用 /22 CIDR 块（例如 10.0.0.0/22）。

1.  对于 “VPC”，选择要与 Client VPN 终端节点关联的 VPC。

1.  在 “子网” 中，选择 VPC 中的一个或多个子网。这些子网将用于目标网络关联。

1.  对于 Server certificate ARN（服务器证书 ARN），请指定服务器要使用的 TLS 证书的 ARN。客户端使用服务器证书对它们正在连接的 Client VPN 终端节点进行身份验证。

1.  选择 “创建 Client VPN 端点”。

AWS 会自动创建以下资源：
+ 允许所有用户访问 VPC CIDR 的授权规则
+ 目标网络与所选 VPC 子网的关联
+ VPC CIDR 的路由表条目

 创建终端节点后，您可以从终端节点详细信息页面下载客户端配置文件，并将其与客户端证书和密钥一起分发给您的用户。

**标准设置：**

1. 在 “选择设置方法” 中，选择 “标准”。

1. （可选）提供 Client VPN 终端节点的名称标签和描述。

1. 对于**端点 IP 地址类型**，选择端点的 IP 地址类型：
   + **IPv4**：终端使用外部 VPN 隧道流量 IPv4 的地址。
   + **IPv6**：终端使用外部 VPN 隧道流量 IPv6 的地址。
   + **双栈**：端点同时使用 IPv4 和 IPv6 地址来处理外部 VPN 隧道流量。

1. 对于**流量 IP 地址类型**，选择流经端点的流量的 IP 地址类型：
   + **IPv4**：端点仅支持 IPv4 流量。
   + **IPv6**：端点仅支持 IPv6 流量。
   + **双栈**：端点同时支持 IPv4 和 IPv6 流量。

1. 对于**客户端 IPv4 CIDR**，以 CIDR 表示法指定一个 IP 地址范围，从中分配客户端 IP 地址。例如 `10.0.0.0/22`。如果您为流量 IP 地址类型选择了 IPv4 或双堆栈，则这是必需的。
**注意**  
此地址范围不能与目标网络地址范围、VPC 地址范围或将与 Client VPN 端点关联的任何路由重叠。客户端地址范围必须至少为 /22 且不大于 /12 CIDR 块大小。创建 Client VPN 终端节点后，您无法更改客户端地址范围。
当您选择 IPv6 作为终端节点 IP 地址类型时，“客户端 IPv4 CIDR” 字段将被禁用。Client VPN 终端节点从关联的子网分配客户机 IPv6地址，您可以在创建终端节点后关联子网。
**注意**  
对于 IPv6 流量，您无需指定客户端 CIDR 范围。Amazon 会自动为客户分配 IPv6 CIDR 范围。

1. 对于 **Server certificate ARN**（服务器证书 ARN），请指定服务器要使用的 TLS 证书的 ARN。客户端使用服务器证书对它们正在连接的 Client VPN 终端节点进行身份验证。
**注意**  
服务器证书必须存在于您正在创建 Client VPN 端点的区域的AWS Certificate Manager(ACM) 中。可以使用 ACM 预置证书，也可以导入到 ACM 中。  
有关在 ACM 中预置或导入证书的步骤，请参阅《AWS Certificate Manager用户指南》**中的 [AWS Certificate Manager证书](https://docs.aws.amazon.com/acm/latest/userguide/gs.html)。

1. 指定当客户端建立 VPN 连接时要用来对客户端进行身份验证的身份验证方法。您必须选择身份验证方法。
   + 要使用基于用户的身份验证，请选择 **Use user-based authentication**（使用基于用户的身份验证），然后选择以下选项之一：
     + **Active Directory authentication**（Active Directory 身份验证）：为 Active Directory 身份验证选择此选项。对于 **Directory ID**（目录 ID），指定要使用的 Active Directory 的 ID。
     + **Federated authentication**（联合身份验证）：为基于 SAML 的联合身份验证选择此选项。

       对于 **SAML provider ARN**（SAML 提供商 ARN），指定 IAM SAML 身份提供商的 ARN。

       （可选）对于 **Self-service SAML provider ARN**（自助服务 SAML 提供商 ARN），指定您为[支持自助服务门户](federated-authentication.md#saml-self-service-support)而创建的 IAM SAML 身份提供商的 ARN（如果适用）。
   + 要使用相互证书身份验证，请选择 “**使用相互身份验证**”，然后在 “**客户端证书 ARN**” 中，指定在 (ACM) 中配置的客户证书的 ARN。AWS Certificate Manager
**注意**  
如果服务器证书和客户端证书是由相同证书颁发机构 (CA) 颁发，则您可以将服务器证书 ARN 用于服务器和客户端。如果客户端证书是由其他 CA 颁发，则应指定客户端证书 ARN。

1. （可选）对于**连接日志**，请指定是否使用 Amazon Log CloudWatch s 记录有关客户端连接的数据。开启 **Enable log details on client connections**（在客户端连接上启用日志详细信息）。在**CloudWatch 日志日志组名称**中，输入要使用的日志组的名称。在**CloudWatch 日志日志流名称**中，输入要使用的日志流的名称，或者将此选项留空以让我们为您创建日志流。

1. （可选）对于 **Client Connect Handler**（客户端连接处理程序），开启 **Enable client connect handler**（启用客户端连接处理程序），以运行允许或拒绝与 Client VPN 端点的新连接的自定义代码。对于 **Client Connect Handler ARN**（客户端连接处理程序 ARN），指定包含允许或拒绝连接的逻辑的 Lambda 函数的 Amazon 资源名称（ARN）。

1. （可选）指定用于 DNS 解析的 DNS 服务器。要使用自定义 DNS 服务器，请为 **DNS 服务器 1 的 IP 地址**和 **DNS 服务器 2 的 IP IPv4 地址**指定要使用的 DNS 服务器的地址。对于 IPv6 双栈终端节点，您还可以指定 **DNS 服务器 IPv6 1** 和 **DNS 服务器 IPv6 2** 地址。要使用 VPC DNS 服务器，对于 **DNS Server 1 IP address**（DNS 服务器 1 IP 地址）或 **DNS Server 2 IP address**（DNS 服务器 2 IP 地址），指定 IP 地址，并添加 VPC DNS 服务器 IP 地址。
**注意**  
验证客户端是否能访问 DNS 服务器。

1. （可选）原定设置情况下，Client VPN 端点使用 `UDP` 传输协议。若要改用 `TCP` 传输协议，对于 **Transport Protocol**（传输协议），选择 **TCP**。
**注意**  
UDP 通常能比 TCP 提供更好的性能。创建 Client VPN 端点后，无法更改传输协议。

1. （可选）要使端点成为拆分隧道 Client VPN 端点，请开启 **Enable split-tunnel**（启用拆分隧道）。默认情况下，Client VPN 端点会禁用拆分隧道功能。

1. （可选）对于 **VPC ID**，请选择要与 Client VPN 端点关联的 VPC。对于**安全组 IDs**，选择一个或多个 VPC 的安全组以应用于 Client VPN 终端节点。

1. （可选）对于 **VPN port**（VPN 端口），选择 VPN 端口号。默认值为 443。

1. （可选）要为客户端生成 [self-service portal URL](cvpn-self-service-portal.md)（自助服务门户 URL），请开启 **Enable self-service portal**（启用自助服务门户）。

1. （可选）对于 **Session timeout hours**（会话超时时间），请从可用的选项中选择所需的最长 VPN 会话持续时间（以小时为单位），也可保留 24 小时的原定设置。

1. （可选）对于**会话超时时断开连接**，请选择是否要在达到最长会话时间时终止会话。选择此选项要求用户在会话超时时手动重新连接到端点；否则，Client VPN 将自动尝试重新连接。

1. （可选）指定是否启用客户端登录横幅文本。开启 **Enable client login banner**（启用客户端登录横幅）。对于 **Client login banner text**（客户端登录横幅文本），输入 VPN 会话建立时将在 AWS 提供的客户端上显示的横幅文本。仅支持 UTF-8 编码字符。最多可使用 1400 个字符。

1. 选择 **Create Client VPN Endpoint**（创建 Client VPN 终端节点）。

创建 Client VPN 端点后，请执行以下操作以完成配置并使客户端能够连接：
+ Client VPN 端点的初始状态为 `pending-associate`。仅当您关联第一个[目标网络](cvpn-working-target-associate.md)后，客户端才能连接到 Client VPN 端点。
+ 创建[授权规则](cvpn-working-rules.md)，以指定哪些客户端具有网络访问权限。
+ 下载并准备要分发给客户端的 Client VPN 端点[配置文件](cvpn-working-endpoint-export.md)。
+ 指示您的客户使用AWS提供的客户端或其他基于 OpenVPN 的客户端应用程序连接到 Client VPN 端点。有关更多信息，请参阅 [AWS Client VPN《用户指南》](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/)。

**使用创建 Client VPN 终端节点AWS CLI**  
使用 [create-client-vpn-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-client-vpn-endpoint.html) 命令。

创建终 IPv4 端节点的示例：

```
aws ec2 create-client-vpn-endpoint \
  --client-cidr-block "172.31.0.0/16" \
  --server-certificate-arn arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
  --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE} \
  --connection-log-options Enabled=false
```

创建终 IPv6 端节点的示例：

```
aws ec2 create-client-vpn-endpoint \
  --endpoint-ip-address-type "ipv6" \
  --traffic-ip-address-type "ipv6" \
  --server-certificate-arn arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
  --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE} \
  --connection-log-options Enabled=false
```

创建双堆栈端点的示例：

```
aws ec2 create-client-vpn-endpoint \
  --endpoint-ip-address-type "dual-stack" \
  --traffic-ip-address-type "dual-stack" \
  --client-cidr-block "172.31.0.0/16" \
  --server-certificate-arn arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
  --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:ap-south-1:123456789012:certificate/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE} \
  --connection-log-options Enabled=false
```