Amazon Web Services ブログ

Amazon OpenSearch Service の設定変更が、新たな視認性の改善でより簡単に追跡可能に

Amazon OpenSearch Service は、ワークロード固有の要件を満たすための複数のドメイン設定を提供しています。標準的なサービス運用の一環として、これらの設定を定期的に更新する必要がある場合があります。最近、Amazon OpenSearch Service は設定変更をより効果的に追跡できるようにする視認性の改善を行いました。詳細でより説明的な設定ステータスを導入することで、アラームの設定と自動化の利用を可能にし、手動での監視を最小限に抑えることが可能になりました。

こうした視認性の改善を、アプリケーションでご活用いただくことをお勧めします。

新機能は後方互換性があります。既存の自動化された処理が従来の processing パラメータに依存して構成変更のステータスを判断している場合は、影響なく動作し続けるはずです。
複数の未処理の構成変更リクエストを簡単に追跡できるように、Amazon OpenSearch Service は ドメイン処理ステータス がアクティブであるときにのみ構成リクエストを許可します。
詳細は「構成変更は一度に 1 つだけ」のセクションを参照してください。

ソリューションの概要

従来、設定変更のステータスは OpenSearch Service API (Application Programming Interface) の processing パラメータや、OpenSearch Service コンソールのドメインステータスフィールドを通じて確認できました。Amazon OpenSearch Service では設定更新のエクスペリエンスを改善するために、次の変更を導入しました。

  • API レスポンスに、DomainProcessingStatusConfigChangeStatus の 2 つの新しいパラメータを導入しました。 同様に、コンソールに ドメイン処理ステータス設定変更ステータス フィールドを追加しました。 これらの変更により、直観的な複数のステータスから高い可視性が得られるようになりました。従来のステータスは、ActiveProcessing の 2 つの値に限定されていました。
  • 現在のアクティブな設定と、変更適用中の設定を簡単に比較できるようになりました。 以前は、複数のステップが必要でした。
  • 今回、Amazon OpenSearch Service は、一度に 1 つの構成変更リクエストのみを許可するアプローチを採用しました。 単一のリクエストにまとめられるドメイン設定変更の項目数に制限はありません。 ただし、次の設定リクエストを送信できるのは、以前のリクエストが完了し、ドメインの処理ステータスがアクティブになった後です。 この改善により、設定の更新が合理化され、以前のような、実行中の複数の設定変更リクエストを追跡する課題が解消されました。
  • 検証に失敗した場合、変更リクエストをキャンセルできるようになりました。 以前は、インスタンスが使用できない場合、ドメインは processing 状態のままでした。 現在は、検証に失敗すると、変更リクエストをキャンセルしてから時間を置いて再試行が可能です。
  • シャードの移動を含むすべてのバックグラウンドアクティビティが完了した後にのみ、ドメインの処理ステータスが Active になります。 これは、データ移動などのすべての内部プロセスが完了したかどうかを推測する必要がなく、自動化スクリプトで新しく導入されたステータスを自身をもって使用できることを意味します。

設定更新ステータスを追跡するための、詳細情報の取得方法

