Amazon Web Services ブログ

Amazon OpenSearch Service は Multi-AZ with Standby を利用した 99.99% の可用性をサポート

この記事は、 Amazon OpenSearch Service now supports 99.99% availability using Multi-AZ with Standby を翻訳したものです。

お客様は、ミッションクリティカルなアプリケーションや監視に Amazon OpenSearch Service を使用しています。しかし、OpenSearch Service自体が利用できない場合はどうなるのでしょうか? たとえば、E コマースの検索がダウンした場合、収益が失われます。アプリケーションをOpenSearch Serviceで監視している場合、利用できなくなると、アプリケーションの問題を検出、診断、修復する能力が低下します。これらのケースでは、収益の損失、顧客の不満、生産性の低下、あるいは組織の評判へのダメージを被る可能性があります。

OpenSearch Service は、ベストプラクティスに従うことで 99.9% の可用性のSLAを提供します。しかし、それらのプラクティスを実践するのは複雑で、OpenSearch のデータ配置と管理に関する知識と経験が必要となります。また、OpenSearch Service が AWS のアベイラビリティゾーンやネットワーク、分散システム、OpenSearch の自己回復能力、回復方法とどのように相互作用するかについての理解も必要です。さらに、ノードが応答しなくなるなどの問題が発生した場合、OpenSearch Service は欠落したシャード (データ) を再作成することで回復しますが、これによりドメイン内で大量のデータ移動が発生する可能性があります。このデータ移動はクラスターのリソース使用量を増加させ、パフォーマンスに影響を及ぼす可能性があります。クラスターのサイズが適切でない場合、可用性が低下し、3 つのアベイラビリティーゾーンにプロビジョニングする目的を達成できなくなります。

AWS は OpenSearch Service の新しいデプロイメントオプションである Multi-AZ with Standby を発表しました。これにより、高頻度の監視、迅速な障害検出、障害からの迅速な回復などの重労働を軽減し、インフラ障害が発生した場合でもドメインの可用性とパフォーマンスを維持できるようになります。Multi-AZ with Standby を使用すると、ドメインは 99.99% の可用性と一貫したパフォーマンスを実現できます。

この記事では、この新しいオプションのメリットと、Multi-AZ with Standby で OpenSearch クラスターを設定する方法について説明します。

ソリューション概要

OpenSearch Service チームは、お客様のために数万のドメインを運用する中で得た経験を、Multi-AZ with Standby 機能に組み込みました。Multi-AZ with Standby を採用すると、OpenSearch Service は 3 つのアベイラビリティゾーンにまたがるクラスターを作成し、各アベイラビリティゾーンにはクラスター内のデータの完全なコピーが含まれます含めます。次に、OpenSearch Service は1つのアベイラビリティゾーンをスタンバイモードにし、すべてのクエリを他の 2 つのアベイラビリティゾーンにルーティングします。ハードウェア関連の障害を検出すると、OpenSearch Service は 1 分以内にスタンバイプールのノードをアクティブに昇格させます。Multi-AZ with Standby を使用すると、OpenSearch Service は失われたノードからデータを再分配または再作成する必要がありません。その結果、クラスターのパフォーマンスは影響を受けず、可用性が低下するリスクを排除します。

前提条件

Multi-AZ with Standby には、以下の前提条件が必要です :

  • ドメインは OpenSearch 1.3 以上で実行する必要があります
  • ドメインは 3 つのアベイラビリティゾーンにまたがってデプロイされる必要があります
  • ドメインには 3 つ (または 3 の倍数) のデータノードが必要です
  • 3 つの専用クラスターマネージャー (マスター) ノードを使用する必要があります

ドメインと専用マスターノードのサイジングのガイダンスについては、Amazon OpenSearch Service ドメインのサイジングを参照してください。

Multi-AZ with Standby を使用した OpenSearch クラスターの設定

Multi-AZ with Standby は、新しいドメインを作成するときにも、既存のドメインに追加するときにも使用できます。 AWS Management Console を使用して新しいドメインを作成する場合、新しい Easy create オプションまたは従来の Standard create オプションを選択することで、Multi-AZ with Standby を使用して作成できます。既存のドメインは、ドメイン設定を編集することで Multi-AZ with Standby を使用するように更新できます。

