

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

# 使用 Elastic Load Balancing 添加负载均衡器 AWS CloudHSM（可选）
<a name="third-offload-add-lb"></a>

使用一台 Web 服务器设置 SSL/TLS 卸载后，您可以创建更多 Web 服务器和一个 Elastic Load Balancing 负载均衡器，将 HTTPS 流量路由到 Web 服务器。负载均衡器可通过使两台或更多 web 服务器上的流量达到均衡，来减少您的单个 web 服务器上的负载。它还可以提高您的网站的可用性，因为负载均衡器可监视您的 Web 服务器的运行状况并且仅将流量路由到运行状况良好的服务器。如果某个 Web 服务器出现故障，负载均衡器会自动停止将流量路由到该服务器。

**Topics**
+ [步骤 1：为第二个 Web 服务器创建子网](#ssl-offload-load-balancer-create-new-subnet)
+ [步骤 2：创建第二个 Web 服务器](#ssl-offload-load-balancer-create-web-server)
+ [步骤 3：创建负载均衡器](#ssl-offload-load-balancer-create-load-balancer)

## 步骤 1：为第二个 Web 服务器创建子网
<a name="ssl-offload-load-balancer-create-new-subnet"></a>

在创建另一个 Web 服务器之前，您需要在包含现有 Web 服务器和 AWS CloudHSM 集群的同一 VPC 中创建一个新子网。

**创建新子网**

1. 打开 [Amazon VPC 控制台的**子网**部分](https://console.aws.amazon.com/vpc/home#subnets:)。

1. 选择**创建子网**。

1. 在**创建子网**对话框中，执行以下操作：

   1. 对于**名称标签**，键入您的子网的名称。

   1. 对于 **VPC**，请选择包含您的现有 Web 服务器和 AWS CloudHSM 集群的 AWS CloudHSM VPC。

   1. 对于**可用区**，选择与包含现有 Web 服务器的可用区不同的可用区。

   1. 对于 **IPv4 CIDR block**，键入要用于子网的 CIDR 块。例如，键入 **10.0.10.0/24**。

   1. 选择**是，创建**。

1. 选中包含现有 Web 服务器的公有子网旁边的复选框。这与您在上一步中创建的公有子网不同。

1. 在内容窗格中，选择**路由表**选项卡。然后选择路由表的链接。  
![\[在 Amazon VPC 控制台中选择路由表链接。\]](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/images/console-vpc-choose-route-table.png)

1. 选中路由表旁边的复选框。

1. 选择**子网关联**选项卡。然后选择**编辑**。

1. 选中您在此过程的前面部分创建的公有子网旁的复选框。然后选择**保存**。

## 步骤 2：创建第二个 Web 服务器
<a name="ssl-offload-load-balancer-create-web-server"></a>

完成以下步骤以创建与现有 Web 服务器配置相同的另一个 Web 服务器。

**创建另一个 Web 服务器**

1. 打开 Amazon EC2 控制台的[https://console.aws.amazon.com/ec2/v2/home#Instances:](https://console.aws.amazon.com/ec2/v2/home#Instances:)章节，其位于。

1. 选中现有 Web 服务器实例旁边的复选框。

1. 依次选择**操作** 、**映像**和**创建映像**。

1. 在**创建映像** 对话框中，执行以下操作：

   1. 对于**映像名称** ，请键入映像的唯一名称。

   1. 对于**映像描述** ，请键入映像的描述。

   1. 选择**创建映像**。此操作将重启现有 Web 服务器。

   1. 选择**查看待处理图片 ami-*<AMI ID>*** 链接。  
![\[在 Amazon EC2 控制台中选择查看待处理影像链接。\]](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/images/console-ec2-choose-view-pending-image.png)

      在**状态**列中，记下您的影像状态。当您的映像状态为**可用**时 (这可能需要几分钟)，请转到下一步。

1. 在导航窗格中，选择 **Instances (实例)**。

1. 选中现有 Web 服务器旁边的复选框。

1. 选择**操作** ，然后选择**启动更多类似项**。

1. 选择**编辑 AMI**。  
![\[在 Amazon EC2 控制台中选择编辑 AMI 链接。\]](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/images/console-ec2-choose-edit-ami.png)

1. 在左侧导航窗格中，选择**我的 AMIs**。然后，清除搜索框中的文本。

1. 在您的 Web 服务器映像旁，选择**选择**。

1. 选择**是，我想继续使用此 AMI (*<image name>*-ami-*<AMI ID>*)**。

1. 选择**下一步**。

1. 选择实例类型，然后选择**下一步：配置实例详细信息**。

1. 对于**步骤 3：配置实例详细信息**，执行以下操作：

   1. 对于**网络**，选择包含现有 Web 服务器的 VPC。

   1. 对于**子网**，选择您为第二个 Web 服务器创建的公有子网。

   1. 对于**自动分配公有 IP**，选择**启用**。

   1. 根据偏好更改其余实例的详细信息。然后选择**下一步：添加存储**。

1. 根据偏好更改存储设置。然后，选择**下一步：添加标签**。

1. 根据偏好添加或编辑标签。然后选择**下一步：配置安全组**。

1. 对于**步骤 6：配置安全组**，执行以下操作：

   1. 对于**分配安全组**，选择**选择现有安全组**。

   1. 选中名为 **cloudhsm--*<cluster ID>* s** g 的安全组旁边的复选框。 AWS CloudHSM 创建集群时代表您[创建了此安全组](create-cluster.md)。您必须选择此安全组才能允许 Web 服务器实例连接到群集 HSMs 中的。

   1. 选中允许入站 HTTPS 流量的安全组旁边的复选框。您[之前创建了此安全组](ssl-offload-windows.md#ssl-offload-add-security-group-windows)。

   1. (可选) 选中允许来自网络的入站 SSH（适用 Linux）或 RDP（适用 Windows）流量的安全组旁边的复选框。也就是说，安全组必须允许端口 22（Linux 上的 SSH）或端口 3389（Windows 上的 RDP）上的入站 TCP 流量。否则，您将无法连接到客户端实例。如果您没有此类安全组，则必须创建一个安全组并稍后将它分配给客户端实例。

   选择**审核并启动**。

1. 查看实例详细信息，然后选择 **启动**。

1. 选择是使用现有密钥对启动您的实例、创建新的密钥对还是在没有密钥对的情况下启动您的实例。
   + 要使用现有密钥对，请执行以下操作：

     1. 选择**选择现有密钥对**。

     1. 对于**选择密钥对**，选择要使用的密钥对。

     1. 选中 “**我确认我有权访问所选私钥文件 (*<private key file name>*.pem)” 旁边的复选框，如果没有此文件，我将无法登录我的**实例。
   + 要创建新密钥对，请执行以下操作：

     1. 选择 **Create a new key pair**。

     1. 对于**密钥对名称** ，请键入一个密钥对名称。

     1. 选择**下载密钥对**并将私有密钥文件保存在一个安全且易于访问的位置。
**警告**  
此后您无法再次下载私有密钥文件。如果您现在不下载私有密钥文件，您将无法访问客户端实例。
   + 要在没有密钥对的情况下启动您的实例，请执行以下操作：

     1. 选择**继续操作但不提供密钥对**。

     1. 选中 **I acknowledge that I will not be able to connect to this instance unless I already know the password built into this AMI** 旁边的复选框。

   选择**启动新实例**。

## 步骤 3：创建负载均衡器
<a name="ssl-offload-load-balancer-create-load-balancer"></a>

完成以下步骤以创建将 HTTPS 流量路由到您的 Web 服务器的 Elastic Load Balancing 负载均衡器。

**创建负载均衡器**

1. 打开 Amazon EC2 控制台的[ https://console.aws.amazon.com/ec2/v2/home#LoadBalancers:]( https://console.aws.amazon.com/ec2/v2/home#LoadBalancers:)章节。

1. 选择**创建负载均衡器**。

1. 在**网络负载均衡器**部分中，选择**创建**。

1. 对于**步骤 1：配置负载均衡器**，执行以下操作：

   1. 对于**名称**，键入您创建的负载均衡器的名称。

   1. 在**侦听器**章节中，对于**负载均衡器端口**，将值更改为 **443**。

   1. 在**可用区**部分中，对于 **VPC**，选择包含您的 Web 服务器的 VPC。

   1. 在**可用区**部分中，选择包含您的 Web 服务器的子网。

   1. 选择**下一步：配置路由**。

1. 对于**步骤 2：配置路由**，执行以下操作：

   1. 对于**名称**，键入您创建的目标组的名称。

   1. 对于**端口**，将值更改为 **443**。

   1. 选择**下一步：注册目标**。

1. 对于**步骤 3：注册目标**，请执行以下操作：

   1. 在**实例**部分，选中您的 web 服务器实例旁边的复选框。然后选择**添加到已注册**。

   1. 选择**下一步：审核**。

1. 审核您的负载均衡器详细信息，然后选择**创建**。

1. 在成功创建负载均衡器后，选择**关闭**。

完成前面的步骤后，Amazon EC2 控制台将显示您的 Elastic Load Balancing 负载均衡器。

当负载均衡器处于活动状态时，您可以验证负载均衡器是否正常工作。也就是说，您可以通过 SSL/TLS 卸载来验证它是否正在向您的网络服务器发送 HTTPS 流量。 AWS CloudHSM您可以使用 Web 浏览器或使用工具（如 [OpenSSL s\$1client](https://www.openssl.org/docs/manmaster/man1/s_client.html)）执行此操作。

**验证您的负载均衡器是否正在与 Web 浏览器结合使用**

1. 在 Amazon EC2 控制台中，找到您刚刚创建的负载均衡器的 **DNS name**。然后选择 DNS 名称并复制该名称。

1. 使用 Web 浏览器 (例如 Mozilla Firefox 或 Google Chrome) 通过负载均衡器的 DNS 名称连接到负载均衡器。确保地址栏中的 URL 以 https:// 开头。
**提示**  
您可以使用诸如 Amazon Route 53 之类的 DNS 服务将您网站的域名（例如 https://www.example.com/）路由到您的网络服务器。有关更多信息，请参阅 *《Amazon Route 53 开发人员指南》*或 DNS 服务文档中的[将流量路由到 Amazon EC2 实例](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-ec2-instance.html)。

1. 使用您的 Web 浏览器查看 Web 服务器证书。有关更多信息，请参阅下列内容：
   + 对于 Mozilla Firefox，请参阅 Mozilla Support 网站上的[查看证书](https://support.mozilla.org/en-US/kb/secure-website-certificate#w_view-a-certificate)。
   + 关于 Google Chrome 浏览器，请参阅 Google Tools for Web Developers 网站上的[了解安全问题](https://developers.google.com/web/tools/chrome-devtools/security)。

   其他网络浏览器可能具有相似的功能，可使用这些功能来查看网络服务器证书。

1. 确保该证书是您配置 web 服务器使用的证书。

**验证您的负载均衡器是否正在与 OpenSSL s\$1client 结合使用**

1. 使用以下 OpenSSL 命令通过 HTTPS 连接到您的负载均衡器。*<DNS name>*替换为负载均衡器的 DNS 名称。

   ```
   openssl s_client -connect <DNS name>:443
   ```
**提示**  
您可以使用诸如 Amazon Route 53 之类的 DNS 服务将您网站的域名（例如 https://www.example.com/）路由到您的网络服务器。有关更多信息，请参阅 *《Amazon Route 53 开发人员指南》*或 DNS 服务文档中的[将流量路由到 Amazon EC2 实例](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-ec2-instance.html)。

1. 确保该证书是您配置 web 服务器使用的证书。

您现在有一个使用 HTTPS 保护的网站，Web 服务器的私钥存储在 AWS CloudHSM 集群的 HSM 中。您的网站有两个 Web 服务器和一个负载均衡器，可帮助提高效率和可用性。