亚马逊 OpenSearch Service 现在使用带待机的多可用区支持 99.99% 的可用性

客户使用 亚马逊 OpenSearch 服务进行任务关键型应用程序和监控。但是,当 OpenSearch 服务本身不可用时会发生什么?例如,如果你的电子商务搜索量下降,你就会损失收入。如果你使用 OpenSearch Service 监控应用程序,但它变得不可用,那么你检测、诊断和修复应用程序问题的能力就会降低。在这些情况下,您可能会遭受收入损失、客户不满意、生产力降低,甚至组织声誉受损。

在遵循最佳实践的情况下,OpenSearch 服务提供 “三个 9”(99.9%)的可用性等级协议。 但是,遵循这些做法很复杂,可能需要了解 OpenSearch 的数据部署和管理方面的知识和经验,还需要了解 OpenSearch 服务如何与 亚马逊云科技 可用区和网络、分布式系统、OpenSearch 的自我修复能力及其恢复方法进行交互。此外,当出现问题(例如节点无响应)时,OpenSearch Service 会通过重新创建丢失的分片(数据)进行恢复,这可能会导致域中数据的大量移动。 这种数据移动会增加集群上的资源使用量,从而影响性能 。如果集群大小不合适,其可用性可能会降低,这违背了跨三个可用区配置集群的目的。

今天,亚马逊云科技宣布新的部署选项 为OpenSearch Service提供 备用 多可用区 ,它可以帮助您减轻高频监控、快速故障检测和故障快速恢复方面的繁重工作,即使在基础设施出现故障的情况下也能保持域的可用性和性能。使用带备用模式的多可用区,您可以获得 99.99% 的可用性和稳定的域性能。

在这篇文章中,我们将讨论这个新选项的好处,以及如何使用带备用功能的多可用区配置您的 OpenSearch 集群。

解决方案概述

OpenSearch 服务团队将多年来为我们的客户运营数万个域名的经验整合到带备用功能的多可用区中。当您采用带备用的多可用区时,OpenSearch Service 会在三个可用区中创建一个集群,每个可用区都包含集群中数据的完整副本。然后,OpenSearch Service 将一个可用区置于待机模式,将所有查询路由到其他两个可用区。当检测到与硬件相关的故障时,OpenSearch Service 会在不到一分钟的时间内将备用池中的节点提升为活动状态。当您使用带备用模式的多可用区时,OpenSearch 服务无需重新分配或重新创建缺失节点的数据。因此,集群性能不受影响,从而消除了可用性下降的风险。

先决条件

带备用模式的多可用区需要满足以下先决条件:

  • 该域名需要在 OpenSearch 1.3 或更高版本上运行
  • 该域部署在三个可用区中
  • 该域有三个(或三个中的倍数)数据节点
  • 您必须使用三个专用的集群管理器(主)节点

有关 调整 域名和专用集群管理器节点大小的指南,请参阅调整亚马逊 OpenSearch Servic e 域的大小。

使用带备用系统的多可用区配置您的 OpenSearch 集群

创建新域时,您可以使用带备用模式的多可用区,也可以将其添加到现有域中。如果您使用 亚马逊云科技 管理控制台 创建新域 ,则可以通过选择新的 简易创建 选项或传统的 标准创建 选项,使用带备用的多可用区创建 新域。您可以通过编辑域配置来更新现有域以使用带备用模式的多可用区。

顾名思义,E asy cre ate 选项默认使用最佳实践选项,使创建域变得更加容易(其中大部分配置可以稍后更改)。该域将从一开始就设置为实现高可用性,并以带备用模式的多可用区进行部署。

在选择数据节点时,您应该选择三个(或三个中的倍数)数据节点,以便它们在每个可用区中均匀分布。OpenSearch Service 控制台上的 数据节点 表提供了数据注释的可视化表示,显示其中一个可用区将处于待机状态。

同样,在选择集群管理器(主)节点时,在决定实例大小之前,请考虑计划拥有的数据节点、索引和分片的数量。

创建域后,您可以在 OpenSearch Service 控制台的 “ 群集配置 ” 下检查其部署类型 ,如以下屏幕截图所示。

创建索引时,请确保副本数(主副本和副本)是三的倍数。如果您不指定副本数量,则该服务将默认为两个。这很重要,因此每个可用区中至少有一个数据副本。我们建议对日志工作负载使用 索引模板 或类似模板。

OpenSearch 服务将节点和数据副本平均分配到三个可用区。在正常运行期间,备用节点不会收到任何搜索请求。两个活跃的可用区响应所有搜索请求。但是,数据会复制到这些备用节点,以确保您在每个可用区中始终拥有完整的数据副本。

对基础设施故障事件的响应

OpenSearch 服务持续监控域中是否存在节点故障、磁盘故障或可用区故障等事件。如果出现基础设施故障(例如可用区故障),OpenSearch Services 会在受影响的可用区恢复时将备用节点提升为活动节点。影响(如果有)仅限于飞行中的请求,因为流量将在不到一分钟的时间内权衡出受影响的可用区。

您可以在 “ 群运行状况” 选项卡上检查域的状态、活动和备用数据节点指标以及可用区轮换指标。以下屏幕截图显示了集群运行状况和数据节点的指标,例如 CPU 利用率、JVM 内存压力和存储。

以下 “ 可用区轮换指标 ” 部分的屏幕截图(您可以在 “集群运行状况” 选项卡下找到)显示了可用区的读写状态。OpenSearch 服务每 30 分钟轮换一次备用可用区,以确保系统正在运行并准备好响应事件。响应流量的可用区域的读取值为 1,备用可用区的读取值为 0。

注意事项

已经对该功能进行了多项改进和护栏,以提供更高的可用性并保持性能。已经应用了一些静态限制,这些限制与每个节点的分片数量、域的分片数量和分片的大小特别相关。默认情况下,OpenSearch 服务还启用 自动调谐 。带待机的多可用区将存储限制为支持 GP3 或 SSD 的实例,以提供最具成本效益和性能的存储选项。此外,我们还引入了一种先进的流量整形机制,可以检测恶意查询,从而进一步提高域的可靠性。

我们建议根据您的工作负载评估您的域基础设施需求,以实现高可用性和性能。

结论

除美国西部(加利福尼亚北部)和 亚马逊云科技 GovCloud(美国政府东部、美国政府西部)外,全球所有提供 OpenSearch 服务的 亚马逊云科技 区域的 OpenSearch 服务均提供备用多可用区。试试看,将你的反馈发送到 适用于亚马逊 OpenSearch Ser vice 的 亚马逊云科技 re: Pos t 或通过你通常的 亚马逊云科技 支持联系人发送反馈。


作者简介

Prashant Agrawal 是亚马逊 OpenSearch Service 的高级搜索专家解决方案架构师。他与客户紧密合作,帮助他们将工作负载迁移到云端,并帮助现有客户微调集群以提高性能并节省成本。在加入 亚马逊云科技 之前,他帮助各种客户使用 OpenSearch 和 Elasticsearch 进行搜索和日志分析用例。不工作时,你会发现他在旅行和探索新的地方。简而言之,他喜欢做 “吃” → “旅行” → “重复”。

Rohin Bhargava 是亚马逊 OpenSearch Service 团队的高级产品经理。他在 亚马逊云科技 的热情是帮助客户找到正确的 亚马逊云科技 服务组合,以成功实现其业务目标。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。