最近の改善の一環として、Amazon OpenSearch Service は API に DomainProcessingStatusConfigChangeStatus パラメータを、コンソールにそれぞれ対応する ドメイン処理ステータス フィールドと 設定変更ステータス フィールドを導入しました。これらのステータスを利用することで、設定変更において Blue/Green デプロイを伴う場合、または Blue/Green デプロイを伴わない場合、構成変更がオペレーターによってトリガーされる場合や、OpenSearch サービスによってトリガーされる場合など、さまざまな構成変更シナリオで正確で一貫した情報を取得できます。これらの強化された視認性のエクスペリエンスを見ていきましょう。

  1. ドメイン処理ステータスの視認性: ドメインレベルの構成変更のステータスは、コンソールのドメイン処理ステータスフィールドで追跡できます。同様に、API レスポンスには DomainProcessingStatus パラメータが含まれます。値と簡単な説明は次の詳細で提供されています:
    1. アクティブ: 構成変更は進行中ではありません。新しい構成変更リクエストを送信できます。
    2. 作成中: 新しいドメインの作成が進行中です。
    3. 変更中: このステータスは、新しいデータノードの追加、Amazon Elastic Block Store (Amazon EBS) GP3 ストレージのプロビジョニング、KMS キーの設定など、1つ以上の構成変更が進行中であることを示しています。したがって、UpdateDomainConfig API を介して変更が行われた場合、ステータスは「変更中」にセットされます。「変更中」ステータスには、構成変更を完了するためにシャードの移動が必要なドメインも含まれます。注意: 後方互換性のために、API レスポンスでは processing パラメータの動作を変更していません。 processing パラメータは、シャード移動の完了を待たず、コアとなる設定変更が完了した時点で false にセットされます。
    4. エンジンバージョンのアップグレード中: Elasticsearch バージョン 7.9 から OpenSearch バージョン 1.0 へのアップグレードなど、エンジンバージョンアップグレードが進行中です。
    5. サービスソフトウェアの更新中: このステータスは、サービスソフトウェア更新に関連する構成変更を指します。
    6. 削除中: ドメインの削除が進行中です。
    7. 隔離: このステータスは、アカウント関連の課金問題や重要なセキュリティパッチ更新に準拠していないなどの、さまざまな理由で中断されているドメインを表しています。
  2. 設定変更ステータスの視認性: 設定変更は、ユーザーによって開始されることがあります(新しいデータノードの追加、インスタンスタイプの変更など)。または、サービスによって開始されることがあります(AutoTune や必須のサービスソフトウェア更新など)。最新のステータスの詳細は、コンソールの 構成変更ステータス フィールドと、API レスポンスの ConfigChangeStatus パラメータを通じて確認できます。以下は、値と簡単な説明です。
    1. 保留中: 構成変更リクエストが送信されたことを示しています。
    2. 初期化中: サービスが構成変更リクエストを初期化しています。
    3. 検証中: サービスがリクエストされた変更と必要なリソースを検証しています。
    4. 検証に失敗しました: リクエストされた変更が検証に失敗しました。この時点では、構成変更は適用されていません。起こりうる検証失敗の例としては、ドメイン内の red インデックスの存在、選択したインスタンスタイプが使用できない、ディスク容量の不足などがあります。こちらに潜在的な検証失敗のリストがあります。検証失敗イベント中は、構成変更をキャンセル、再試行、編集できます。
    5. ユーザー入力待ち: ユーザーが無効な KMS キーなどの検証エラーを修正できるシナリオです。このステータスでは、ユーザーは構成変更を編集できます。
    6. 変更の適用中: サービスがリクエストされた構成変更を適用しています。
    7. キャンセル済み: 検証失敗ステータス中に、コンソールのキャンセルボタンをクリックするか、CancelDomainConfigChange API を呼び出すことができます。変更リクエストの一部であったすべての適用された変更がロールバックされます。
    8. 完了: リクエストされた構成変更が正常に完了しました。

コンソールの改善

Amazon OpenSearch Service コンソールでは、構成変更の進捗状況を追跡するための視認性が向上しました。以下のスクリーンショットで、改善点の概要を確認できます。

  • Amazon OpenSearch Service コンソールは、ドメイン処理ステータス設定変更ステータス変更 ID フィールドを提供します。注意: 変更 ID に関連付けられた変更の詳細を知るには、DescribeDomainChangeProgress API を使用できます。

  • 設定変更の概要。アクティブな設定と要求された変更の横並びの比較を見るには、ドメインの詳細ページでクラスター設定タブに移動し、設定変更の概要セクションまでスクロールダウンします。保留中の変更フィールドには、その時点での保留中のプロパティのステータスが表示され、適用された変更は含まれません。DescribeDomainおよびDescribeDomainConfig API のModifyingPropertiesパラメータを介して、同様の詳細も取得できます。

