了解如何在 Oracle Cloud Infrastructure 上部署 PeopleSoft
如果要在 Oracle Cloud Infrastructure 上预配 PeopleSoft 或将 PeopleSoft 环境从数据中心迁移到 Oracle Cloud Infrastructure,可以计划多主机、安全的高可用性拓扑。
体系结构
了解有关可用于计划 PeopleSoft 的这些部署选项的关键概念:
-
用于在单个可用性域中部署 PeopleSoft 的体系结构,同时确保高可用性。如果您希望确保即使应用程序实例关闭,也可以使用此体系结构。可用性域中的其他可用应用程序实例将继续处理请求。
-
用于在多个可用性域中部署 PeopleSoft 的体系结构,同时确保高可用性。如果要确保应用程序可用(即使一个可用性域关闭也是如此),请使用此体系结构。您仍可以访问其他可用性域中的应用程序实例。
-
用于在确保高可用性和灾难恢复的同时部署 PeopleSoft 的体系结构。如果您希望在不同区域为应用程序设置灾难恢复站点,请使用此体系结构。
体系结构对于手动完成的 PeopleSoft 部署或通过使用 Oracle Cloud Infrastructure 上的 PeopleSoft 自动化工具有效。
建议不要通过互联网访问数据库和应用程序主机,考虑所有的体系结构图。
用于在单个可用性域中部署 PeopleSoft 的体系结构
此体系结构在一个可用性域中显示 PeopleSoft 应用程序的部署,同时确保高可用性。
该体系结构包括一个 VCN,其中包含在单个可用性域的 VCN 的不同子网中放置的基础、负载平衡器、应用程序和数据库主机。基数主机部署在公共子网中,所有其他实例都部署在专用子网中。可以根据业务需求将不同的实例放在公共子网或专用子网中。如果在数据中心和 Oracle Cloud Infrastructure DRG 之间设置了 IPSec VPN 隧道,则可以通过端口 22 访问专用子网中的实例。
在此体系结构中,将在应用程序层和数据库层中部署冗余实例,以确保可用性域中的高可用性。这可以确保即使在应用程序实例关闭时您的应用程序也可用。可用性域中的其他可用应用程序实例将继续处理请求。可用性域中的所有应用程序实例均处于活动状态。负载平衡器实例接收请求并将其发送到应用程序服务器。通过将应用程序实例放置在不同的故障域中,可以在可用性域内实现这一高可用性。使用故障域可以分发实例,以便实例不在单个可用性域中的相同物理硬件上。因此,影响某个故障域的硬件故障或硬件维护不会影响其他故障域中的实例。
专用子网中的实例需要连接到 Internet 以下载补丁程序以及应用操作系统和应用程序更新。为此,请在 VCN 中使用网络地址转换(NAT)网关。通过 NAT 网关,专用子网中的主机可以启动与 Internet 的连接并接收响应,但不会接收从 Internet 启动的入站连接。
Oracle 建议在 Oracle Cloud Infrastructure 上部署的数据库和应用程序应具有强大的恢复策略备份。建议在 Oracle Cloud Infrastructure 对象存储中存储数据库和应用程序实例的备份。可以使用服务网关将专用子网中的数据库和应用程序实例备份到 Oracle Cloud Infrastructure 对象存储中。通过服务网关可以访问 Oracle Cloud Infrastructure 对象存储,而无需经过互联网。
可以使用 Oracle Cloud Infrastructure 控制台配置自动和按需数据库备份到 Oracle Cloud Infrastructure 对象存储。这要求使用 Swift 端点连接到 Oracle Cloud Infrastructure 对象存储。Oracle Cloud Infrastructure 对象存储上的所有数据库备份都使用透明数据加密(TDE) Wallet 加密所用的同一主体密钥进行加密。自动数据库备份服务使用每周增量备份策略通过 30-day 保留策略备份数据库。还可以根据需要对数据库执行按需完全备份。
可以通过使用 Oracle Cloud Infrastructure Block Volumes 的基于策略的备份功能来配置应用程序的备份。Oracle Cloud Infrastructure Block Volumes 提供了根据调度自动执行卷备份以及根据所选备份策略保留卷备份的功能。这样您就可以遵循您的数据合规性和法规要求。有三种预定义的备份策略:铜牌、银牌和金牌。每个备份策略都有一个预定义的备份频率和保留期。

