在 OCI 上准备 Web 层
在 Oracle Cloud Infrastructure (OCI) 上预配和配置辅助站点,以便与主要内部部署站点一致。
注意:
您可以找到 Terraform 代码,以创建下载代码中本部分所述的资源(OCI 负载平衡器、SSL 证书、后端集和后端、路由策略、监听程序和规则集)。
(可选)准备 Oracle HTTP Server 主机
注意:
创建和配置 Oracle HTTP Server 是可选操作。只能使用 OCI 负载平衡器(不使用 Oracle HTTP Server )在 OCI 上配置 Web 层。
预配 Oracle HTTP Server 主机
在 OCI 中运行的每个 Oracle HTTP Server 除了用于涵盖 Oracle HTTP Server 本地运行的许可证和支持合同外,还必须具有有效的许可证和支持合同。您可以使用 Oracle WebLogic Server for OCI 映像在 Oracle Cloud 上为 Oracle HTTP Server 创建计算实例。使用这些映像创建的计算实例包括运行 Oracle HTTP Server 的权利,按 OCPU/小时计费,以便在它们处于运行状态时运行 WebLogic 软件的权利。使用 Oracle WebLogic Server for OCI 创建计算实例时,您可以使用计算实例控制台或市场。这些映像适用于 Oracle Linux 7.9 和 Oracle Linux 8.5 操作系统。
此示例在区间内的单个可用性域中使用两个计算实例,如下表所示。
名称 | 区间 | 可用性域 | 映像 | 形状 | VCN | 子网 |
---|---|---|---|---|---|---|
hydrohs1 | HyDRCompmt | AD1 | Oracle WebLogic Enterprise Edition UCM 映像 (Oracle Linux 7。9) | VM.Standard2.2 | 水文 | webTierSubnet |
hydrohs2 | HyDRCompmt | AD1 | Oracle WebLogic Enterprise Edition UCM 映像 (Oracle Linux 7。9) | VM.Standard2.2 | 水文 | webTierSubnet |
执行以下操作以使用计算实例控制台预配计算实例:
准备操作系统用户和组
在辅助计算实例中,主要内部部署 Oracle 软件需要使用相同的用户和组。
Oracle WebLogic Server for Oracle Cloud Infrastructure 映像已具有 oracle 用户和组。但是,这些值(用户名、组名、uid
和 gid
)可能与您主实例中的值不匹配,您需要配置辅助主机以匹配主 oracle 用户和组的值。以下示例说明如何在此层中配置辅助主机以匹配主要 oracle 用户和组的值。
准备操作系统要求
runinstaller
。由于为 WebLogic 软件准备了 Oracle WebLogic Server for Oracle Cloud Infrastructure 映像,因此无需手动为 WebLogic 添加程序包。但是,这些 Oracle HTTP Server 主机将运行 Oracle HTTP Server 产品。确保辅助主机满足 Oracle HTTP Server 的要求。为 Oracle HTTP Server 准备主机名别名
这可以通过以下两种方式实现:
- 将主机名作为别名添加到 Oracle WebLogic Server for OCI 计算实例的
/etc/hosts
文件中。 - 在辅助 OCI VCN 中使用专用 DNS 视图。
使用 /etc/hosts
文件
/etc/hosts
文件中,指向辅助主机的 IP 地址。 当主要内部部署和辅助 Oracle Cloud Infrastructure (OCI) 站点中的 DNS 服务器相同时,以及主站点和辅助站点中使用分隔的 DNS 服务器时,此模式在所有方案中都有效。/etc/hosts
文件中的条目优先于 DNS 解析,因为这是 /etc/nsswitch.conf
文件的指令“hosts”中定义的开箱即用的优先级。
但是,此方法要求您手动将条目添加到所有 Oracle HTTP Server 主机:
使用域名系统 (DNS)
/etc/hosts
文件中。
将 Oracle HTTP Server 虚拟主机名条目添加到在 OCI 中创建的专用视图的步骤 准备 OCI 中的中间层:
在 OCI 主机的防火墙中打开所需的端口
ssh
,dhcp
) 以外的所有端口的连接。必须打开 Oracle HTTP Server 使用的端口。
为 Oracle HTTP Server 创建 oracle
用户环境变量
oracle
用户配置文件中具有与 Oracle HTTP Server 相关的环境变量。例如,ORACLE_HOME
、JDK_HOME
、PATH
、WEB_DOMAIN_HOME
等。
从主服务器复制 Oracle HTTP Server 产品和配置
rsync
从主要 Oracle HTTP Server 节点复制二进制文件和 Oracle HTTP Server 配置。
或者,您也可以下载 Oracle HTTP Server 软件,在 OCI Oracle HTTP Server 计算实例中从零安装和配置该软件。此方法不属于本文档的范围。但是,当 Oracle HTTP Server OCI 计算实例的操作系统与主 Oracle HTTP Server 主机不同时,必须使用此方法。
Oracle HTTP Server 二进制文件和配置文件通常驻留在专用存储中。在 OCI 中,您可以使用计算实例默认拥有的块存储卷。或者,可以为每个 Oracle HTTP Server 计算(如准备 OCI 块存储卷中所述)创建一个新的块存储卷,并在 Oracle HTTP Server 计算实例中挂载每个块存储卷(如挂载 OCI 块存储卷中所述)。
此示例使用 Oracle HTTP Server 计算实例的默认块存储卷,而无需创建任何其他块存储卷。
Oracle HTTP Server 配置和二进制文件不会频繁更改加班时间。在此初始复制后,可以在生命周期中重复执行相同的复制。或者,通过在两个站点中实施 Oracle HTTP Server 配置更改,可以在主站点和辅助站点中手动维护 Oracle HTTP Server 的配置。
准备 OCI 负载平衡器
在云中创建和配置 Oracle Cloud Infrastructure 负载平衡器。
注意:
您可以找到 Terraform 代码,以创建下载代码中本部分所述的资源(OCI 负载平衡器、SSL 证书、后端集和后端、路由策略、监听程序和规则集)。
预配 OCI 负载平衡器
要与主要内部部署站点保持一致,请在 Oracle Cloud Infrastructure (OCI) 上的辅助站点上预配负载平衡器作为系统的入口点。
创建后端集
后端集是一个逻辑实体,包含运行相同应用程序的后端服务器列表。定义后端集时,必须指定负载平衡策略和运行状况检查测试。然后,您可以添加后端服务器列表。
后端集的配置取决于您是否在 WebLogic Server 主机前使用 Oracle HTTP Server 。
如果您使用的是 Oracle HTTP Server ,则 Oracle Cloud Infrastructure (OCI) 负载平衡器会将请求发送到 HTTPS 服务器。为 HTTPS 服务器公开的每个端口创建后端集。例如:为 Oracle HTTP Server 监听程序创建一个后端集,该后端集提供对应用程序的访问;为 Oracle HTTP Server 监听程序创建另一个后端集,该后端集提供对每个 Oracle WebLogic Server 管理控制台的访问。
如果您未使用 Oracle HTTP Server ,则 OCI 负载平衡器将请求直接发送到 WebLogic 服务器。为每个 Oracle WebLogic Server 集群创建一个后端集,为管理服务器创建另一个后端集。
- 登录到 OCI 控制台。
- 选择正确的区域和区间。
- 在导航菜单中,单击网络,然后单击加载平衡器。
- 单击要向其添加后端的负载平衡器。
- 单击“资源”菜单下的后端集,然后单击创建后端集。
- 在“Create Backend Set(创建后端集)”对话框中输入以下内容:
- 单击创建。
如果您有其他 WebLogic Server 群集,请以类似的方式为每个群集创建后端集。
以下是将 Oracle HTTPS Server 与 Oracle WebLogic Server 一起使用时后端集的示例。
组件 | 后端集名称 | 流量分配策略 | 会话持久性 | Cookie 名称(示例) | 属性:安全 | 健康检查 |
---|---|---|---|---|---|---|
管理服务器 | OHS_Admin_backendset |
加权循环 | 启用负载平衡器 Cookie 持久性 | X-Oracle-LBR-ADMIN-Backendset |
未选中 | TCP 或 HTTP |
WebLogic 集群 | OHS_HTTP_backendset |
加权循环 | 启用负载平衡器 Cookie 持久性 | X-Oracle-LBR-OHS-HTTP-Backendset |
选中 | TCP 或 HTTP |
以下是不使用 Oracle HTTP Server 时的后端集示例。
组件 | 后端集名称 | 流量分配策略 | 会话持久性 | Cookie 名称(示例) | 属性:安全 | 健康检查 |
---|---|---|---|---|---|---|
管理服务器 | Admin_backendset |
加权循环 | 启用负载平衡器 Cookie 持久性 | X-Oracle-LBR-ADMIN-Backendset |
未选中 | TCP 或 HTTP |
WebLogic 集群 1 | WLS_Cluster1_backendset |
加权循环 | 启用负载平衡器 Cookie 持久性 | X-Oracle-LBR-WLSCluster1-Backendset |
选中 | TCP 或 HTTP |
WebLogic 集群 2 | WLS_Cluster2_backendset |
加权循环 | 启用负载平衡器 Cookie 持久性 | X-Oracle-LBR-WLSCluster2-Backendset |
选中 | TCP 或 HTTP |
如果有其他 WebLogic 集群,请以类似的方式为每个集群创建后端集。
为每个后端集定义后端
为 Oracle Cloud Infrastructure (OCI) 负载平衡器中的每个后端集定义后端。
如果使用的是 Oracle HTTP Server ,则在每个后端集中添加 Oracle HTTP Server 节点和相应的端口作为后端。
如果未使用 Oracle HTTP Server ,请在每个后端集中添加 Oracle WebLogic Server 节点和相应的端口作为后端。
- 在控制台中,选择后端集。单击后端,然后单击添加后端。
- 输入作为后端的服务器的 IP 地址和端口。
后端集名称 | 后端 |
---|---|
OHS_Admin_backendset |
计算实例:
|
OHS_HTTP_backendset |
计算实例:
|
此表显示了未使用 Oracle HTTP Server 时在本文档示例中创建的后端集:
后端集名称 | 后端 |
---|---|
Admin_backendset |
IP 地址:
|
WLSCluster1_backendset |
计算实例:
|
WLSCluster2_backendset |
计算实例:
|
定义路由策略并配置规则
路由策略用于将传入请求发送到正确的后端集。例如,对 /console
的请求将分派到管理后端集,对 /app1
的请求将分派到运行 app1
的群集的后端集。
如果使用的是 Oracle HTTP Server ,则通常在 Oracle HTTP Server 配置中定义路由(例如 /app1
、/app2
、/console
等)。在这种情况下,您不需要在 Oracle Cloud Infrastructure (OCI) 负载平衡器中定义路由策略和规则。
如果您未使用 Oracle HTTP Server ,则需要在 OCI 负载平衡器中定义路由策略和规则,以将请求发送到相应的后端集。
组件 | 路由策略名称 | 规则 | 条件:如果任何匹配路径开头为 | 操作:路由到后端集 |
---|---|---|---|---|
管理服务器控制台 | Admin_Rules |
Admin_routerule |
|
Admin_backendset |
应用程序 1 | Application_Rules |
WLSCluster1_routerule |
|
WLSCluster1_backendset |
应用程序 2 | Application_Rules |
WLSCluster2_routerule |
|
WLSCluster2_backendset |
您可以根据需要为环境创建任意数量的路由策略、规则和条件。
创建监听程序
为用于访问系统的前端名称和端口的每个组合创建监听程序。必须使用主负载平衡器使用的相同主机名(虚拟前端名称)和端口。
- 在 Oracle Cloud Infrastructure 负载平衡器中将虚拟前端主机名添加为主机名。
- 创建监听程序。
下表汇总了在本文档示例中创建的监听程序及其关联的协议、端口、后端集、路由策略、主机名和 SSL 使用情况。这就像一个参考示例。如果您的系统在主 Oracle WebLogic Server 系统中使用其他前端主机名、端口或协议,则必须根据需要创建对应的监听程序和主机名。例如,如果使用备用前端访问 Oracle WebLogic Server 控制台和 Oracle Enterprise Manager 控制台。
监听程序 | 协议 | 端口 | 后端集 | 分发策略 | 主机名 | 使用 SSL |
---|---|---|---|---|---|---|
Admin_listener |
HTTP | 7001 |
|
Admin_Rules |
wlsfrontend.example.com | 不 |
HTTPS_listener |
HTTPS | 443 |
|
App_Rules |
wlsfrontend.example.com | 是 |
HTTP_listener |
HTTP | 80 | 不适用 * | 不适用 | wlsfrontend.example.com | 不 |
* 此示例中的 HTTP_listener
仅用于将请求重定向到 HTTPS_listener
(HTTPS)。将不使用分配给它的后端。但是,由于必须提供一个,因此您需要提供未选中 SSL 的后端集(使用默认的空后端集)。
为 SSL 标头创建规则集
在 Oracle Cloud Infrastructure (OCI) 负载平衡器中为 SSL 标头创建规则集,并将其与 HTTPS 监听程序关联。
创建规则集以将 HTTP 协议重定向到 HTTPS
创建重定向规则并将其与 HTTP_listener 关联,以将端口 80 重定向到端口 443。对于 EDG 拓扑,到达负载平衡器中端口 80 (HTTP) 的所有请求都必须重定向到端口 443 (HTTPS)。
将虚拟前端名称和 IP 添加到 WLS 计算实例
在灾难恢复拓扑中,客户机必须使用与数据中心无关的前端 FQDN(通常称为虚拟前端名称或虚名 URL)访问系统。此虚拟前端名称应解析为当前活动(主)站点的负载平衡器 IP 地址。
主系统应该已使用由 DNS 解析的前端虚拟名称与主负载平衡器的 IP。但是,每个站点的 Oracle WebLogic Server 主机应始终使用其本地负载平衡器解析前端名称,而不考虑使用 DNS 进行面向客户端的解析。为此,虚拟前端名称将添加到其 /etc/hosts
文件中,每个站点中都有相应的 IP 地址。您还可以使用每个站点中的不同 DNS 服务器来实现这一点。在这种情况下,本地 DNS 服务器将使用每个站点中的相应负载平衡器 IP 解析前端名称。