最初预配时,Oracle Content Management 的所有实例都部署在 Oracle Cloud Infrastructure 上。此体系结构是跨单个地理区域内多个可用性域的高可用性拓扑。在这些可用性域中,它将适用于 Kubernetes 的 Oracle Container Engine for Kubernetes (OKE) 与其可弹性扩展的 Kubernetes 集群结合使用。
在默认部署中,OKE 跨多个可用性域自动创建多个集群(或节点)。所有站点和资产会与每个可用性域进行同步。如果一个可用性域停止运行,OKE 会自动将所有传入流量引导至运行正常的可用性域。采用这种方式,当出现故障的可用性域还原时,最终用户也不会注意到服务停机。
我们建议您使用我们的升级计划选项来控制您的实例何时接收新发行版的 Oracle Content Management。在大多数情况下,为生产流量提供服务的实例以及在发生故障时可为流量提供服务的任何实例应使用延迟升级选项。用于开发和测试的实例应使用立即升级选项。此设置组合将为您提供完整的发行周期以确保您的代码强健,并让您有时间解决任何问题以免其可能影响生产流量。“升级计划”选项是在创建 Oracle Content Management 实例时设置的。
除高可用性外的其他功能
虽然高可用性服务的设计是为了提供更高的正常运行时间和可访问性,但许多客户还会有一些其他需求,我们可以使用不同的体系结构来满足这些需求。这些体系结构一方面仍具有 Oracle Cloud Infrastructure 和 OKE 提供的现成高可用性优势,另一方面,我们还可以构建它们来支持开发流程(甚至是多区域故障转移),或者利用专用的高性能连接进一步增强其优势。要找到满足您需求的体系结构,您需要确定您的组织的开发流程需求,您可接受的恢复时间目标 (recovery time objectives, RTO) 和恢复点目标 (recovery point objectives, RPO)。
使用 Oracle Cloud Infrastructure FastConnect 的专用实例
某些客户可能还需要公共 Internet 无法提供的更高性能或安全性。Oracle Cloud Infrastructure FastConnect 可用于为您的 Oracle Content Management 实例提供更高性能、稳健且安全的连接。通常,具有以下需求的客户使用这种类型的连接:确保只有内部网络才能访问,或者确保最终用户的连接尽可能最佳最可靠。
如果您要创建此类实例,需要设置 Oracle Cloud Infrastructure FastConnect 并执行一些额外的先决条件步骤。FastConnect 提供了一种专用连接。与基于 Internet 的连接相比,这种连接能提供更高的带宽以及更可靠、更一致的网络体验。
请参见使用 Oracle Cloud Infrastructure FastConnect 创建专用实例。
开发流程
这是指您的组织用来为 Oracle Content Management 构建和部署新功能和内容的流程。开发流程可以包括新功能和内容在获批进入更高级别环境和生产环境前必须经历的多个环境。常见设置包括开发环境、测试环境、存放环境和最终的生产环境。您的组织的需求可能会有所变化。
如果客户希望使用多个实例来支持自己的开发流程,那么他们应该按本文档中的说明预配其他实例,但无需在实例前预配 Web 应用程序防火墙 (Web application firewall, WAF),因为他们将直接访问这些实例。在其中一个实例中开发内容后,您可以使用 OCE 工具包的命令行界面 (command-line interface, CLI) 在 Oracle Content Management 实例之间传播该内容。
注:
在创建不会为生产流量提供服务的其他实例时,必须将其标记为非主,以免为复制的资产付费。主实例按实例中的资产总数收费。对于非主实例,每月按单个资产块收费(例如,5,000 个资产;如果有增强视频,则为 250 个增强视频资产),不考虑复制的资产总数。有关详细信息,请参见《Oracle PaaS and IaaS Universal Credits Service Descriptions》。要传播更改,可以使用 OCE 工具包命令在开发、测试和生产实例上创建站点并管理其生命周期。可以在开发环境中更改站点并将这些更改传播到测试环境和生产环境。您也可以将这组命令行实用程序并入您的脚本环境以管理部署。使用 CLI 实用程序,您可以部署新项(例如资产和组件)以及更新现有内容。
如果您的组织要在发生故障时使用备份区域继续传送公共站点内容,请配置 Web 应用程序防火墙 (Web Application Firewall, WAF) 并将内容复制到备份。
您的备份可以与主要实例位于同一个地理区域,也可以位于不同的区域。在不同的区域创建备份可提供更多保护,以防止数据丢失或可用性受损。
注:
Oracle Content Management 当前仅支持通过 WAF 的公共网站。如果您的站点要求身份验证,则必须直接从源域访问该站点。下面是体系结构的外观示例:
创建备份可能需要较长时间,特别是在您具有许多站点和资产的情况下,因此建议您在非工作时间执行备份。根据实例中的内容更改量,您应该确定备份应该每日执行一次还是降低频率一周执行一次。
实施备份区域时,可以使用 Oracle Cloud Infrastructure Web Application Firewall 服务将流量引导至主(活动)实例,并在发生故障时将其切换至备份(备用)实例。
创建主实例后,请执行以下步骤来实施备份区域:
预配此实例(仅在主区域发生故障时才为生产流量提供服务)时,务必将其标记为非主实例,以免针对此实例中的所有资产双重计费。此外,由于此实例可能会变为生产实例,因此通常应将其设置为延迟升级,但是它必须与主区域采用相同的升级计划,以免在主区域和备份区域之间切换流量时出现问题。
如果要使备份实例与主实例位于不同的区域,请在辅助区域中创建实例。
注:
备份实例只是为了在发生故障时进行测试或继续提供公共站点内容,而不是为了继续提供内容或访问要求身份验证的站点。配置和启用 Web 应用程序防火墙 (WAF) 以实施备份区域的过程涉及多个步骤:
如果需要从主实例切换到辅助实例,您可以通过更新 WAF 策略来实现。
要配置 WAF 策略,请执行以下步骤:
cross_site_WAF
)。请避免输入机密信息。oce.example.com
)。这是用户用于访问应用程序的 URL,该 URL 随即将指向 Oracle Content Management 主实例或辅助实例。primary_salesdocuments1
)。salesdocuments1-myaccount.cec.ocp.oraclecloud.com
)。要上载 SSL 证书和密钥,请执行以下步骤:
要创建辅助源,请执行以下步骤:
secondary_salesdocuments1
)。salesdocuments2-myaccount.cec.ocp.oraclecloud.com
)。将所在区域的 CNAME 更新到 DNS 配置中,以将来自 Internet 客户端的请求路由到 WAF。可以通过打开您创建的 WAF 策略来查找 CNAME。CNAME 值是在 OCI 域内用连字符连起来的主域版本(例如 oce-example-com.o.waas.oci.oraclecloud.net
)。
如果使用子域 cec.ocp.oraclecloud.com
,则需要提交支持请求,以要求 Oracle 技术支持执行 DNS 更新。
要在实例上配置 WAF,请执行以下步骤:
此时将显示该实例的区间名称。如果 WAF 策略位于不同的区间,请单击更改区间,然后选择正确的区间。
实例更新时,您将在“活动”列表中看到其进度。更新完成后,查看实例详细信息,您将看到其中列出了 WAF 主域。
如果需要将 WAF 源从主实例更改为辅助实例(反之亦然)以用于测试或备份目的,您可以通过更新 WAF 策略来实现。
Oracle Content Management
要切换 WAF 源,请执行以下步骤:
完成更新可能需要一些时间。完成时,传入应用程序的流量将被引导至选定的源。
请记住:通过 WAF 重定向意味着仅适用于测试或在发生故障时公共站点的连续传送。用户必须访问经验证的站点或直接访问 Oracle Content Management 用户界面。
此模型对于以下两个方面至关重要:提供高效运行高可用性环境所需的检查和平衡;在应用程序从测试依次转到暂存和生产时,无缝对其进行管理。
在此部署中,将创建专用实例以使开发、测试和生产分开。
通过将开发和测试实例设置为非主实例,可确保不会对这些实例中的所有资产双重计费。
通过将开发和测试实例设置为立即升级(一旦推出新发行版的 Oracle Content Management 就升级),您可以针对这些实例测试升级,从而确保升级不会干扰任何已部署的站点。如果您发现任何问题,可以将其报告给 Oracle 技术支持,以便在一个发行版后向生产实例应用延迟升级之前能够解决这些问题。
有关 OCE 工具包的更多信息,请参见Building Sites with Oracle Content Management中的“使用 OCE 工具包将更改从测试环境传播到生产环境”。
要创建从测试到生产 (Test to Production, T2P) 部署,需要在 VM 计算实例上安装 OCE 工具包,并使其使用 IDCS 验证。
在 VM 计算实例上执行以下步骤:
sudo -s cd /usr/local wget https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz tar xf node-v12.16.2-linux-x64.tar.xz exit
vi ~/.bash_profile --- add :/usr/local/node-v12.16.2-linux-x64/bin to the PATH -- e.g: PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/node-v12.16.2-linux-x64/bin source ~/.bash_profile
[opc@ocivm2pm ~]$ npm --version 6.14.4 [opc@ocivm2pm ~]$ node --version v12.16.2
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
wget https://github.com/oracle/content-and-experience-toolkit/archive/master.zip unzip master.zip rm master.zip cd content-and-experience-toolkit-master/sites/ npm install
[opc@ocivm2pm sites]$ ./node_modules/.bin/cec --version 20.4.1
sudo -s ln -s /home/opc/content-and-experience-toolkit-master/sites/node_modules/.bin/cec /usr/local/bin/cec exit
cd [opc@ocivm2pm ~]$ cec --version 20.4.1
cd mkdir cec cd cec cec install
使用以下命令注册源实例和目标实例的连接详细信息。例如,如果您要同步从测试到生产部署的内容,您可能会有开发 (DEV)、暂存 (TEST) 和生产 (PROD) 实例。
cec register-server DEV -e http://server:port -u username -p password cec register-server TEST -e http://server:port -u username -p password cec register-server PROD -e http://server:port -u username -p password
DEV
、TEST
、PROD
)是用于标识实例端点的服务器名称。此值可以是您选择的任何名称。注:
您可以传入--keyfile
以对该文件中保存的密码进行加密。可使用以下命令传输企业站点:
cec transfer-site SiteName -s DEV -d TEST -r RepositoryName -l LocalizationPolicyName
SiteName
) 是要传输的站点的名称。如果要更新目标实例上的站点,不需要包括资料档案库和本地化策略。
有关详细信息,请参见Building Sites with Oracle Content Management中的“使用 OCE 工具包将更改从测试环境传播到生产环境”。