插图 peoplesoft_single_availaity_domain_ha_topology.png 的说明
-
基础主机: 基数主机是一个可选组件,可用作跳转服务器来访问专用子网中的实例。
-
负载平衡器层: 此层包含将流量负载平衡到 PeopleSoft Web 服务器的 Oracle Cloud Infrastructure 负载平衡实例。负载平衡器接收来自用户的请求,然后将这些请求路由到应用程序层。
-
应用程序层: 此层包含 PeopleSoft 应用程序服务器、PeopleSoft Web 服务器、ElasticSearch 服务器和 PeopleSoft Process Scheduler 的冗余实例,以提供高可用性。设置应用程序层中所有服务器的冗余实例,以确保即使实例关闭,仍可以继续访问该应用程序。
-
PeopleTools 客户机: 使用 PeopleTools 客户机可以执行管理活动,例如开发、移植和升级。
-
数据库层: 此层包含 Oracle Cloud Infrastructure 数据库系统实例。对于高可用性要求,Oracle 建议使用两节点 Oracle Real Application Clusters (Oracle RAC)数据库系统或 Oracle Cloud Infrastructure 的 Oracle Database Exadata Cloud Service 系统。
在多可用性域中部署 PeopleSoft 的体系结构
此体系结构显示 PeopleSoft 应用程序服务器在多个可用性域中的部署。它显示了一个 VCN,其中包含在两个可用性域的不同子网中放置的基础、负载平衡器、应用程序和数据库主机。
在体系结构图表中,基础主机部署在公共子网中,所有其他实例都部署在专用子网中。可以根据您的业务需求将实例放在公共子网或专用子网中。如果在数据中心和 Oracle Cloud Infrastructure DRG 之间设置了 IPSec VPN 隧道,则可以通过端口 22 访问专用子网中的实例。所有实例在两个可用性域中都是活动的。体系结构中唯一的被动组件是可用性域 2 中的数据库主机。
可用性域 1 和可用性域 2 中的基础主机是活动的 , 并且可以随时对这两个可用性域中的实例提供 SSH 请求。内部部署 DNS 或外部 DNS 服务收到 PeopleSoft 应用程序的请求。这些请求将循环加载平衡到可用性域 1 或 2 中的负载平衡器之一。然后,负载平衡器将请求路由到可用性域 1 或 2 中基础 PeopleSoft Web 服务器之一。然后,PeopleSoft Web 服务器将请求路由到 PeopleSoft 应用程序服务器之一,最终应用程序服务器将请求转发到可用性域 1 中的活动数据库实例进行处理。
如果可用性域 1 不可用,则必须手动从 DNS 服务中删除可用性域 1 负载平衡器的条目,并将数据库切换到可用性域 2 中的数据库实例。从 DNS 服务接收的请求现在路由到可用性域 2 中的负载平衡器,然后最终在可用性域 2 中路由到数据库以进行处理。

插图 peoplesoft_multiple_availaity_domain_ha_topology.png 的说明
-
限定主机: 基础主机是一个可选组件,可以在每个可用性域中进行预配,以便作为跳转主机来访问应用程序和数据库实例。“可用性域 1”和“可用性域 2”中的主机处于活动状态。
-
负载平衡器实例: Oracle Cloud Infrastructure 负载平衡实例在两个可用性域中的应用程序服务器之间分配流量。可用性域 1 和 2 中的负载平衡器实例处于活动状态。PeopleSoft URL 上收到的请求将循环负载平衡到可用性域 1 或内部部署或外部 DNS 服务的 2 中的负载平衡器。
-
应用程序层: 可用性域 1 和可用性域 2 包含 PeopleSoft 应用程序服务器、PeopleSoft Web 服务器、ElasticSearch 服务器和 PeopleSoft Process Scheduler 的冗余实例。两个可用性域中应用程序层中的所有实例均处于活动状态。
-
PeopleTools 客户机: 使用 PeopleTools 客户机可以执行管理活动,例如开发、移植和升级。
-
数据库层: 重新启动两个可用性域中高度可用的数据库实例。可用性域 1 承载主数据库实例。可用性域 2 承载备用数据库实例。在每个可用性域中,至少设置了两个数据库实例,以确保高可用性。如果数据库实例在可用性域 1 中不可用,则可用性域 1 中的第二个数据库实例将继续处理请求。
在同步模式下使用 Oracle Active Data Guard 可跨区域中的可用性域复制数据库。
准备工作
开始使用 Terraform 设置 Oracle Cloud Infrastructure 组件之前,请确保使用 Windows、Linux 或 UNIX 类似本地主机以访问 Internet。此系统可以是内部部署系统,也可以在云中。为了方便起见,我们将作为本地系统或本地主机参考它。
您还应该可以访问 Oracle Cloud Infrastructure 租户。
在不同的操作系统上设置和使用 Terraform 的步骤有所不同。在 Linux 或类似 unix 的系统上,需要以下工具和实用程序:
-
Git
以从资料档案库克隆 Terraform 提供程序包和 Terraform 模块。这是可选的。您可以改为使用 Web 浏览器下载程序包。 -
ssh-keygen
,用于生成 SSH 密钥对。 -
OpenSSL
可生成 API 签名密钥对。 -
用于访问 Oracle Cloud Infrastructure 控制台的 Web 浏览器。
在 Windows 系统上,您需要:
-
Git Bash:用于从资料档案库克隆 Terraform provider 程序包和 Terraform 模块。您可以改为使用 Web 浏览器下载程序包。但是,需要 Git Bash 才能使用 OpenSSL 或
ssh-keygen.
生成 API 签名密钥对以及应用程序实例的 SSH 密钥 -
PuTTY 可生成 SSH 密钥对并使用该 SSH 密钥连接到您的基础主机。
-
用于访问 Oracle Cloud Infrastructure 控制台的 Web 浏览器。
关于必需的服务和角色
此解决方案需要以下服务和角色 :
- Oracle Cloud Infrastructure
确保对于您的用户组和区间小数有以下策略:
ALLOW GROUP <YOUR.GROUP> TO MANAGE instance-family IN COMPARTMENT <YOUR.COMPARTMENT> ALLOW GROUP <YOUR.GROUP> TO MANAGE virtual-network-family IN COMPARTMENT <YOUR.COMPARTMENT> ALLOW GROUP <YOUR.GROUP> TO MANAGE database-family IN COMPARTMENT <YOUR.COMPARTMENT> ALLOW GROUP <YOUR.GROUP> TO MANAGE object-family IN COMPARTMENT <YOUR.COMPARTMENT> ALLOW GROUP <YOUR.GROUP> TO MANAGE volume-family IN COMPARTMENT <YOUR.COMPARTMENT> ALLOW GROUP <YOUR.GROUP> TO MANAGE load-balancers IN COMPARTMENT <YOUR.COMPARTMENT> ALLOW GROUP <YOUR.GROUP> TO READ compartments IN COMPARTMENT <YOUR.COMPARTMENT> Allow GROUP <YOUR.GROUP> to MANAGE file-family in compartment <YOUR.COMPARTMENT> Allow GROUP <YOUR.GROUP> to READ all-resources in tenancy