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

使用甲骨文云OCI搜索服务与OpenSearch构建应用内搜索功能

2024-03-13 原创文章

Oracle Cloud Infrastructure搜索服务与OpenSearch允许您构建应用内搜索,即使在处理大数据集时也能在毫秒级返回结果。OpenSearch源自Apache 2.0授权的Elasticsearch 7.10.2和Kibana 7.10.2,是一个社区驱动的开源搜索和分析套件,建立在Apache Lucene之上,Lucene是一个基于Java的搜索和索引库。它包括:

  • 搜索引擎守护程序:OpenSearch。
  • 可视化和用户界面:OpenSearch Dashboards。 OpenSearch有许多用例,但通常被应用程序用于搜索大数据集和日志分析,以便快速调查和调试。


架构

在Oracle Cloud Infrastructure搜索服务上存储和索引应用数据,借助OpenSearch来加速应用内搜索,依赖于以下所描述的架构拓扑和组件。


下图展示了这个参考架构。


架构包含以下组件:

租户

  • 租户是Oracle在您注册OCI时在Oracle Cloud中设置的安全且隔离的分区。您可以在租户内的Oracle Cloud中创建、组织和管理您的资源。


策略

  • OCI身份和访问管理策略指定谁可以访问哪些资源以及如何访问。访问权限在组和分区级别授予,这意味着您可以编写策略,为一个组在特定分区内或对租户本身提供特定类型的访问权限。


分区

  • 分区是OCI租户内的跨区域逻辑分区。使用分区来在Oracle Cloud中组织您的资源,控制对资源的访问,并设置使用配额。为了控制对给定分区中的资源的访问,您需要定义策略,指定谁可以访问资源以及他们可以执行什么操作。


虚拟云网络(VCN)

  • 在OCI中的第一步之一是为您的云资源设置虚拟云网络(VCN)。VCN是您在OCI区域中设置的软件定义网络。VCN可以被分割成子网,这些子网可以特定于一个区域或可用性域。特定于区域和特定于可用性域的子网可以在同一个VCN中共存。子网可以是公共的或私有的。


可用性域

  • 可用性域是区域内独立的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共享基础设施,如电力或冷却设施,或内部可用性域网络。因此,一个可用性域的故障不太可能影响该区域中的其他可用性域。


故障域

  • 故障域是可用性域内的硬件和基础设施分组。每个可用性域有三个故障域,拥有独立的电力和硬件。当您将资源跨多个故障域分配时,您的应用程序可以容忍物理服务器故障、系统维护和故障域内的电力故障。


堡垒主机

  • 堡垒主机是一个计算实例,作为从云外部进入拓扑的安全、受控入口点。它使您能够访问放置在不能直接从云外部访问的私有网络中的敏感资源。拓扑有一个单一的、已知的入口点,您可以定期监控和审计。因此,您可以避免暴露拓扑中更敏感的组件,同时不影响对它们的访问。


负载均衡器

  • 负载均衡器平衡对数据节点的索引操作和对主节点的Kibana访问。它使用两个监听器,一个用于Kibana,另一个用于索引数据访问,使用主节点后端和数据节点后端。负载均衡器位于具有公共IP地址的公共子网中。


计算实例

  • OCI计算允许您配置和管理计算主机。您可以启动符合资源要求(CPU、内存、网络带宽和存储)的计算实例。创建计算实例后,您可以安全地访问它,重新启动它,附加和分离卷,并在不需要时终止它。




架构包含以下组件:

  • 互联网网关
  • 互联网网关允许在VCN的公共子网与公共互联网之间的流量传输。


动态路由网关(DRG)

  • DRG是一个虚拟路由器,为本地网络与VCN之间的私有网络流量提供路径,还可用于在同一区域或跨区域的VCN之间路由流量。


保险库

  • OCI保险库使您能够集中管理保护数据的加密密钥,以及用于保护对云中资源的访问的秘密凭证。


VPN

  • 站点到站点VPN提供您的本地网络与OCI中的VCN之间的站点到站点IPSec VPN连接。IPSec协议套件在数据包从源传输到目的地之前加密IP流量,并在到达时解密流量。


应用程序

  • 架构中的应用程序被简化,示例为单体应用程序。在多层应用程序的情况下,后端将连接到OCI搜索服务和OpenSearch。对于分布式应用程序来说,这是任何存储大量数据的服务,并且其他服务或用户需要进行搜索。


建议

以下建议可作为使用OCI搜索服务和OpenSearch来构建云应用程序中的应用内搜索功能的起点。您的需求可能与这里描述的架构有所不同。

VCN

  • 创建VCN时,根据您计划连接到VCN子网的资源数量,确定所需的CIDR块数量和每个块的大小。使用标准私有IP地址空间内的CIDR块。
  • 选择不与任何其他网络(在Oracle云基础设施、您的本地数据中心或其他云提供商)重叠的CIDR块,以便您打算建立私有连接。
  • 在设计子网时,考虑您的流量流向和安全需求。将同一层或角色内的所有资源连接到同一个子网,这可以作为安全边界。

安全性

  • 使用策略限制谁可以访问您公司的OCI资源以及他们如何访问这些资源。成功创建OCI搜索服务和OpenSearch集群需要特定的策略。使用保险库来额外保护您的密钥、证书和秘密。
  • 网络服务提供两种使用安全规则来控制数据包级别流量的虚拟防火墙功能:安全列表和网络安全组(NSG)。NSG由一组适用于您在单个VCN中选择的一组VNIC的入口和出口安全规则组成。例如,您可以选择VCN中多层应用程序的Web层中充当Web服务器的所有计算实例。
  • NSG安全规则的功能与安全列表规则相同。但是,对于NSG安全规则的来源或目的地,您可以指定NSG而不是CIDR块。因此,您可以轻松编写安全规则来控制同一VCN中两个NSG之间的流量或单个NSG内的流量。

计算

  • 选择适当的OCPUs和内存组合的形状,并根据需要为每个实例配置本地NVMe和/或块存储。



当在云应用程序中使用OCI搜索服务和OpenSearch构建应用内搜索功能时,考虑以下选项:

  • 如果您找不到适用于ORM的OpenSearch插件,请寻找与ElasticSearch 7.10.2兼容的插件,或者使用REST API。
  • 构建搜索模板,将用户的搜索查询与预定义的搜索参数结合起来。
  • 从本地机器连接到OCI搜索服务和OpenSearch时,可以在公共子网中设置一个堡垒主机(Bastion Host)并设置SSH端口转发来访问端点。或者通过VPN访问端点。位于私有子网中的应用实例也可以通过堡垒主机访问。


通过这些考虑点,可以确保安全、有效地集成和使用OCI搜索服务和OpenSearch,以增强云应用程序的搜索功能。


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

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


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


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


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