使用 OCI 负载平衡器将 OCI HYOK 与 Thales CipherTrust Manager 结合使用以实现高可用性
简介
在上面的教程中,我们探讨了如何将 Thales CipherTrust Manager 与 Oracle Cloud Infrastructure (OCI) 集成,以启用“Hold Your Own Key (HYOK)”功能(无论是否有 OCI API 网关)。群集 CipherTrust 管理器可提供一定程度的可恢复性,但从网络角度来看,它无法确保准确的高可用性。
Thales CipherTrust Manager 本机不支持虚拟 IP 地址(VIP 地址)在节点之间进行无缝故障转移。
本教程介绍 OCI Load Balancer,为 Thales CipherTrust Manager 实例提供高网络可用性。通过将集群 CipherTrust 管理器置于 OCI 负载平衡器后面,我们可以确保 OCI 中外部密钥管理服务的持续可用性和容错能力,即使在节点发生故障或数据中心中断时也是如此。
本教程将引导您了解在 OCI 环境中部署此设置的架构、配置和注意事项。
目标
- 任务 1:查看现有 OCI 和 Thales CipherTrust Manager HYOK 体系结构。
- 任务 2:创建 OCI 负载平衡器。
- 任务 3:将 OCI 负载平衡器与基于 OCI API 网关的现有 HYOK 部署集成。
- 任务 4:将 OCI 负载平衡器与不使用 OCI API Gateway 的现有 HYOK 部署集成。
- 任务 5:查看所有 OCI 和 Thales CipherTrust Manager HYOK 体系结构,使 Thales CipherTrust Manager 具有高可用性。
任务 1:查看现有 OCI 和 Thales CipherTrust Manager HYOK 体系结构
在将 OCI 负载平衡器引入架构之前,必须重新访问现有的 OCI 和 Thales CipherTrust Manager HYOK 部署。在早期的实现中,我们介绍了两种主要模式:
-
使用 Thales CipherTrust Manager 和 OCI API Gateway 设置 OCI Hold Your Own Key
-
使用没有 OCI API 网关的 Thales CipherTrust Manager 设置 OCI Hold Your Own Key
本节将简要概述这两项设计,并重点介绍其优势和局限性,为推出 OCI 负载平衡器奠定基础,以缩小可用性差距。
这两种体系结构都依赖于对多个 Thales CipherTrust 管理器进行群集以提供可恢复性,但由于 Thales CipherTrust 管理器中缺少本机 VIP 地址支持,因此它们缺乏准确的网络级高可用性。每个部署都有效地处理了密钥管理,但从网络路由和服务可访问性的角度引入了潜在的单点故障。
在开始之前,请确保已准备好以下内容:
-
部署在不同可用性域或容错域(和集群)中的两个或更多 Thales CipherTrust Manager 实例。有关更多信息,请参见 Set Up Two Thales CipherTrust Cloud Key Manager Appliances in OCI,Create a Cluster between them,and Configure One as a Certificate Authority 。
-
具有相应子网(专用或公共,具体取决于您的体系结构)的 VCN。您将在此处放置 OCI 负载平衡器。
-
证书(如果您在 OCI 负载平衡器上使用 SSL 终止)。这是我们将在本教程中解释的内容。
任务 2:创建 OCI 负载平衡器
为了在网络层实现 Thales CipherTrust Manager 的高可用性,我们将 OCI Load Balancer 引入架构。OCI 负载平衡器是一个具有弹性的单一访问点,可在集群 Thales CipherTrust Manager 节点之间智能地分配传入请求。
此任务将提供一个面向多个 Thales CipherTrust Manager 实例的 OCI 负载平衡器。无论您是否使用 OCI API 网关,都将配置后端集、运行状况检查、SSL 终止(如果适用)以及根据 HYOK 部署定制的监听程序规则。
此 OCI 负载平衡器设置可确保即使 Thales CipherTrust Manager 节点之一不可用,密钥管理服务仍可访问,从而显著提高外部密钥管理与 OCI 集成的可靠性和容错能力。
-
登录 OCI 控制台,导航到网络,然后单击负载平衡器。
-
单击创建负载平衡器。
-
输入以下信息。
- 名称:输入说明性名称(例如
Load_Balancer_for_CCKM
)。 - 类型:选择 private 或 public (取决于您的用例)。
- VCN 和子网:选择将 OCI 负载平衡器部署在正确区间中的 VCN 和子网。
- 单击下一步。
- 策略:选择加权循环。
- 将选择后端服务器留空,稍后我们将配置这些服务器。
- 健康检查策略:现在选择端口为
80
的 HTTP,稍后我们将更改此策略。
- 后端集名称:输入说明性名称(例如
CTM_Appliances
)。 - 单击下一步。
- 监听程序名称:输入描述性名称(例如
LISTENER
)。 - 侦听器通信类型和端口: TCP 和端口
80
,我们稍后将更改这些类型。 - 单击下一步。
- 将所有日志记录设置保留为默认设置。
- 单击下一步。
- 名称:输入说明性名称(例如
-
复查信息,然后单击提交。
-
请注意,将创建 OCI 负载平衡器。几分钟后,将显示 Active (活动)。
-
单击 Listeners(监听程序)以查看需要编辑的监听程序。
-
单击后端集以复查需要编辑的后端集。另请注意,运行状况显示为未完成。这是因为我们仍然需要将 Thales CipherTrust Manager 后端服务器添加到集。
-
在使用 SSL 配置监听程序和后端集之前,我们需要添加证书。要进行添加,请导航到 Certificates and ciphers(证书和密码)并单击 Add certificate(添加证书)。
-
确保为 OCI 负载平衡器创建了有效的签名证书和私钥。
要创建证书签名请求 (Certificate Signing Request,CSR) 并使用 Thales CipherTrust Manager 使用其本地 CA 对证书进行签名,请参见 Create a CSR for both Thales CCKM Appliances and Sign by the CA 。
-
此外,请确保已准备好根 CA(包)。
-
在添加证书中,输入以下信息。
- 证书名称:输入描述性名称(例如
LB-CTM-CERT
)。 - 选择粘贴 SSL 认证。
- SSL 证书:粘贴签名的 SSL 证书。
- 选择指定 CA 证书。
- 选择粘贴 CA 证明。
- CA 证书:粘贴 CA(包)证书。
- 选择 Specify Private Key 。
- 选择 Paste Private key(粘贴私钥)。
- Private key(私钥):粘贴私钥。
- 单击添加证书。
- 证书名称:输入描述性名称(例如
-
请注意,已接受提交的工作请求,然后单击查看所有工作请求。
-
请注意,请求已成功。
-
导航到 Certificates and ciphers(证书和密码),并注意已添加证书。
-
导航到后端集,单击三个点以打开创建的后端集的菜单,然后单击编辑。
-
在编辑后端集中,输入以下信息。
- 选择使用 SSL 以启用 SSL。
- Certificate resource(证书资源):选择 Load balancer Managed certificate(负载平衡器托管证书)。
- 选择证书名称。
- 单击 Save changes 。
-
单击关闭。
-
导航到监听程序,单击三个点以打开创建的后端集的菜单,然后单击编辑。
-
在编辑监听程序中,输入以下信息:
- Protocol(协议):选择 TCP 。
- Port(端口):选择 443 。
- 选择使用 SSL 。
- Certificate resource(证书资源):选择 Load balancer Managed certificate(负载平衡器托管证书)。
- 选择证书名称。
- 单击 Save changes 。
-
单击关闭。
-
请注意,监听程序现在正在监听 TCP 端口
443
。 -
导航到后端集,并注意运行状况仍不完整。这是因为我们没有将任何服务器添加为集的后端。
-
单击三个点以打开创建的后端集的菜单,然后单击更新健康检查。
-
在更新运行状况检查中,输入以下信息。
- Protocol(协议):选择 TCP 。
- Port(端口):选择 443 。
- 单击 Save changes 。
-
单击关闭。
-
单击之前创建的后端集。
-
单击后端,然后单击添加后端。
-
在添加后端中,输入以下信息。
- 后端类型:选择 IP 地址。
- 添加以下 backends (CTM 的 IP 地址):
- CTM 1(毫秒)
- IP 地址:输入
10.111.10.32
。 - Port(端口):选择 443 。
- 权重:选择 1 。
- IP 地址:输入
- CTM 2 (ASH)
- IP 地址:输入
10.222.10.111
。 - Port(端口):选择 443 。
- 权重:选择 2 。
- IP 地址:输入
- CTM 1(毫秒)
- 单击添加。
-
请注意,运行状况将显示为严重。在 Thales CipherTrust Manager 服务器上执行运行状况检查可能需要一分钟。
-
请注意,健康状况现在更改为 OK 。现在,导航回后端集概览。
-
请注意,后端集的整体运行状况也为 OK 。现在,导航回 OCI Load Balancer 概述。
-
请注意,OCI 负载平衡器处于活动状态,总体运行状况为确定,负载平衡器具有 IP 地址。
确保为负载平衡器创建 DNS 记录。我们在 OCI VCN 内的专用 DNS 监听程序中创建了一个 A 记录。
任务 3:将 OCI 负载平衡器集成到基于 OCI API 网关的现有 HYOK 部署
在此任务中,我们将 OCI 负载平衡器集成到基于 OCI API 网关的现有 HYOK 部署中,以确保无缝和高可用性架构。
在此架构中,我们结合了 OCI API Gateway 和 OCI Load Balancer 的优势,以增强 OCI HYOK 与 Thales CipherTrust Manager 集成的可靠性和安全性。
OCI API Gateway 将继续作为面向公众的安全入口点,实施身份验证、授权和路由策略。在其背后,OCI Load Balancer 将请求分布在多个 CipherTrust Manager 节点中,确保网络层的高可用性和容错能力。
此分层设计通过 OCI API Gateway 维护安全访问模型。它通过 OCI 负载平衡器引入弹性后端,解决了 Thales CipherTrust Manager 中缺乏原生 VIP 地址支持的问题。
-
导航到在以下教程中创建的 OCI API Gateway:使用 Thales CipherTrust Manager 和 OCI API Gateway 设置 OCI Hold Your Own Key 。
-
导航到部署,然后单击部署。
-
单击编辑。
-
单击 Routes 。
-
请注意, URL 指向
ctm1.oci-thales.lab
FQDN,即 AMS CTM。 -
将 URL 更改为现在指向
lb-ctm.oci-thales.lab
FQDN(我们刚刚创建的 OCI 负载平衡器),然后单击下一步,并确保保存更改。
下图显示了集成到该架构中的 OCI API Gateway 和 OCI Load Balancer 的端到端流量流。
任务 4:将 OCI 负载平衡器与现有负载平衡器集成,但不使用基于 OCI API 网关的 HYOK 部署
在此任务中,您将了解如何在 OCI HYOK 部署中将 OCI 负载平衡器配置为 Thales CipherTrust Manager 的唯一访问点,以实现干净、高性能和高可用性的架构。
在此架构中,我们删除 OCI API 网关并将 OCI 负载平衡器直接放在 Thales CipherTrust Manager 集群前面,从而简化部署。此方法非常适合不需要公共访问的专用集成,其目标是确保在安全的内部网络中实现高可用性。
通过 OCI 负载平衡器路由请求,我们可以在多个 Thales CipherTrust Manager 节点之间分配流量,同时保持会话恢复能力和故障转移功能,即使在节点或可用性域发生故障时也是如此。此设置解决了 Thales CipherTrust Manager 缺乏原生 VIP 地址支持的关键限制,而没有额外的 OCI API Gateway 策略和身份验证流程复杂性。
按照以下教程中列出的任务执行操作:使用没有 OCI API Gateway 的 Thales CipherTrust Manager 设置 OCI Hold Your Own Key 。但现在,所有 (AMS) CTM1 IP 地址都已更改为负载平衡器 IP 地址。
- OCI 集成应用程序资源应用程序。
- CTM1 External Vault 端点 URL 主机名。当 CTM 位于集群中时,此更改也将同步到 (ASH) CTM2。
- OCI 专用端点(OCI 外部密钥管理服务将使用该端点)。
这是 OCI 与 Thales CipherTrust Manager 集成 (HYOK) 的详细集成流,该集成仅与路径中的 OCI 负载平衡器集成。
下图显示了仅将 OCI 负载平衡器集成到体系结构中的端到端流量流。
任务 5:查看所有 OCI 和 Thales CipherTrust Manager HYOK Architectures,使 Thales CipherTrust Manager 高度可用
在 OCI 中部署 Thales CipherTrust Manager for Hold Your Own Key (HYOK) 没有一刀切的方法。根据您的网络拓扑、安全要求和可用基础设施(无论是基于云还是内部部署),可以使用多个架构选项来实现具有可恢复性和高可用性的部署。
本节综合概述了 Thales CipherTrust Manager 与 OCI HYOK 集成的所有受支持架构模式,重点关注高可用性。这些组合包括:
- 单个或双数据中心部署。
- 使用 OCI API Gateway。
- 使用 OCI 负载平衡器。
- 使用内部部署或数据中心托管的负载平衡器,无论是否有高可用性。
每个架构在复杂性、故障转移功能和控制方面都有优势和利弊。无论您是运行完全云原生设置,在混合环境中运行,还是利用数据中心中的传统负载均衡器,都有一个适合的模型。
所涵盖的体系结构包括:
体系结构编号 | 说明 |
---|---|
1 | 单个数据中心内的 CTM —没有 OCI API Gateway 或 OCI Load Balancer 的基本设置 |
2 | 采用 OCI API 网关的单个数据中心内的 CTM —外部访问,无高可用性 |
3 | 具有 OCI API Gateway 和 OCI Load Balancer 的两个数据中心中的 CTM —完整的 HA 解决方案 |
4 | 具有 OCI API Gateway 和内部部署负载平衡器(无 HA)的两个数据中心中的 CTM —部分恢复能力 |
5 | 具有 OCI API Gateway 和内部部署负载平衡器 (HA) 的两个数据中心中的 CTM —外部管理的高可用性 |
6 | 通过 OCI API Gateway 和内部部署负载平衡器(无 HA)在一个数据中心部署 CTM —有限的故障转移 |
7 | 仅在具有 OCI Load Balancer 的两个数据中心内部署 CTM —内部访问、完全网络级 HA(无 OCI API 网关) |
此概述将帮助您比较和选择最符合您的技术和运营要求的架构。
-
架构 1:下图显示了端到端流量流,没有 OCI API 网关,也没有集成到架构中的负载平衡。
-
架构 2:下图显示了仅使用 OCI API Gateway 且未将负载平衡集成到架构中的端到端流量流。
-
架构 3:下图显示了集成到架构中的 OCI API 网关和 OCI 负载平衡器的端到端流量流。
-
架构 4、5 和 6:下图显示了通过 OCI API Gateway 以及集成到架构中的内部部署负载平衡器实现的端到端流量流。
-
架构 7:下图显示了只有 OCI 负载平衡器集成到架构中的端到端流量流。
小结
在 Oracle Cloud Infrastructure (OCI) HYOK 部署中确保 Thales CipherTrust Manager 的高可用性对于维护对客户管理的加密密钥的安全、不间断的访问至关重要。群集 CipherTrust 管理器可提供可恢复性,但不足以满足网络级别的高可用性要求。
本教程演示了 OCI Load Balancer 如何与 OCI API Gateway 结合使用或作为内部访问的独立解决方案来缩小这一差距。我们还回顾了几种现实世界的架构模式,包括利用内部部署负载均衡器的混合模型,帮助您选择符合基础设施战略和可用性目标的设计。
通过将 OCI 的网络服务与 Thales CipherTrust Manager 充分集成,企业可以构建弹性且安全的外部密钥管理解决方案,从而支持企业级合规性和运营连续性。
确认
- 作者 — Iwan Hoogendoorn(云网络黑带)
更多学习资源
通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Enable OCI HYOK with Thales CipherTrust Manager Using OCI Load Balancer for High Availability
G40057-01
Copyright ©2025, Oracle and/or its affiliates.