欢迎访问深圳敏捷云计算科技有限公司!

在甲骨文云OCI基础设施上部署高可用性Oracle REST数据服务:提升云端数据处理效率与稳定性

2024-03-20 原创文章

在Oracle云基础设施中部署具有高可用性的Oracle REST数据服务(ORDS),并启用您的数据库。ORDS连接HTTPS和您的Oracle数据库。作为一个中间层Java应用程序,它提供了数据库管理REST API、SQL Developer Web、PL/SQL网关、SODA for REST,以及发布RESTful Web服务的能力,用于与您的Oracle数据库中的数据和存储过程进行交互。

ORDS还通过支持使用Oracle WebLogic服务器、Apache Tomcat和独立模式的部署来提供更大的灵活性。ORDS进一步简化了部署过程,因为不需要Oracle主目录,连接是通过嵌入式JDBC驱动提供的。

此参考架构概述了如何在多个VM计算实例中部署ORDS,为您的Oracle数据库实例创建一个高可用的中间层。

架构

此架构描述了如何在Oracle云基础设施上部署具有高可用性的Oracle REST数据服务。架构始于单个区域内的虚拟云网络(VCN)。虽然这个VCN可以跨越多个可用性域(AD),但在这个参考架构中,我们将使用单个AD。该AD包含多个故障域,这些故障域是AD内拥有分组硬件和基础设施的区域。我们将在多个故障域中部署带有ORDS的计算VM,以帮助实现我们的高可用性目标。

在这个VCN中,有多个子网包含我们架构的特定组件。我们从互联网网关开始,它将仅允许经过我们指定端口的流量到达VCN前端的公共子网中的负载均衡器。负载均衡器也将拥有一个我们稍后可以使用的公共面向IP,以便根据需要应用自定义域名。负载均衡器将与包含我们ORDS计算中间层的子网通信。通信通过子网范围的安全列表以及网络安全组(NSG)来保障安全。这些NSG可以应用于计算和负载均衡器上的一组VNIC,以提供这些资源之间通信的细粒度安全规则。

最后,再次使用安全列表和NSG,ORDS中间层可以访问私有子网中的Oracle数据库。使用私有子网的资源不会被分配公共面向的IP。这样,我们可以使用NSG作为公共和私有子网之间的安全通信层。这个私有子网中的Oracle数据库实例可以是VM DB实例、自治数据库或Exadata云服务数据库。

以下图表说明了这一参考架构。

此架构包含以下组件:

区域

Oracle云基础设施区域是一个地理位置本地化的区域,包含一个或多个称为可用性域的数据中心。各区域相互独立,彼此之间可能相隔很远(横跨国家甚至大洲)。

可用性域

可用性域是区域内独立、互不依赖的数据中心。每个可用性域中的物理资源与其他可用性域的资源隔离,提供故障容忍性。可用性域不共享基础设施,如电力或冷却系统,或内部可用性域网络。因此,一个可用性域的故障不太可能影响该区域内其他可用性域。本架构中的资源部署在单个可用性域中。

故障域

故障域是可用性域内的硬件和基础设施分组。每个可用性域有三个故障域,拥有独立的电力和硬件。当您在多个故障域中分布资源时,您的应用程序可以承受物理服务器故障、系统维护和故障域内的电力故障。本架构中的资源部署在多个故障域中。

虚拟云网络(VCN)和子网

VCN是您在Oracle云基础设施区域内设置的可自定义的软件定义网络。与传统数据中心网络一样,VCN为您提供对网络环境的完全控制。VCN可以拥有多个非重叠的CIDR块,这些块在创建VCN后可以更改。您可以将VCN划分为子网,这些子网可以针对一个区域或一个可用性域。每个子网包含一个连续的地址范围,不与VCN中的其他子网重叠。创建后可以更改子网的大小。子网可以是公共的或私有的。

在这个参考架构中,带有ORDS的计算实例与负载均衡器一起连接到一个公共子网,而数据库可以使用私有或公共子网。数据库安全最佳实践是尽可能将数据库实例放在私有子网中。

负载均衡器

Oracle云基础设施负载均衡服务从单个入口点向后端多个服务器提供自动化的流量分配。这个负载均衡器的公共IP也将用于注册自定义域名(如有需要)。

计算实例/ORDS主机

Oracle云基础设施计算允许您配置和管理计算主机。您可以启动满足您资源要求(CPU、内存、网络带宽和存储)的计算实例。创建计算实例后,您可以安全地访问它,重启它,附加和拆卸卷,并在不需要时终止它。此架构中的Web服务器运行在使用x86或ARM CPU架构的计算虚拟机上。

数据库实例

数据库服务提供自治和共管的Oracle数据库云解决方案。自治数据库是预配置的、完全托管的环境,适用于事务处理或数据仓库工作负载。共管解决方案是裸机、虚拟机和Exadata DB系统,您可以自定义资源和设置以满足您的需求。

此参考架构适用于自治数据库或共管数据库实例。

网络安全组(NSG)

NSG充当您的计算实例的虚拟防火墙。在Oracle云基础设施的零信任安全模型中,所有流量默认被拒绝,您可以控制VCN内的网络流量。一个NSG包含一组入站和出站安全规则,这些规则仅适用于单个VCN中指定的一组VNIC。在此架构中,负载均衡器、Web服务器和数据库分别使用不同的NSG。

