Amazon OpenSearch Service で設定変更を行う - Amazon OpenSearch Service

Amazon OpenSearch Service で設定変更を行う

Amazon OpenSearch Service では、ドメインの更新時に Blue/Green デプロイプロセスが使用されます。Blue/Green は通常、2 つの本稼働環境 (ライブとアイドル) に使用して、ソフトウェアの変更時に両者間で切り替える方法を指します。OpenSearch Service の場合は、ドメインの更新用に新しい環境を作成し、これらの更新の完了後に新しい環境にユーザーをルーティングする方法を指します。この方法では、新しい環境へのデプロイに失敗しても、ダウンタイムを最小限に抑えることができ、元の環境を維持することができます。

通常は blue/green デプロイの原因となる変更

次のオペレーションにより、Blue/Green デプロイが発生します。

  • インスタンスタイプを変更する

  • きめ細かなアクセスコントロールの有効化

  • サービスソフトウェアのアップデートを行う

  • ドメインに専用マスターノードがない場合に、データインスタンス数を変更する

  • 専用マスターノードを有効または無効にする

  • 専用マスターノード数またはインスタンスタイプを変更する

  • マルチ AZ を有効または無効にする

  • ストレージタイプ、ボリュームタイプ、ボリュームサイズを変更する

  • 別の VPC のサブネットを選択する

  • VPC セキュリティグループを追加または削除する

  • OpenSearch Dashboards の Amazon Cognito 認証を有効または無効にする

  • 別の Amazon Cognito ユーザープールまたは ID プールを選択する

  • アドバンスト設定を変更する

  • エラーログ、監査ログ、またはスローログの CloudWatch への公開を有効または無効にする

  • OpenSearch の新しいバージョンへアップグレードする

  • [HTTPS が必要] を有効または無効にする

  • 保管中のデータの暗号化およびノード間の暗号化を有効にする

  • UltraWarm またはコールドストレージを有効または無効にする

  • Auto-Tune を無効にし、変更をロールバックする

  • カスタムエンドポイントの変更

通常は blue/green デプロイが発生しない変更

ほとんどの場合、次のオペレーションにより、Blue/Green デプロイは発生しません。

  • アクセスポリシーを変更する

  • 自動スナップショットの時間を変更する

  • 変更内容をロールバックせずに Auto-Tune を有効または無効にする

  • ドメインに専用マスターノードがある場合に、データノードまたは UltraWarm ノード数を変更する

サービスソフトウェアのバージョンによっては、一部の例外があります。変更による blue/green デプロイが起らないことを絶対確実にしたいならば、ドライランを実行してからドメインを更新してください。

変更によって blue/green デプロイ が発生するかどうかを判定する

事前に計画した設定変更でドライランを行って、blue/green デプロイが発生するかどうか判断することができます。コンソールで変更を加えると、解析の実行 を選択するよう求められ、すると OpenSearch Service が変更によって発生するデプロイのタイプを算出します。

設定 API を使って、ドライランの分析を行うこともできます。例えば、UpdateDomainConfigリクエストは、UltraWarm を有効にすることによって発生するデプロイタイプをテストします。

POST https://es.us-east-1.amazonaws.com/2021-01-01/opensearch/domain/my-domain/config { "ClusterConfig": { "WarmCount": 3, "WarmEnabled": true, "WarmType": "ultrawarm1.large.search" }, "DryRun": true }

リクエストは、変更によって発生するデプロイのタイプを回答しますが、実際の更新は行いません。

{ "ClusterConfig": { ... }, "DryRunResults": { "DeploymentType": "Blue/Green", "Message": "This change will require a blue/green deployment." } }

考えられるデプロイタイプは、次のとおりです。

  • Blue/Green-変更により、blue/green デプロイが発生します。

  • DynamicUpdate-変更によって、blue/green デプロイは発生しません。

  • Undetermined-ドメインがまだ処理状態であるため、デプロイのタイプを特定できません。

  • None-設定変更はありません。

設定変更を開始する

