我需要采取哪些措施,才能完成 ElastiCache 自助服务更新?

1 分钟阅读
0

我收到了有关 Amazon ElastiCache 自助服务更新的通知,我想知道需要采取哪些措施。

简述

Amazon ElastiCache 会自动监控您的 Redis 和 MemCached 节点实例集,以便在有服务更新可用时应用这些更新。服务更新有助于增强 Amazon ElastiCache 的安全性、可靠性和操作性能。通常,您可以设置预定义的维护时段,以便 Amazon ElastiCache 能够应用这些更新。但是,在某些情况下,您可能会发现,这种方法过于僵化,可能会限制您的业务流程。自助更新功能允许您自行决定应用更新。

解析

如何查看服务更新通知?

如果您有符合条件的集群,Amazon ElastiCache 会通过以下方法通知您有可用的更新:

  • ElastiCache 控制台通知
  • 电子邮件
  • Amazon Simple Notification Service (Amazon SNS) 消息
  • AWS Personal Health Dashboard (PHD) 通知
  • Amazon CloudWatch Events

在更新的整个生命周期中,您可能会收到多个服务更新通知。您收到的服务更新通知数量取决于更新的类型,例如强制性或非强制性的。通知还取决于您在集群上执行的操作。例如,如果您在截止日期之前应用强制更新,则不会收到提醒或自动更新通知。

有关设置 SNS 通知的信息,请参阅 监控 ElastiCache 事件

**注意:**对于在服务更新说明中指定的发布日期之后启动或替换的节点,不会发送通知。

如何查看可用的服务更新?

收到有关可用服务更新的通知后,您可以使用 AWS 命令行界面 (AWS CLI) describe-service-updates 命令检索这些更新。有关更多信息,参见 describe-service-updates

**注意:**如果您在运行 AWS CLI 命令时收到错误,请 确保您使用的是最新的 AWS CLI 版本

您也可以从 ElastiCache 控制台查看可用的服务更新。按照以下说明从控制台查看更新:

  1. 打开 ElastiCache 控制台
  2. 选择 服务更新。您可以查看 ElastiCache 实例集的所有服务更新、说明和状态。

如何确定服务更新修复的内容?

查看服务更新详细信息中的 更新说明 部分,即可了解修复或改进内容。

如何应用服务更新?

服务更新发布并可用后,您可以立即应用更新。最佳实践是在收到服务更新通知后尽快应用更新。

要在集群上应用服务更新,请运行 AWS CLI batch-apply-update-action 命令。有关更多信息,参见 batch-apply-update-action

要通过 ElastiCache 控制台应用服务更新,请按照以下说明进行操作

  1. 打开 ElastiCache 控制台
  2. 选择 服务更新
  3. 选择要应用的服务更新,然后选择 立即应用。有关更多信息,请参阅 使用控制台应用服务更新

注意:只能应用状态为可用已安排的服务更新。

应用服务更新会产生什么影响?

对于 Redis,更新仅应用于每个分片中的一个节点。正在更新的节点会停机几秒钟,Redis 集群的其余节点继续提供流量。在某些实例配置和流量模式下,替换可能需要更长的时间。例如,Redis 主节点可能没有足够的可用内存,并且可能会出现较高的写入流量。

对于 Memcached 节点,替换过程会产生空的新节点,并会终止当前节点。删除缓存内容重新开始。在切换期间,新节点将在短期内不可用。完成切换后,在向空的新节点填充缓存数据的过程中,应用程序可能会出现性能下降的情况。为了最大限度减少影响,一次只能为一个节点应用更新。由于 Memcached 节点不需要同步,因此无论节点大小如何,其替换都会完成得更快一些。

**注意:**对于 Redis 和 MemCached,集群配置都没有变化。您可能会看到 Amazon CloudWatch 指标发生延迟,这些指标会尽快跟上更新进度。

为了最大限度减少服务更新期间的影响,请参阅 Amazon ElastiCache 托管维护和服务更新帮助页面中的以下三个问题

  • 节点替换需要多长时间?
  • 节点替换对应用程序有何影响?
  • 为获得顺畅的替换体验并最大限度减少数据丢失,我应该按照哪些最佳实践?

服务更新是强制性的吗?

如果到期日期后自动更新属性设置为,则就是强制性的服务更新,必须应用。

如果服务更新申请截止日期已过,该怎么办?

如果您未在申请截止日期之前应用更新,Amazon ElastiCache 会在您的维护时段开始安排更新。更新安排在集群的维护时段。您将在预定日期前一周收到新通知。未经事先通知,Amazon ElastiCache 不会在您的维护时段应用更新。

注意:即使在申请截止日期之后,您仍然可以在预定的自动更新日期之前应用服务更新。应用更新后,预定的自动更新将失效。

如何处理过期的服务更新?

您无法应用过期的服务更新。但是,新节点包含所有适用的服务更新。您可以手动替换现有未更新的节点,以获取最近更新内容。在服务更新发布日期之后启动的节点会自动接收过往的更新。有关手动替换节点的更多信息,请参阅替换节点 (Redis) 和替换节点 (memCached)。

注意:如果您错过日期,没有在更新到期日期之前应用更新,则该更新将顺延到下一次服务更新时应用。

如果同一个集群有多个服务更新,该怎么办?

服务更新始终是累积性的。如果同一集群有多个用于提高安全性和改善性能的服务更新,则可以应用最近的服务更新内容。所有未应用的适用更新均已应用。

如何重新安排强制性服务更新?

安全是共担责任。因此,最佳实践是尽快应用服务更新。如果预定时间不适合您,您可以通过更改维护时段来推迟服务更新。更改维护时段且预定日期过后,服务更新将重新安排到在接下来的几周内新指定的时段内。在到达新日期前一周,您会收到新通知。

如何重新安排可选服务更新?

最佳实践是及时应用所有自助服务更新,以保持兼容性,无论更新是否为强制性的。如果服务更新的到期日期后自动更新属性设置为,则 Amazon ElastiCache 不会自动应用更新。如果您未在更新到期日期之前安装更新,则会跳过该更新,无需执行任何操作。如果要应用过期的更新,请参阅上一节: 如何处理过期的服务更新?

如何获得更多帮助?

如果您在应用服务更新期间或之后发现问题,请联系 AWS Support 团队

相关信息

在 ElastiCache 中更新 Redis 服务

AWS 官方
AWS 官方已更新 1 年前