Easy create オプションは、名前が示すように、ほとんどの設定をベストプラクティスの選択肢にデフォルトすることで、ドメインの作成を容易にします (大部分は後から変更可能です) 。ドメインは最初から高可用に設定され、Multi-AZ with Standby としてデプロイされます。

データノードを選択する際は、各アベイラビリティゾーンに均等に分散されるように、3 つ (または 3 の倍数) のデータノードを選択する必要があります。OpenSearch Service コンソールの Data nodes テーブルは、アベイラビリティゾーンの 1 つがスタンバイになることを視覚的に表しています。

同様に、専用マスターノードを選択する際には、計画しているデータノード、インデックス、シャードの数を考慮して、インスタンスサイズを決定することをお勧めします。

ドメインが作成されたら、OpenSearch Service コンソールの Cluster configuration で、デプロイメントタイプを確認できます。以下のスクリーンショットを参照してください。

インデックスを作成する際は、コピー数 (プライマリとレプリカ) が 3 の倍数になるようにしてください。レプリカ数を指定しない場合、サービスはデフォルトで 2 を設定します。これは、各アベイラビリティゾーンにデータのコピーが少なくとも 1 つ存在することを保証するために重要です。ログワークロードの場合は、index template などを使用することをお勧めします。

OpenSearch Service は、ノードとデータコピーを 3 つのアベイラビリティゾーンに均等に分散させます。通常の運用では、スタンバイノードは検索リクエストを受信しません。2 つのアクティブなアベイラビリティゾーンがすべての検索リクエストに応答します。ただし、データはこれらのスタンバイノードにレプリケートされるため、常に各アベイラビリティゾーンにデータの完全なコピーが存在することが保証されます。

インフラ障害イベントへの対応

OpenSearch Service は、ノード障害、ディスク障害、アベイラビリティゾーン障害などのイベントについてドメインを継続的に監視します。アベイラビリティゾーン障害などのインフラ障害が発生した場合、OpenSearch Service は影響を受けたアベイラビリティゾーンが回復する間、スタンバイノードをアクティブに昇格させます。影響を受けたアベイラビリティゾーンからのトラフィックは1分以内に転送されるため、影響 (がある場合) は実行中のリクエストに限定されます。

ドメインのステータス、アクティブおよびスタンバイのデータノードメトリクス、アベイラビリティゾーンのローテーションメトリクスは、Cluster health タブで確認できます。以下のスクリーンショットは、Cluster health とデータノードのメトリクス ( CPU 利用率、JVM memory pressure 、ストレージなど) を示しています。

以下のスクリーンショットは、AZ Rotation Metrics セクション ( Cluster health タブの下にあります) で、アベイラビリティゾーンの read と write のステータスを示しています。OpenSearch Service は、イベントに対応できるように準備ができていることを確認するために、30 分ごとにスタンバイのアベイラビリティゾーンをローテーションさせます。トラフィックに応答しているアベイラビリティゾーンは値が 1 で、スタンバイのアベイラビリティゾーンは値が 0 です。

考慮事項

この機能には、より高い可用性を提供し、パフォーマンスを維持するいくつかの改善とガードレールが実装されています。ノードあたりのシャード数、ドメインのシャード数、シャードのサイズに関する特定の静的な制限が適用されています。OpenSearch Service はデフォルトで Auto-Tune も有効にします。Multi-AZ with Standby は、最もコスト効果的で高パフォーマンスなストレージオプションである GP3 または SSD-backed インスタンスにストレージを制限します。さらに、不正なクエリを検出する高度なトラフィックシェイピングメカニズムを導入しており、これによりドメインの信頼性がさらに向上します。

高可用性とパフォーマンスを実現するために、お客様のワークロードに基づいてドメインインフラストラクチャのニーズを評価することをお勧めします。

まとめ

Multi-AZ with Standby は、US West (N. California)、 AWS GovCloud (US-Gov-East, US-Gov-West) を除いた OpenSearch Service が利用できるすべてのAWSリージョンで利用できるようになりました。お試しいただき、AWS re:Post for Amazon OpenSearch Service または通常の AWS サポート窓口までフィードバックをお送りください。

翻訳は Solutions Architect 川岸が担当しました。