Amazon Elasticsearch Service ドメインの耐障害性を高めるにはどうすればよいですか?

最終更新日: 2020 年 1 月 9 日

Amazon Elasticsearch Service (Amazon ES) のリソースを、偶発的な削除、アプリケーションまたはハードウェアの障害、または停止から保護するにはどうすればよいですか?

簡単な説明

Amazon ES ドメインの耐障害性を向上させる方法

  • 定期的にインデックススナップショットを作成します。
  • Amazon CloudWatch メトリクスを使用して、Amazon ES リソースをモニタリングします。
  • Amazon ES サービスの制限について理解します。
  • 専有マスターノードを使用します。
  • 2 つ以上のノードを使用します。
  • ゾーン認識を有効にします。
  • 本稼働環境で T2 インスタンスを使用しないでください。

解決方法

定期的にインデックススナップショットを作成する

すべての Amazon ES ドメインは自動スナップショットを作成します。手動インデックススナップショットを作成して、Amazon ES ドメインでデータのポイントインタイムバックアップを作成します。スナップショットを Amazon Simple Storage Service (Amazon S3) バケットに保存します。手動インデックススナップショットを使用して、Amazon ES ドメイン間でデータを移行したり、別の Amazon ES ドメインにデータを復元したりすることもできます。

CloudWatch メトリクスのモニタリング

専有マスターノードを使用する

専用マスターノードは、ノードの過負荷による問題を防ぐのに役立ちます。以下の場合に、専有マスターノードを使用します。

  • ドメインが本稼働環境で使用されている場合。
  • ドメインに 5 つ以上のノードがある場合。
  • インデックスマッピングが複雑で、多くのフィールドがタイプとインデックスにまたがって定義されている場合。

少なくとも 3 つのノードを使用する

意図しないネットワークのパーティション化 (スプリットブレイン) を回避するには、少なくとも 3 つのノードを使用します。データ損失の可能性を回避するには、インデックスごとに少なくとも 1 つのレプリカがあることを確認します。(デフォルトでは、各インデックスに 1 つのレプリカがあります。)

ゾーン認識を有効にする

ゾーン認識 は、ダウンタイムやデータ損失を防ぐのに役立ちます。ゾーン認識を有効にすると、Amazon ES は、同じリージョン内の 2 つのアベイラビリティーゾーンにわたってクラスターに属するノードとレプリカインデックスシャードを割り当てます。

本稼働環境で T2 インスタンスを使用しない

本稼働環境では、M クラス以上の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用します。T2 インスタンスタイプを使用する場合は、インスタンスの CPU クレジット、CPU 使用率、メモリ使用率、安定性を注意深くモニタリングしてください。必要に応じてスケールアップまたはスケールアウトします。