使用 Elastic Load Balancing 为 AWS CloudHSM 添加负载均衡器(可选)
对一个 web 服务器设置 SSL/TLS 分载后,您可以创建更多 Web 服务器和一个将 HTTPS 流量路由到这些 web 服务器的 Elastic Load Balancing 负载均衡器。负载均衡器可通过使两台或更多 web 服务器上的流量达到均衡,来减少您的单个 web 服务器上的负载。它还可以提高您的网站的可用性,因为负载均衡器可监视您的 Web 服务器的运行状况并且仅将流量路由到运行状况良好的服务器。如果某个 Web 服务器出现故障,负载均衡器会自动停止将流量路由到该服务器。
第 1 步。为第二个 Web 服务器创建子网
您需要先在包含现有 Web 服务器和 AWS CloudHSM 集群的同一 VPC 中创建新子网,然后才能创建另一个 Web 服务器。
创建新子网
-
选择创建子网。
-
在创建子网对话框中,执行以下操作:
-
对于名称标签,键入您的子网的名称。
-
对于 VPC,选择包含现有 Web 服务器和 AWS CloudHSM 集群的 AWS CloudHSM VPC。
-
对于可用区,选择与包含现有 Web 服务器的可用区不同的可用区。
-
对于 IPv4 CIDR block,键入要用于子网的 CIDR 块。例如,键入
10.0.10.0/24
。 -
选择是,创建。
-
-
选中包含现有 Web 服务器的公有子网旁边的复选框。这与您在上一步中创建的公有子网不同。
-
在内容窗格中,选择路由表选项卡。然后选择路由表的链接。
-
选中路由表旁边的复选框。
-
选择子网关联选项卡。然后选择编辑。
-
选中您在此过程的前面部分创建的公有子网旁的复选框。然后选择保存。
第 2 步。创建第二个 Web 服务器
完成以下步骤以创建与现有 Web 服务器配置相同的另一个 Web 服务器。
创建另一个 Web 服务器
-
打开 Amazon EC2 控制台的实例
章节,其位于。 -
选中现有 Web 服务器实例旁边的复选框。
-
依次选择操作 、映像和创建映像。
-
在创建映像 对话框中,执行以下操作:
-
对于映像名称 ,请键入映像的唯一名称。
-
对于映像描述 ,请键入映像的描述。
-
选择创建映像。此操作将重启现有 Web 服务器。
-
选择查看待处理的影像 ami-
<AMI ID>
链接。在状态列中,记下您的影像状态。当您的映像状态为可用时 (这可能需要几分钟),请转到下一步。
-
-
在导航窗格中,选择实例。
-
选中现有 Web 服务器旁边的复选框。
-
选择操作 ,然后选择启动更多类似项。
-
选择编辑 AMI。
-
在左侧导航窗格中,选择我的 AMI。然后,清除搜索框中的文本。
-
在您的 Web 服务器映像旁,选择选择。
-
选择是的,我希望继续使用此 AMI (
<image name>
- ami-<AMI ID>
)。 -
选择下一步。
-
选择实例类型,然后选择下一步:配置实例详细信息。
-
对于步骤 3:配置实例详细信息,执行以下操作:
-
对于网络,选择包含现有 Web 服务器的 VPC。
-
对于子网,选择您为第二个 Web 服务器创建的公有子网。
-
对于自动分配公有 IP,选择启用。
-
根据偏好更改其余实例的详细信息。然后选择下一步:添加存储。
-
-
根据偏好更改存储设置。然后,选择下一步:添加标签。
-
根据偏好添加或编辑标签。然后选择下一步:配置安全组。
-
对于步骤 6:配置安全组,执行以下操作:
-
对于分配安全组,选择选择现有安全组。
-
选中名为 cloudhsm-
<cluster ID>
-sg 的安全组旁边的复选框。AWS CloudHSM 在您创建集群时代表您创建了此安全组。您必须选择此安全组以允许 Web 服务器实例连接到集群中的 HSM。 -
选中允许入站 HTTPS 流量的安全组旁边的复选框。您之前创建了此安全组。
-
(可选) 选中允许来自网络的入站 SSH(适用 Linux)或 RDP(适用 Windows)流量的安全组旁边的复选框。也就是说,安全组必须允许端口 22(Linux 上的 SSH)或端口 3389(Windows 上的 RDP)上的入站 TCP 流量。否则,您将无法连接到客户端实例。如果您没有此类安全组,则必须创建一个安全组并稍后将它分配给客户端实例。
选择审核并启动。
-
-
查看实例详细信息,然后选择 启动。
-
选择是使用现有密钥对启动您的实例、创建新的密钥对还是在没有密钥对的情况下启动您的实例。
-
要使用现有密钥对,请执行以下操作:
-
选择选择现有密钥对。
-
对于选择密钥对,选择要使用的密钥对。
-
选中我认可我可以访问所选的私有密钥文件 (
<private key file name>
.pem),如果没有该文件,我将无法登录我的实例。旁边的复选框。
-
-
要创建新密钥对,请执行以下操作:
-
选择 Create a new key pair。
-
对于密钥对名称 ,请键入一个密钥对名称。
-
选择下载密钥对并将私有密钥文件保存在一个安全且易于访问的位置。
警告
此后您无法再次下载私有密钥文件。如果您现在不下载私有密钥文件,您将无法访问客户端实例。
-
-
要在没有密钥对的情况下启动您的实例,请执行以下操作:
-
选择继续操作但不提供密钥对。
-
选中 I acknowledge that I will not be able to connect to this instance unless I already know the password built into this AMI 旁边的复选框。
-
选择启动新实例。
-
第 3 步。创建负载均衡器
完成以下步骤以创建将 HTTPS 流量路由到您的 Web 服务器的 Elastic Load Balancing 负载均衡器。
创建负载均衡器
-
打开 Amazon EC2 控制台的负载均衡器
章节。 -
选择创建负载均衡器。
-
在网络负载均衡器部分中,选择创建。
-
对于步骤 1:配置负载均衡器,执行以下操作:
-
对于名称,键入您创建的负载均衡器的名称。
-
在侦听器章节中,对于负载均衡器端口,将值更改为
443
。 -
在可用区部分中,对于 VPC,选择包含您的 Web 服务器的 VPC。
-
在可用区部分中,选择包含您的 Web 服务器的子网。
-
选择下一步:配置路由。
-
-
对于步骤 2:配置路由,执行以下操作:
-
对于名称,键入您创建的目标组的名称。
-
对于端口,将值更改为
443
。 -
选择下一步:注册目标。
-
-
对于步骤 3:注册目标,请执行以下操作:
-
在实例部分,选中您的 web 服务器实例旁边的复选框。然后选择添加到已注册。
-
选择下一步:审核。
-
-
审核您的负载均衡器详细信息,然后选择创建。
-
在成功创建负载均衡器后,选择关闭。
完成前面的步骤后,Amazon EC2 控制台将显示您的 Elastic Load Balancing 负载均衡器。
当负载均衡器处于活动状态时,您可以验证负载均衡器是否正常工作。也就是说,您可以验证它是否正在使用 AWS CloudHSM 将 HTTPS 流量发送到带 SSL/TLS 卸载的 Web 服务器。您可以使用 Web 浏览器或使用工具(如 OpenSSL s_client
验证您的负载均衡器是否正在与 Web 浏览器结合使用
-
在 Amazon EC2 控制台中,找到您刚刚创建的负载均衡器的 DNS name。然后选择 DNS 名称并复制该名称。
-
使用 Web 浏览器 (例如 Mozilla Firefox 或 Google Chrome) 通过负载均衡器的 DNS 名称连接到负载均衡器。确保地址栏中的 URL 以 https:// 开头。
提示
您可以使用 DNS 服务 (如 Amazon Route 53) 将网站域名 (例如,https://www.example.com/) 路由到您的 Web 服务器。有关更多信息,请参阅 《Amazon Route 53 开发人员指南》或 DNS 服务文档中的将流量路由到 Amazon EC2 实例。
-
使用您的 Web 浏览器查看 Web 服务器证书。有关更多信息,请参阅下列内容:
其他网络浏览器可能具有相似的功能,可使用这些功能来查看网络服务器证书。
-
确保该证书是您配置 web 服务器使用的证书。
验证您的负载均衡器是否正在与 OpenSSL s_client 结合使用
-
使用以下 OpenSSL 命令通过 HTTPS 连接到您的负载均衡器。将
<DNS name>
替换为负载均衡器的 DNS 名称。openssl s_client -connect
<DNS name>
:443提示
您可以使用 DNS 服务 (如 Amazon Route 53) 将网站域名 (例如,https://www.example.com/) 路由到您的 Web 服务器。有关更多信息,请参阅 《Amazon Route 53 开发人员指南》或 DNS 服务文档中的将流量路由到 Amazon EC2 实例。
-
确保该证书是您配置 web 服务器使用的证书。
现在,您有一个通过 HTTPS 保护的网站,其 Web 服务器的私有密钥存储在 AWS CloudHSM 集群的 HSM 中。您的网站有两个 Web 服务器和一个负载均衡器,可帮助提高效率和可用性。