路由表

虚拟路由表包含将流量从子网路由到VCN外部目的地的规则,通常通过网关。

互联网网关

互联网网关允许VCN中的公共子网与公共互联网之间的流量通行。

安全列表

安全列表充当实例的虚拟防火墙,具有入站和出站规则,指定允许进出的流量类型。

建议

以下建议可作为起点。您的需求可能与这里描述的架构不同。

虚拟云网络(VCN)

创建VCN时,根据您计划连接到VCN子网的资源数量,确定所需的CIDR块数量及每个块的大小。使用标准私有IP地址空间内的CIDR块。

选择不与您打算建立私有连接的任何其他网络(在Oracle云基础设施、您的本地数据中心或其他云提供商)重叠的CIDR块。

创建VCN后,您可以更改、添加和移除其CIDR块。

在设计子网时,考虑您的流量流向和安全要求。将特定层或角色内的所有资源连接到同一个子网,这可以作为一个安全边界。

使用区域子网。

安全

使用Oracle Cloud Guard主动监控和维护您在Oracle云基础设施中的资源的安全性。Cloud Guard使用您可以定义的探测器配方来检查您的资源是否存在安全弱点,以及监控操作员和用户是否有高风险活动。当检测到任何配置错误或不安全活动时,Cloud Guard会推荐纠正措施,并协助采取这些措施,这些措施基于您可以定义的响应器配方。

对于需要最高安全性的资源,Oracle建议您使用安全区域。安全区域是一个与Oracle定义的基于最佳实践的安全策略配方相关联的隔间。例如,安全区域中的资源不能从公共互联网访问,并且必须使用客户管理的密钥加密。在安全区域中创建和更新资源时,Oracle云基础设施会根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。

数据库实例

对于生产应用程序,Oracle数据库实例应遵循OCI中的Oracle最大可用性架构(MAA)部署模型。遵循这些指南确保数据库不仅高可用,而且在发生故障和灾难时也能得到保护。这些架构还能够利用利用DR实例的报告数据库。

MAA架构内置于OCI数据库服务中,包括共管和自治。Data Guard、GoldenGate、RAC和自动备份从一开始就可用,并应在适用的生产环境中使用。

在使用RAC的Oracle数据库时,确保ORDS使用的数据库连接信息指向SCAN监听器,而不是单个节点。

计算/ORDS实例

在规划计算中间层时,参考以下图表以获取建议:

参考架构大小(虚拟机)

参考架构大小(裸机)

灵活的负载均衡

现在,您可以创建具有上限和下限的负载均衡器,使其能够根据进入的请求数量进行缩放。其规模可以从10Mbps小到8000Mbps大。

考虑因素

部署此参考架构时,请考虑以下几点。

性能

计算、负载均衡器和数据库云实例都可以扩展以处理增加的负载。在计算/ORDS层,可以快速创建并添加额外实例到负载均衡器配置中。对于数据库层,自治数据库可以设置为在负载增加时自动扩展CPU/内存。对于共管实例,基于VM的服务可以扩展VM上使用的CPU数量。在Exadata云服务的情况下,X8M平台不仅可以扩展CPU,还可以向RAC集群添加节点以增加额外的计算能力。

安全

在子网和NSG入站/出站规则中使用非常细致的规则。您只希望在期望的端口上,针对子网中特定实例的IP进行流量传输。如果需要访问计算或数据库层,使用堡垒主机服务进行访问。这确保只有授权用户才能访问这些实例,并且只能访问授予访问权限的特定实例。使用堡垒主机服务比将SSH端口暴露给公共互联网要安全得多。

可用性

遵守Oracle最大可用性架构(MAA)指南进行数据库部署。对于ORDS,建议使用多个中间层和负载均衡器。同样,作为提醒,使用RAC的Oracle数据库时,确保ORDS使用的数据库连接信息指向SCAN监听器,而不是单个节点。

成本

使用自动扩展和一般的计算及数据库层的扩展将有助于控制成本,使您只需为正在使用的资源付费,无需浪费CPU、内存或实例。成本还可以通过灵活的负载均衡器来控制。

                   

部署

您可以一键将此架构的代码拉入Oracle云基础设施资源管理器,创建堆栈并部署它。

Oracle云基础设施资源管理器中可用的架构使用单个自治数据库,而在上述架构中,我们建议在生产场景中使用灾难恢复数据库。在此示例参考架构中使用它是为了节省成本、提高速度,并更加关注计算/ORDS的高可用性部署。

使用Oracle云基础设施资源管理器中的示例堆栈部署此架构:

1. 点击,如果您尚未登录,请输入租户和用户凭据。

2. 选择您想部署堆栈的区域。

3. 按照屏幕提示和指示创建堆栈。

4. 创建堆栈后,点击Terraform操作,并选择计划(Plan)。

5. 等待作业完成,并审查计划。

6. 如需进行任何更改,请返回到堆栈详情页面,点击编辑堆栈,并进行所需更改。然后,再次运行计划操作。

7. 如果不需要进一步更改,请返回到堆栈详情页面,点击Terraform操作,并选择应用(Apply)。

开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。

Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。

利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。

Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门