我如何提高 Amazon Elasticsearch Service 域的容错能力?

上次更新时间:2020 年 1 月 9 日

我如何保护 Amazon Elasticsearch Service (Amazon ES) 资源,防止意外删除、应用程序或硬件出现故障或中断?

简短描述

要提高 Amazon ES 域的容错能力,请执行以下操作:

  • 拍摄常规索引快照。
  • 使用 Amazon CloudWatch 指标以监控 Amazon ES 资源。
  • 了解 Amazon ES 服务限制
  • 使用专用主节点。
  • 使用两个以上的节点。
  • 启用区域感知。
  • 请勿在生产环境做使用 T2 实例。

解决方法

拍摄常规索引快照

针对所有 Amazon ES 域拍摄自动快照。拍摄手动索引快照以创建 Amazon ES 域中数据的时间点备份。将快照保存到 Amazon Simple Storage Service (Amazon S3) 存储桶。您还可以使用手动索引快照在 Amazon ES 域之间迁移数据,并将数据恢复到其他 Amazon ES 域。

监控 CloudWatch 指标

使用专用主节点

专用主节点有助于防止因节点过载而导致的问题。在以下情况下使用专用主节点:

  • 您的域用于生产环境。
  • 您的域有五个或更多节点。
  • 您的索引映射非常复杂,跨类型和索引定义了许多字段。

至少使用三个节点

为避免意外分区网络(脑裂),请至少使用三个节点。为避免潜在的数据丢失,请确保每个索引至少有一个副本。(默认情况下,每个索引都有一个副本。)

启用区域感知

区域感知有助于防止停机和数据丢失。启用区域感知后,Amazon ES 会在同一区域的两个可用区中分配属于集群的节点和副本索引分片。

请勿在生产环境做使用 T2 实例

对于生产环境,请使用 M 级或更大的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。如果您决定使用 T2 实例类型,请确保密切监视 CPU 积分、CPU 使用情况、内存使用情况,以及实例的稳定性。必要时可纵向扩展或横向扩展。