マルチ AZ ドメインの設定 - Amazon Elasticsearch Service

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

マルチ AZ ドメインの設定

それぞれの AWS リージョンは地理別に分類された地域でありアベイラビリティーゾーンと呼ばれる複数の独立したロケーションを持っています。サービス中断が発生した場合にデータの損失を防ぎ、クラスターのダウンタイムを最小限に抑えるため、同じリージョン内の 2 つまたは 3 つのアベイラビリティーゾーン間にノードを分散できます。これは、マルチ AZ と呼ばれる設定です。

実稼働ワークロードを実行するドメインの場合、次の設定をお勧めします。

  • Amazon ES により 3 つのアベイラビリティーゾーンをサポートするリージョンを選択します。

  • 3 つのゾーン間にドメインをデプロイします。

  • 専用マスターノードおよびデータノードに現行世代のインスタンスタイプを選択します。

  • 3 つの専用マスターノードと少なくとも 3 つのデータノードを使用します。

  • クラスター内のインデックスごとに少なくとも 1 つのレプリカを作成します。

このセクションの残りの部分では、これらの推奨事項について説明し、そのコンテキストを示します。

シャード分散

マルチ AZ を有効にする場合は、クラスターの各インデックスに少なくとも 1 つのレプリカを作成する必要があります。レプリカがないと、Amazon ES はデータのコピーを他のアベイラビリティーゾーンに分散できないため、マルチ AZ の意味がほとんどなくなります。さいわい、すべてのインデックスのデフォルト設定で、レプリカの数は 1 つです。次の図に示すように、Amazon ES は、最善の方法でプライマリシャードとそれに対応するレプリカシャードを異なるゾーンに分散します。

シャードをアベイラビリティーゾーンごとに分散することに加えて、Amazon ES はノードごとにシャードを分散します。それでも、特定のドメイン設定ではシャード数が不均等にある場合があります。次のドメインを考えます。

  • データノード x 5

  • プライマリシャード x 5

  • レプリカ x 2

  • アベイラビリティーゾーン x 3

この状況では、次の図に示すように、Amazon ES はゾーン間でプライマリシャードとレプリカシャードを分散するために 1 つのノードをオーバーロードする必要があります。

個々のノードに負荷がかかってパフォーマンスが低下する可能性があるこのような状況を回避するため、インデックスあたりのレプリカが複数になる予定の場合は 3 の倍数のインスタンス数を選択することをお勧めします。

専用マスターノード分散

ドメインを設定するときに 2 つのアベイラビリティーゾーンを選択した場合でも、Amazon ES は 3 つのアベイラビリティーゾーン間に専用マスターノードを自動的に分散します。この分散により、ゾーンでサービス中断が発生した場合にクラスターのダウンタイムを防ぐことができます。推奨される 3 つの専用マスターノードを使用していて、1 つのアベイラビリティーゾーンがダウンした場合でも、クラスターには専用マスターノードのクォーラム (2) が残り、新しいマスターを選択できます。この設定は以下の図のようになります。

この自動分散にはいくつかの重要な例外があります。

  • 3 つのアベイラビリティーゾーンで使用できない旧世代のインスタンスタイプを選択した場合、以下のシナリオが適用されます。

    • ドメインに 3 つのアベイラビリティーゾーンを選択した場合、Amazon ES はエラーをスローします。異なるインスタンスタイプを選択し、もう一度試します。

    • ドメインに 2 つのアベイラビリティーゾーンを選択した場合、Amazon ES は 2 つのゾーン間に専用マスターノードを分散します。

  • すべての AWS リージョンに 3 つのアベイラビリティーゾーンがあるわけではありません。それらのリージョンでは、2 つのゾーンのみを使用するようにドメインを設定できます (Amazon ES は 2 つのゾーン間にのみ専用マスターノードを分散できます)。

アベイラビリティーゾーンの中断

アベイラビリティーゾーンの中断が発生することはほとんどありませんが、起こり得ます。以下の表に、各種マルチ AZ 設定と中断時の動作を示します。

リージョン内のアベイラビリティーゾーン数 選択したアベイラビリティーゾーンの数 専用マスターノードの数 1 つのアベイラビリティーゾーンで中断が発生した場合の動作
2 以上 2 0

ダウンタイム。クラスターのデータノードの半分が失われます。マスターを選択する前に残りのアベイラビリティーゾーンで少なくとも 1 つを置き換える必要があります。

2. 2 3

ダウンタイムの可能性は五分五分です。Amazon ES は、2 つの専門マスターノードを 1 つのアベイラビリティーゾーンに、もう 1 つを他のアベイラビリティーゾーンに分散します。

  • 専用マスターノードが 1 つのアベイラビリティーゾーンで中断が発生した場合、残りのアベイラビリティーゾーン内の 2 つの専用マスターノードがマスターを選択できます。

  • 専用マスターノードが 2 つのアベイラビリティーゾーンで中断が発生した場合、残りのアベイラビリティーゾーンが専用マスターノードを追加してマスターを選択できるようになるまでクラスターは使用できません。

3 以上 2 3

ダウンタイムはありません。Amazon ES は、専用マスターノードを 3 つのアベイラビリティーゾーン間で自動的に分散するため、残りの 2 つの専用マスターノードがマスターを選択できます。

3 以上 3 0

ダウンタイムなし。データノードの約 3 分の 2 が引き続きマスターを選択できます。

3 以上 3 3

ダウンタイムなし。残りの 2 つの専用マスターノードがマスターを選択できます。

原因に関係なくあらゆる設定において、ノードの障害が発生すると、欠落したノードを置き換えるために Amazon ES が自動的に新しいノードを設定する間、クラスターの残りのデータノードで非常に大きな負荷がかかる期間が発生する可能性があります。

たとえば、3 ゾーン設定でアベイラビリティーゾーンが中断した場合、3 分の 2 に相当するデータノードがクラスターへのリクエストを処理する必要があります。これらのリクエストを処理するとき、残りのノードはオンラインになる新しいノードにもシャードをレプリケートするため、さらにパフォーマンスに影響が及びます。ワークロードにとって可用性が重要な場合、クラスターにリソースを追加してこの問題を緩和することを検討してください。

注記

Amazon ES はマルチ AZ ドメインを透過的に管理するため、アベイラビリティーゾーンの中断を手動でシミュレートすることはできません。