設定の変更を開始すると、OpenSearch Service が最新のサービスソフトウェアを用いて新しい環境を作成するまで、ドメインの状態は処理中に変更されます。作成した時点でそれはアクティブに戻ります。特定のサービスソフトウェアの更新の際は、その間ずっとステータスはアクティブのままです。どちらの場合も、クラスターヘルスと Amazon CloudWatch メトリクスを調べると、ドメイン更新中はクラスター内のノード数が一時的に増加 (しばしば倍増) していることを確認できます。次の図では、設定の変更中にノード数が 11 から 22 に倍増し、更新が完了すると 11 に戻っていることがわかります。


      ドメイン設定の変更中にノード数が 11 から 22 に倍増しています。

この一時的な増加により、管理対象のノード数がかなり増えるため、クラスターの専用マスターノードへの負荷が高くなります。また、OpenSearch Service が古いクラスターから新しいクラスターにデータをコピーするため、検索とインデックス作成のレイテンシーが増加する可能性もあります。クラスターでは、Blue/Green デプロイに関連するオーバーヘッドを処理するための十分な容量を維持することが重要です。

重要

設定の変更およびサービスのメンテナンス中に、追加料金は発生しません。課金対象となるのは、クラスター用にリクエストしたノード数のみです。詳細については、「設定変更に関連する料金」を参照してください。

専用マスターノードに過度な負荷がかかることを防ぐには、Amazon CloudWatch メトリクスを使用して使用率をモニタリングできます。推奨される最大値については、「Amazon OpenSearch Service で推奨される CloudWatch アラーム」を参照してください。

設定変更のステージ

設定の変更を開始すると、OpenSearch Service は一連の手順を経てドメインを更新します。コンソールのドメインステータスで設定変更の進行状況を表示できます。更新が実行される正確な手順は、変更の種類によって異なります。また、DescribeDomainChangeProgress API オペレーションを使用して設定の変更をモニタリングすることもできます。

サービスソフトウェアの更新中など、blue/green デプロイが実際に開始されるまで、進行状況情報が表示されない場合があります。この間、ドメインのステータスは Pending Updates です。

設定変更中に更新が実行される可能性のあるステージを次に示します。

ステージ名 説明

Creating a new environment

blue/green デプロイを開始するために必要な前提条件を完了し、必要なリソースを作成します。

Provisioning new nodes

新しい環境での新しいインスタンスのセットの作成。

Traffic routing on new nodes

新しく作成されたデータノードにトラフィックをリダイレクトします。

Traffic routing on old nodes

古いデータノードでトラフィックを無効にする。

Preparing nodes for removal

ノードを削除する準備をしています。このステップは、ドメインを縮小している場合にのみ発生します(例えば、8 ノードから 6 ノードへ)。

Copying shards to new nodes

古いノードから新しいノードにシャードを移動します。

Terminating nodes

シャードを削除した後、古いノードを終了して削除する。

Deleting older resources

古い環境 (ロードバランサーなど) に関連付けられているリソースの削除。

Dynamic update

更新が blue/green デプロイを必要とせず、動的に適用できる場合に表示されます。

設定変更に関連する料金

ドメインの設定を変更すると、「Amazon OpenSearch Service で設定変更を行う」で説明されているように、OpenSearch Service で新しいクラスターが作成されます。古いものから新しいものへの移行中、以下の料金が発生します。

  • インスタンスタイプを変更した場合、両方のクラスター (最初の 1 時間) が課金されます。最初の 1 時間の後は、新しいクラスターに対してのみ料金が発生します。EBS ボリュームはクラスターの一部であるため、2 回課金されることはありません。そのため、課金はインスタンスの課金に従います。

    例: 3 つの m3.xlarge インスタンスから 4 つの m4.large インスタンスに設定を変更した場合。最初の 1 時間は、両方のクラスターに課金されます (3 * m3.xlarge + 4 * m4.large)。最初の 1 時間の後は、新しいクラスターに対してのみ料金が発生します (4 * m4.large)。

  • インスタンスタイプを変更しない場合は、最大のクラスターに対してのみ課金されます (最初の 1 時間)。最初の 1 時間の後は、新しいクラスターに対してのみ料金が発生します。

    例: 6 つの m3.xlarge インスタンスから 3 つの m3.xlarge インスタンスに設定を変更した場合。最初の 1 時間は、最大のクラスターに課金されます (6 * m3.xlarge)。最初の 1 時間の後は、新しいクラスターに対してのみ料金が発生します (3 * m3.xlarge)。