検証失敗時のキャンセル。 以下のスクリーンショットでは、構成変更リクエストの検証に失敗したときに変更リクエストをキャンセルする新しいオプションが確認できます。 たとえば、SubnetNotFound エラーが発生した場合、リクエストのキャンセル ボタンを使用して以前のアクティブな構成にロールバックし、問題を修正してから構成の更新を再試行できます。

構成変更は一度に 1 つだけ

以前は、複数の変更リクエストをしたときに、個々の変更リクエストの成功と失敗を追跡することは簡単ではありませんでした。 シンプルなエクスペリエンスを提供するために、現在の OpenSearch Service は、変更リクエストは一度に 1 つのみと制限を設けています。 1 つの構成変更リクエストに、複数の変更をまとめることができます。 コンソールもしくは UpdateDomainConfig API を介して次の構成変更をリクエストする前に、送信された構成変更リクエストが完了する必要があります。 この簡素化されたエクスペリエンスにより、リクエストされた変更とその最新のステータスを追跡することが容易になります。 自動化処理が設定変更 API を複数回呼び出すように記述されている場合は、単一の更新呼び出しに複数の構成変更をまとめるか、次の設定変更を送信する前に、個々の更新処理が完了するのを待つ必要があります。 ドメインの処理ステータスがアクティブになったときに、ドメイン設定の更新が可能です。 Blue/Green デプロイメントが必要な変更のリストについては、こちらをご覧ください。

以下のスクリーンショットは、「クラスター設定の編集」ページの例で、ユーザーに対して、別の変更や更新が進行中であることを通知するアラートを示しています。OpenSearch Service では、新しい構成更新リクエストを送信できなくなり、進行中の変更が完了するまで「変更の適用」ボタンが無効になります。

API の変更

DescribeDomainDescribeDomainChangeProgressDescribeDomainConfig API を使用して、詳細な構成更新ステータスを取得できます。
さらに、検証失敗が発生した場合は、CancelDomainConfigChange を使用して変更リクエストをキャンセルできます。
Amazon OpenSearch Service API ドキュメントはこちらからご参照ください。

まとめ

本投稿では、設定の更新リクエストに関する詳細な情報の取得方法について説明いたしました。 新規に導入された改善により、設定変更リクエストの進捗状況の可視性が向上し、適用された変更と保留中の変更を簡単に区別できるようになりました。 設定変更リクエストを送信する前に、DomainProcessingStatus 処理ステータス値が Active であることを確認する必要があります。 検証の失敗が発生した場合に変更をキャンセルできる機能により、ドメインを処理状態から自助的に回復する制御が向上します。 詳細は、製品のドキュメントをご覧ください。


著者について

Siddhant Gupta は、インドのハイデラバードに拠点を置くAmazon Web Services のシニアテクニカルプロダクトマネージャーです。 Siddhant は Amazon で6年以上働いており、現在OpenSearch Service チームと協力して新しいリージョンのローンチ、価格戦略、EC2 と EBS のイノベーションを OpenSearch Service のお客様に提供しています。彼はアナリティクスと機械学習に情熱を注いでいます。余暇では、旅行、フィットネス、家族との時間、ノンフィクション本の読書を楽しんでいます。

Deniz Ercelebi は、Amazon OpenSearch Service の Sr. UX デザイナーです。 彼女の役割は、複雑な問題のデザインソリューションの作成、実装、および成功した提供に貢献することです。 個人的な動機は、ユーザーエクスペリエンスへの情熱、顧客中心のソリューションへの献身、そして協調的イノベーションへの確固たる信念によって推進されています。

Shashank Gupta は、Amazon OpenSearch Service の Sr. ソフトウェア開発者で、プラットフォームのマネージドサービスの側面の強化を専門としています。
主な焦点は、コンソールから API やリソースプロビジョニングに至るまで、マネージドエクスペリエンスを効率的な方法で最適化することです。
イノベーションへの献身的なコミットメントがあり、サービス内で革新的なソリューションを導入することによって、全体的な顧客体験を高めることを目指しています。


翻訳はソリューションアーキテクトの榎本が担当いたしました。原文の投稿は Track Amazon OpenSearch Service configuration changes more easily with new visibility improvements よりご確認ください。