Amazon OpenSearch Service 中的服务软件更新
有关每个主要服务软件发布版本中所做的更改和新增功能说明,请参阅发行说明。
Amazon OpenSearch Service 将定期发布增加功能或以其他方式改进您的域的服务软件更新。控制台中的 Notifications(通知)面板是查看是否有可用的更新或检查更新状态的最简单方法。每个通知都包含有关服务软件更新的详细信息。如果更新是可选的,通知严重性为 Informational
,如果需要,严重性为 High
。
服务软件更新不同于 OpenSearch 版本升级。有关升级到更高版本的 OpenSearch 的信息,请参阅 升级 Amazon OpenSearch Service 域。
域更新注意事项
决定是否更新域时,请考虑以下事项:
-
在启动服务软件更新时,OpenSearch Service 会在更新开始和完成时发送通知。
-
如果没有对可用更新采取任何操作,OpenSearch Service 最终会为您更新域。如果更新是可选的,OpenSearch Service 会在您下次做出了会引发蓝/绿部署的更改时更新您的域。如果更新是必需的,则若域尚未更新,OpenSearch Service 会在特定时间范围(通常为两周)后启动蓝/绿部署。您会在更新开始和完成时收到通知。
-
软件更新使用蓝绿部署,以尽可能减少停机时间。更新可能会临时使集群的专用主节点紧张,因此请确保保持足够的容量来处理相关开销。
通过手动更新域,您可以更快地利用新功能。在选择更新时,OpenSearch Service 将请求放置在队列中,并在有时间时开始更新。通常在几分钟内完成更新,但如果您的系统负载过重,也可能需要几个小时甚至几天。考虑在较短的流量时间内更新您的域,避免长时间的更新。
补丁版本
以“-P”和数字结尾的服务软件版本(例如 R20211203-P4
)是补丁版本。补丁可能包括性能改进、次要错误修复以及安全修复或状态改进。补丁发行版不包含新功能或重大更改,并且通常不会对用户产生直接或明显的影响。
请求服务软件更新(控制台)
请求服务软件更新(控制台)
-
转至 http://aws.amazon.com
,然后选择登录控制台。 -
在 Analytics 下,选择 Amazon OpenSearch Service。
-
在导航窗格中的 Domains(域)下,选择域名以打开其设置。
-
选择 Actions(操作)、Update(更新),然后确认更新。
请求服务软件更新 (Amazon CLI)
发送以下 Amazon CLI 命令以请求服务软件更新:
aws opensearch start-service-software-update --domain-name
my-domain
有关更多信息,请参阅 Amazon CLI 命令参考中的 start-service-software-update 和配置 API 参考中的 StartServiceSoftwareUpdate。
在请求更新之后,您可能可以在很小的时间范围内将其取消。这个持续时间 PENDING_UPDATE
状态可能会有很大的不同,并取决于 Amazon Web Services 区域 和 OpenSearch Service 正在执行的并发更新的数量。要取消,请使用控制台或 cancel-service-software-update
(CancelServiceSoftwareUpdate
) 命令。
请求服务软件更新 (SDK)
此示例 Python 脚本使用 Amazon SDK for Python (Boto3) 中的 describe_domaindomain_name
提供一个值。
import boto3 from botocore.config import Config import time # Build the client using the default credential configuration. # You can use the CLI and run 'aws configure' to set access key, secret # key, and default region. my_config = Config( # Optionally lets you specify a Region other than your default. region_name='us-east-1' ) domain_name = '' # The name of the domain to check and update client = boto3.client('opensearch', config=my_config) def getUpdateStatus(client): """Determines whether the domain is eligible for an update""" response = client.describe_domain( DomainName=domain_name ) sso = response['DomainStatus']['ServiceSoftwareOptions'] if sso['UpdateStatus'] == 'ELIGIBLE': print('Domain [' + domain_name + '] is eligible for a service software update from version ' + sso['CurrentVersion'] + ' to version ' + sso['NewVersion']) updateDomain(client) else: print('Domain is not eligible for an update at this time.') def updateDomain(client): """Starts a service software update for the eligible domain""" response = client.start_service_software_update( DomainName=domain_name ) print('Updating domain [' + domain_name + '] to version ' + response['ServiceSoftwareOptions']['NewVersion'] + '...') waitForUpdate(client) def waitForUpdate(client): """Waits for the domain to finish updating""" response = client.describe_domain( DomainName=domain_name ) status = response['DomainStatus']['ServiceSoftwareOptions']['UpdateStatus'] if status == 'PENDING_UPDATE' or status == 'IN_PROGRESS': time.sleep(30) waitForUpdate(client) elif status == 'COMPLETED': print('Domain [' + domain_name + '] successfully updated to the latest software version') else: print('Domain is not currently being updated.') def main(): getUpdateStatus(client)
监控服务软件更新事件
当服务软件更新可用、必须执行、已启动、已完成或失败时,OpenSearch Service 就会发送通知。您可以在 OpenSearch Service 控制台的通知面板中查看这些通知。它还会将这些通知发送到 Amazon EventBridge。您可以使用 EventBridge 配置在收到事件时发送电子邮件或执行特定操作的规则。有关示例演练的信息,请参阅教程:发送有关可用软件更新的 Amazon SNS 警报:
要了解发送到 Amazon EventBridge 的每个服务软件事件的格式,请参阅服务软件更新事件。
当域不符合更新资格时
如果您的域处于下表中所示的任何状态,则可能没有资格进行服务软件更新。
状态 | 描述 |
---|---|
域正在处理中 |
域正在接受配置更改。在操作完成后检查更新资格。 |
红色集群状态 |
集群中的一个或多个索引为红色。有关问题排查步骤,请参阅红色集群状态。 |
高错误率 |
在尝试处理请求时,OpenSearch 集群返回大量 5xx 错误。此问题通常是因为同时读取或写入了过多的请求。请考虑减少流向集群的流量或扩展您的域。 |
裂脑 |
脑裂 意味着您的 OpenSearch 集群有多个主节点并且已拆分成两个绝不会自行重新联接的集群。您可以通过使用推荐数量的专用主节点避免裂脑。为了帮助您从裂脑恢复,请联系 Amazon Web Services Support |
Amazon Cognito 集成问题 |
您的域使用OpenSearch 仪表板身份验证,OpenSearch Service 找不到一个或多个 Amazon Cognito 资源。如果缺少 Amazon Cognito 用户池,则通常会出现此问题。要更正此问题,请重新创建缺少的资源并将 OpenSearch Service 域配置为使用它。 |
其他 OpenSearch Service 服务问题 |
OpenSearch Service 本身的问题可能会导致您的域显示没有更新资格。如果上述情况都不适用于您的域且该问题持续超过一天,请联系 Amazon Web Services Support |