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

最終更新日: 2021 年 1 月 5 日

Amazon Elasticsearch Service (Amazon ES) のリソースを、偶発的な削除、アプリケーションまたはハードウェアの障害、または停止から保護したいと考えています。耐障害性の向上やスナップショットの復元に関するベストプラクティスは何ですか?

簡単な説明

Amazon ESドメインの耐障害性を向上させるには、次のベストプラクティスを考慮してください。

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

解決方法

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

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

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

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

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

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

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

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

ゾーン認識を有効にする

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

注: 3 つのアベイラビリティーゾーンを設定する場合は、インデックスの 2 つのレプリカを使用します。1 つのゾーンに障害が発生した場合、2 つのレプリカにより 100% のデータ冗長性が保証されます。

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

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

さらに、T2 インスタンスについては、次の制限に注意してください。

  • T2 インスタンスには CPU クレジットが割り当てられます。ネットワークトラフィックが急増した場合、Elasticsearch クラスターが T2 インスタンスで使用できる CPU クレジットの量を超える可能性があります。詳細については、「バースト可能なパフォーマンスインスタンスの CPU クレジットとベースライン使用率」を参照してください。
  • T2 インスタンスの EBS ボリューム制限はは 35 GB です。
  • T2 インスタンスのペイロード制限は 10 MB です。リクエストペイロードがペイロード制限を超えないようにしてください。Amazon ES サービスの制限の詳細については、「ネットワーク制限」を参照してください。
  • T2 インスタンスタイプは、Amazon ES インスタンス数が 10 以下の場合にのみ使用できます。サポート対象の Amazon ES インスタンスタイプの詳細については、「サポート対象のインスタンスタイプ」を参照してください。
  • T2 インスタンスタイプは、データノードまたは専用マスターノードとして使用することはできません。T2 インスタンスタイプは、負荷が持続すると不安定になる可能性があります。詳細については、「Amazon Elasticsearch Service のベストプラクティス」を参照してください。