AmazonOpenSearchサービス 最近紹介された スタンバイを備えたマルチ AZは、重要なワークロードに対する可用性の向上と一貫したパフォーマンスを企業に提供するように設計された展開オプションです。この機能を使用すると、管理対象クラスターはゾーン インフラストラクチャの障害に対する回復力を維持しながら、99.99% の可用性を実現できます。
この投稿では、スタンバイを備えたマルチ AZ で検索とインデックス作成がどのように機能するかを調査し、その信頼性、シンプルさ、耐障害性に貢献する基盤となるメカニズムを詳しく掘り下げます。
経歴
スタンバイ付きマルチ AZ は、3 つのアベイラビリティーゾーンに OpenSearch Service ドメインインスタンスをデプロイし、2 つのゾーンがアクティブとして指定され、1 つがスタンバイとして指定されます。この構成では、ゾーンに障害が発生した場合でも、すべてのゾーンで同じ容量を維持することで、一貫したパフォーマンスが保証されます。重要なのは、このスタンバイ ゾーンは次のとおりです。 静的に安定した設計これにより、障害時の容量のプロビジョニングやデータの移動が不要になります。
通常の操作中、アクティブ ゾーンは、読み取りリクエストと書き込みリクエストの両方のコーディネーター トラフィックと、シャード クエリ トラフィックを処理します。一方、スタンバイ ゾーンはレプリケーション トラフィックのみを受信します。 OpenSearch サービスは、書き込みリクエストに同期レプリケーション プロトコルを利用します。これにより、サービスは、障害発生時 (フェイルオーバーまでの平均時間 <= 1 分)、スタンバイ ゾーンを即座にアクティブ ステータスに昇格させることができます。 ゾーンフェイルオーバー。以前にアクティブだったゾーンはスタンバイ モードに降格され、正常な状態を復元するための回復操作が開始されます。
高可用性を保証するためのトラフィック ルーティングとフェイルオーバーの検索
OpenSearch Service ドメインでは、 コーディネーター HTTP(S) リクエスト、特にインデックス作成リクエストと検索リクエストを処理するノードです。スタンバイ ドメインを備えたマルチ AZ では、アクティブ ゾーンのデータ ノードが検索リクエストのコーディネーターとして機能します。
検索リクエストのクエリ フェーズ中に、コーディネーターはクエリ対象のシャードを決定し、シャード コピーをホストしているデータ ノードにリクエストを送信します。クエリは各シャードでローカルに実行され、一致したドキュメントがコーディネーター ノードに返されます。シャード コピーを含むノードにリクエストを送信する役割を担うコーディネーター ノードは、2 つのステップでプロセスを実行します。まず、トラフィックがシャード コピー間で均一に分散されるように、シャード コピーについてノードをクエリする必要がある順序を定義するイテレータを作成します。その後、リクエストは関連するノードに送信されます。
シャード コピーをクエリするノードの順序付きリストを作成するために、コーディネーター ノードはさまざまなアルゴリズムを使用します。これらのアルゴリズムには、ラウンドロビン選択、適応レプリカ選択、優先ベースのシャード ルーティング、および 加重ラウンドロビン.
スタンバイを備えたマルチ AZ の場合、シャード コピーの選択には加重ラウンドロビン アルゴリズムが使用されます。このアプローチでは、アクティブ ゾーンには重み 1 が割り当てられ、スタンバイ ゾーンには重み 0 が割り当てられます。これにより、読み取りトラフィックがスタンバイ アベイラビリティ ゾーンのデータ ノードに送信されなくなります。
重みは、JSON オブジェクトとしてクラスター状態メタデータに保存されます。
次のスクリーンショットに示すように、 us-east-1b
リージョンのゾーンステータスは次のとおりです StandBy
これは、このアベイラビリティーゾーンのデータノードがスタンバイ状態にあり、ロードバランサーからの検索リクエストやインデックス作成リクエストを受け取らないことを示します。
定常状態の運用を維持するために、スタンバイ アベイラビリティ ゾーンは 30 分ごとにローテーションされ、すべてのネットワーク部分がアベイラビリティ ゾーン全体でカバーされるようになります。このプロアクティブなアプローチにより、読み取りパスの可用性が検証され、潜在的な障害時のシステムの回復力がさらに強化されます。次の図は、このアーキテクチャを示しています。
上の図では、ゾーン C の重み付きラウンドロビン重みが 0 に設定されています。これにより、スタンバイ ゾーンのデータ ノードがインデックス作成や検索トラフィックを受信しなくなります。コーディネーターがシャード コピーのデータ ノードをクエリするとき、重み付けされたラウンドロビンの重みを使用して、クエリされるノードの順序を決定します。スタンバイ アベイラビリティーゾーンの重みはゼロであるため、コーディネーターリクエストは送信されません。
OpenSearch Service クラスターでは、次のスクリーンショットに示すように、アベイラビリティーゾーンのローテーションメトリクスを使用して、アクティブゾーンとスタンバイゾーンをいつでも確認できます。
ゾーンの停止中、スタンバイ アベイラビリティ ゾーンは検索リクエストに対してフェールオープン モードにシームレスに切り替わります。これは、アクティブなアベイラビリティーゾーンで正常なシャードコピーが使用できない場合、シャードクエリトラフィックがスタンバイのアベイラビリティーゾーンを含むすべてのアベイラビリティーゾーンにルーティングされることを意味します。このフェールオープン アプローチにより、障害時の中断から検索リクエストが保護され、継続的なサービスが保証されます。次の図は、このアーキテクチャを示しています。
上の図では、定常状態の間、シャード クエリ トラフィックはアクティブなアベイラビリティ ゾーン (ゾーン A およびゾーン B) のデータ ノードに送信されます。ゾーン A のノード障害により、検索リクエストに影響を与えないように、スタンバイ アベイラビリティ ゾーン (ゾーン C) がフェールオープンしてシャード クエリ トラフィックを受け取ります。最終的に、ゾーン A が異常であると検出され、読み取りフェイルオーバーによってスタンバイがゾーン A に切り替わります。
書き込み障害時にフェイルオーバーによって高可用性が確保される仕組み
OpenSearch Service のレプリケーション モデルは、同期的な性質を特徴とするプライマリ バックアップ モデルに従い、書き込みリクエストがユーザーに確認される前にすべてのシャード コピーからの確認が必要です。このレプリケーション モデルの注目すべき欠点の 1 つは、書き込みパスに障害が発生した場合に速度が低下しやすいことです。これらのシステムは、アクティブなリーダー ノードに依存して障害や遅延を特定し、この情報をすべてのノードにブロードキャストします。これらの問題を検出するまでにかかる時間 (平均検出時間) とその後の問題の解決 (平均修復時間) によって、システムが障害のある状態で動作する期間が大きく決まります。さらに、ゾーン間通信に影響を与えるネットワーク イベントは、レプリケーションの同期的な性質により、書き込みリクエストを大幅に妨げる可能性があります。
OpenSearch Service は、書き込みトラフィックを複製し、選出されたリーダーを通じてメタデータの更新を調整するために、内部のノード間通信プロトコルを利用します。したがって、ストレスが発生しているゾーンをスタンバイ状態にしても、書き込み障害の問題には効果的に対処できません。
ゾーン書き込みフェイルオーバー: ゾーン間のレプリケーション トラフィックを遮断する
スタンバイを備えたマルチ AZ の場合、ゾーン障害やネットワーク イベントなどの予期せぬイベント中に発生する潜在的なパフォーマンスの問題を軽減するには、ゾーン書き込みフェイルオーバーが効果的なアプローチです。このアプローチには、影響を受けるゾーン内のノードがクラスターから正常に削除され、ゾーン間のイングレス トラフィックとエグレス トラフィックが効果的に遮断されます。ゾーン間のレプリケーション トラフィックを切断することで、ゾーン障害の影響を影響を受けるゾーン内に抑えることができます。これにより、顧客にとってより予測可能なエクスペリエンスが提供され、システムが確実に動作し続けることが保証されます。
グレースフル書き込みフェイルオーバー
OpenSearch サービス内の書き込みフェイルオーバーのオーケストレーションは、明確に定義されたメカニズムを通じて、選出されたリーダー ノードによって実行されます。このメカニズムには、クラスター状態の公開のためのコンセンサス プロトコルが含まれており、廃止する単一ゾーンを (常に) 指定するための全ノード間での全会一致の合意が保証されます。重要なのは、影響を受けるゾーンに関連するメタデータはすべてのノードにわたって複製され、障害発生時の完全な再起動中であっても永続性が確保されることです。
さらに、リーダー ノードは、I/O フェンシングを開始する前に、最初に影響を受けるゾーンのノードを 5 分間スタンバイ状態に置くことで、スムーズかつ適切な移行を保証します。この意図的なアプローチにより、新しいコーディネーター トラフィックやシャード クエリ トラフィックが影響を受けるゾーン内のノードに送信されるのを防ぎます。これにより、これらのノードは進行中のタスクを正常に完了し、サービスが停止される前に処理中のリクエストを段階的に処理できるようになります。次の図は、このアーキテクチャを示しています。
リーダー ノードの書き込みフェイルオーバーを実装するプロセスで、OpenSearch サービスは次の重要な手順に従います。
- 指導者の退位 – 書き込みフェイルオーバーがスケジュールされたゾーンにリーダー ノードが配置されている場合、システムはリーダー ノードがリーダーの役割を自発的に退くことを保証します。この退位は制御された方法で実行され、プロセス全体が別の資格のあるノードに引き渡され、そのノードが必要なアクションを担当します。
- 退陣予定のリーダーの再選を阻止する – 書き込みフェイルオーバー用にマークされたゾーンからのリーダーの再選出を防ぐため、適格なリーダー ノードが書き込みフェイルオーバー アクションを開始するときに、廃止されるリーダー ノードがそれ以降の選挙に参加しないようにするための措置を講じます。これは、廃止予定のリーダー ノードを投票構成から除外することで実現され、クラスターの運用の重要な段階でリーダー ノードが投票できないようにします。
書き込みフェイルオーバー ゾーンに関連するメタデータはクラスター状態内に保存され、この情報は次のように分散 OpenSearch Service クラスター内のすべてのノードに公開されます。
次のスクリーンショットは、ゾーン内のネットワーク速度が低下したときに、書き込みフェイルオーバーが可用性の回復に役立つことを示しています。
書き込みフェイルオーバー後のゾーンリカバリ
ゾーンの再コミッショニングのプロセスは、ゾーン書き込みフェイルオーバー後の回復フェーズで重要な役割を果たします。影響を受けたゾーンが復元され、安定しているとみなされると、以前に廃止されたノードがクラスターに再参加します。この再コミッショニングは通常、ゾーンが再コミッショニングされてから 2 分以内に行われます。
これにより、ピア ノードと同期できるようになり、レプリカ シャードの回復プロセスが開始され、クラスターが効果的に望ましい状態に復元されます。
まとめ
OpenSearch Service Multi-AZ with Standby の導入により、重要なワークロードに対して高可用性と一貫したパフォーマンスを実現する強力なソリューションが企業に提供されます。この展開オプションを使用すると、企業はインフラストラクチャの復元力を強化し、クラスターの構成と管理を簡素化し、ベスト プラクティスを適用できます。加重ラウンドロビンのシャード コピー選択、プロアクティブなフェールオーバー メカニズム、フェールオープン スタンバイ アベイラビリティ ゾーンなどの機能を備えた OpenSearch Service Multi-AZ with Standby は、要求の厳しいエンタープライズ環境に対して信頼性が高く効率的な検索エクスペリエンスを保証します。
スタンバイ付きマルチ AZ の詳細については、を参照してください。 Amazon OpenSearch サービスの内部: スタンバイを備えたマルチ AZ.
著者について
アンシュ・アガルワル アマゾン ウェブ サービスで AWS OpenSearch に取り組んでいるシニア ソフトウェア エンジニアです。 彼女は、スケーラブルで信頼性の高いシステムの構築に関連する問題を解決することに情熱を注いでいます。
ナハタ・リシャブ アマゾン ウェブ サービスで OpenSearch に取り組んでいるソフトウェア エンジニアです。 彼は、分散システムの問題を解決することに興味を持っています。 彼は OpenSearch に積極的に貢献しています。
ブフタワル・カーン Amazon OpenSearch Service に取り組むプリンシパルエンジニアです。彼は分散型自律システムに興味を持っています。彼は OpenSearch に積極的に貢献しています。
ランジス・ラマチャンドラ アマゾンウェブサービスでアマゾンオープンサーチサービスに取り組んでいるエンジニアリングマネージャーです。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/big-data/achieve-high-availability-in-amazon-opensearch-multi-az-with-standby-enabled-domains-a-deep-dive-into-failovers/
- :持っている
- :は
- :not
- :どこ
- 1
- 10
- 100
- 12
- 30
- 501
- a
- 私たちについて
- 達成する
- 達成
- 認め
- 越えて
- 行為
- Action
- 行動
- アクティブ
- 適応
- さらに
- 住所
- 影響を受けました
- 後
- 契約
- アルゴリズム
- アルゴリズム
- すべて
- 許す
- Amazon
- Amazon Webサービス
- 間で
- an
- および
- 別の
- どれか
- アプローチ
- 建築
- です
- AS
- 割り当てられた
- At
- 自律的
- 自律システム
- 賃貸条件の詳細・契約費用のお見積り等について
- 認知度
- AWS
- バックアップ
- スイング
- BE
- なぜなら
- き
- さ
- BEST
- ベストプラクティス
- の間に
- 両言語で
- 放送
- 建物
- ビジネス
- by
- 缶
- 容量
- 実施
- 生じました
- 特徴付けられた
- チャージ
- チェック済み
- クラスタ
- コミュニケーション
- 通信部
- コンプリート
- コンセンサス
- その結果
- 見なさ
- 整合性のある
- 領事
- 含まれている
- 続ける
- 連続的な
- 貢献する
- 寄稿者
- 制御
- 調整する
- コーディネーター
- コーディネーター
- コピー
- カバー
- 作ります
- 作成します。
- 重大な
- 重大な
- Customers
- 切断
- データ
- 決めます
- 深いです
- ディープダイブ
- 定義する
- 遅延
- 掘り下げる
- 厳しい
- 展開
- 配備する
- 指定された
- 設計
- 希望
- 検出
- 検出された
- 決定する
- 指示された
- 途絶
- 配布
- 分散システム
- ダイビング
- do
- ドキュメント
- ドメイン
- ドメイン
- ドント
- ダウン
- 原因
- デュレーション
- 間に
- 各
- 効果的な
- 効果的に
- 効率的な
- 選出された
- 選挙
- 適格
- 排除
- 使用可能
- 可能
- 強制します
- エンジニア
- エンジニアリング
- 高めます
- 強化された
- 強化
- 確保
- 確実に
- 確保する
- Enterprise
- 全体
- 環境
- 特に
- エーテル(ETH)
- さらに
- イベント
- イベント
- 最終的に
- あらゆる
- 除外
- 体験
- 体験
- 探る
- 失敗
- 不良解析
- 障害
- 特徴
- 特徴
- フェンシング
- 名
- フォロー中
- 次
- FRAME
- から
- フル
- さらに
- GIF
- 優雅な
- 徐々に
- 保証
- ハンド
- ハンドル
- ハンドル
- 起こります
- he
- 健康
- ことができます
- ハイ
- 非常に
- フード
- ホスティング
- 認定条件
- HTTP
- HTTPS
- 識別する
- if
- 説明する
- 影響
- 影響を受けた
- 機能障害
- 実装
- 重要なこと
- in
- include
- 示します
- 情報
- インフラ
- 当初
- 開始する
- 開始する
- インスタンス
- 興味がある
- 内部
- に
- 導入
- 概要
- 関与
- 問題
- 問題
- IT
- ITS
- JPG
- JSON
- キー
- 既知の
- 主として
- リーダー
- リーダーシップ
- ような
- リスト
- 負荷
- 局部的に
- 位置して
- 長い
- 維持する
- 保守
- マネージド
- 管理
- マネージャー
- 方法
- マークされた
- マッチ
- 意味する
- 手段
- 措置
- メカニズム
- メカニズム
- メトリック
- 分
- 分
- 軽減する
- モード
- 他には?
- 運動
- 自然
- 必要
- 必要
- ネットワーク
- ネットワーキング
- 新作
- いいえ
- ノード
- 注目すべき
- オブジェクト
- of
- オフ
- on
- ONE
- 継続
- の
- 開いた
- 操作する
- 操作
- 業務執行統括
- オプション
- or
- 編成
- 注文
- その他
- でる
- 機能停止
- 停電
- が
- 参加する
- 部品
- 情熱的な
- path
- パス
- ピア
- パフォーマンス
- 持続性
- 相
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 演劇
- ポスト
- 潜在的な
- 強力な
- プラクティス
- 先行
- 予測可能な
- 防ぐ
- 予防
- を防止
- 前に
- 主要な
- 校長
- 先を見越した
- 問題
- プロセス
- 推進する
- 提供します
- は、大阪で
- 出版
- 公表
- パッティング
- クエリ
- 読む
- 受け取ります
- 受け取り
- 最近
- 回復する
- 回復
- 回復
- 参照する
- 地域
- レギュラー
- 関連する
- 関連した
- 信頼性
- 信頼性のある
- 頼る
- 残り
- 除去
- 修理
- 返信
- 複製された
- レプリケーション
- 要求
- リクエスト
- の提出が必要です
- 回復力
- 弾力性のあります
- 解決する
- 責任
- リストア
- 回復します
- 復元する
- 職種
- ルーティング
- ラン
- runs
- s
- 保障措置
- 同じ
- ド電源のデ
- 予定の
- シームレス
- を検索
- 選択
- 送信
- 送る
- シニア
- 送信
- サービス
- サービス
- セッションに
- 彼女
- 示す
- 著しく
- 単純
- 簡素化する
- 速度を落とす
- スローダウン
- スムーズ
- So
- ソフトウェア
- ソフトウェアエンジニア
- 溶液
- 解決
- 安定した
- 都道府県
- Status:
- 着実
- ステップ
- 保存され
- ストレス
- 続いて
- 成功した
- 感受性
- システム
- 取る
- 撮影
- 取り
- タスク
- それ
- アプリ環境に合わせて
- それら
- その後
- そこ。
- ボーマン
- この
- それらの
- 三
- 介して
- 時間
- <font style="vertical-align: inherit;">回数</font>
- 〜へ
- 公差
- トラフィック
- 遷移
- 順番
- 2
- 一般的に
- 下
- 根本的な
- 思いがけない
- 更新版
- 中古
- ユーザー
- 使用されます
- 利用
- さまざまな
- 自発的に
- 投票
- we
- ウェブ
- Webサービス
- 重量
- WELL
- 明確な
- した
- いつ
- which
- while
- 意志
- 以内
- ワーキング
- 作品
- 書きます
- ゼファーネット
- ゼロ
- ゾーン