Amazon OpenSearch Service クラスターのブルー/グリーンデプロイについて知りたいです。
簡単な説明
OpenSearch Service クラスターの構成を変更すると、ブルー/グリーンデプロイが開始されます。ブルー/グリーンデプロイ中は、新しい OpenSearch Service 環境が作成されている間にクラスターの状態が「処理中」に変わります。新しい OpenSearch 環境が作成されると、以下のことが起こります:
- ノードの総数は 2 倍になります。または、ノードの総数は、古い環境と新しい環境のノード数と同じです。
- 新しいノードがプロビジョニングされると、クラスターの状態が「アクティブ」に戻り、古いノードから新しいノードへのデータ移行が開始されます。
- データ移行が完了すると、古いノードは終了します。
OpenSearch Service は、構成の変更やバージョンのアップグレード中にドメインが更新可能かどうかを確認するために、一連の検証チェックを実行します。検証チェックに失敗すると、OpenSearch Service コンソールに通知が表示され、ドメインを更新する前に修正する必要のある問題が示されます。検証チェックが完了するまでは、OpenSearch Service コンソールのステータスが「処理中」であっても、ブルー/グリーンデプロイは開始されません。検証チェックの問題が修正された後、OpenSearch Service コンソールから構成変更を再試行することができます。詳細については、「検証エラーのトラブルシューティング」を参照してください。
注:
解決策
Amazon OpenSearch Service クラスターにおけるブルー/グリーンデプロイの開始要因は何ですか
ブルー/グリーンデプロイを開始する構成変更の一覧については、「通常ブルー/グリーンデプロイの原因となる変更」を参照してください。予定されているドメインの構成変更がブルー/グリーンデプロを開始するかどうかを、AWS コンソールまたはドライランを含む API を使用してテストすることができます。詳しい手順については、「変更がブルー/グリーンデプロイを引き起こすかどうかの確認」を参照してください。
注:
- ブルー/グリーンデプロイ時のノード数が 2 倍になっても、Amazon OpenSearch Service クォータの影響を受けません。たとえば、ドメインクォータごとに 80 個のデフォルトインスタンスがあり、OpenSearch クラスターに 70 個のインスタンスがあるとします。ブルー/グリーンデプロイ中、OpenSearch クラスターは 140 個のインスタンスを使用できます。
- ブルー/グリーンデプロイの原因となる変更を行った場合、OpenSearch Service はドメインを利用可能な最新のソフトウェアアップデートに自動的に更新します。詳細については、「OpenSearch Service のサービスソフトウェアアップデート」を参照してください。
ブルー/グリーンデプロイのパフォーマンスへの影響
ブルー/グリーンデプロイ中は、Amazon OpenSearch Service クラスターが受信した検索およびインデックス作成リクエストに対応できます。ただし、次のようなパフォーマンスの問題が発生する可能性があります:
- クラスターの管理対象ノードが増えるにつれて、リーダーノードの使用量が一時的に増加します。
- OpenSearch Service が古いノードから新しいノードにデータをコピーするため、検索とインデックス作成のレイテンシーが増加します。
- ブルー/グリーンデプロイ中はクラスターの負荷が増加するため、受信リクエストの拒否が増加します。
レイテンシーの問題やリクエスト拒否を回避するには、クラスターが健全でネットワークトラフィックが低い状態でブルー/グリーンデプロイを実行することがベストプラクティスです。
ブルー/グリーンデプロイ中のデータの損失を防ぐには、OpenSearch Service の運用上のベストプラクティスに必ず従ってください。
ブルー/グリーンデプロイアクティビティ、監査ログ、通知の確認
AWS CloudTrail
OpenSearch Service のアクティビティは、イベント履歴の他の AWS サービスイベントとともに CloudTrail イベントに記録されます。CloudTrail は OpenSearch サービスのすべての設定 API 呼び出しをイベントとしてキャプチャします。詳細については、「CloudTrail による OpenSearch Service API 呼び出しのモニタリング」を参照してください。
OpenSearch Service の監査ログ
Amazon OpenSearch Service ドメインがきめ細かなアクセス制御を使用している場合は、データの監査ログを有効にできます。監査ログはカスタマイズ可能で、OpenSearch クラスターでのユーザーアクティビティを追跡できます。OpenSearch Service は監査ログを CloudWatch ログに公開します。詳細については、「OpenSearch Service の監査ログのモニタリング」を参照してください。
OpenSearch Service の通知
Amazon OpenSearch Service の通知には、ドメインのパフォーマンスと状態に関する重要な情報が含まれています。OpenSearch Service は、サービスソフトウェアのアップデート、自動調整の強化、クラスターヘルスイベント、およびドメインエラーについて通知します。通知は OpenSearch Service コンソールの通知パネルで確認できます。詳細については、「通知の利用開始」を参照してください。
構成変更の所要時間
クラスターサイズ、ワークロード、シャードサイズ、シャード数によって、構成の変更に時間がかかる場合があります。OpenSearch Service コンソールの [ドメインステータス] で、構成変更のステージの進捗状況を確認できます。DescribeDomainChangeProgress API を使用して、構成変更ステージの進捗状況を確認することもできます。
cat recovery API を使用して、シャードの再配置のステータスをモニタリングします。どのシャードがまだ再配置されているかを確認するには、以下のコマンド構文を使用してください:
curl -X GET "https://<end_point>/_cat/recovery?v=true&pretty" | awk '/peer/ {print $1" "$2" "$3" "$4" "$18}' | grep -v 100\.0\%
シャード再配置をバイトパーセンテージで一覧表示するには、以下のコマンド構文を使用します:
curl -X GET "https://<end_point>/_cat/recovery?v=true&pretty" | awk '/peer/ {print $1" "$2" "$3" "$4" "$18}' | tr -d "%" | sort -k 5 -n
詳細については、Elasticsearch ウェブサイトの cat recovery API を参照してください。
注: データをバイトパーセンテージ (第 5 列) でソートするには、-k に対して「5」と指定する必要があります。
シャード再配置の進捗が最小限である場合、クラスターが停止している可能性があります。
ブルー/グリーンデプロイが停止する理由
ブルー/グリーンデプロイのプロセスは次の理由で停止する可能性があります:
- 構成変更前のクラスター状態が異状。
- JVM のメモリ負荷が常に高い。メモリ不足 (OOM) の問題を回避するために、JVM のメモリ負荷を 75% 以下に抑えるようにしてください。
- CPU 使用率が常に高い。CPU 使用率を 80% 未満に保つようにしてください。
- クラスター上のシャードが多すぎるか、シャードのサイズが正しくない。シャード数を 10 GiB から 50 GiB の間で保つことがベストプラクティスです。インデックス作成戦略の詳細については、「シャード数を選択する」を参照してください。
- 構成の設定が無効であるか、同時に行われる構成変更が多すぎる。必ず構成設定を確認し、最初の構成変更が完了するまで構成変更の送信を待ってください。
- 再配置プロセスまたは要求されたインスタンスタイプに必要なディスク容量または容量が不足しています。
- 仮想プライベートクラウド (VPC) 内のクラスターの要求されたサブネットで利用可能な IP が不足しています。
- インスタンスタイプにボリュームサイズを使用しています。ボリュームサイズは制限範囲内である必要があります。
- 「index.routing.allocation.require._name」や「NODE_NAME」、「index.blocks.write": true」などのインデックス設定を使用しています。これらの設定は書き込みブロックを示します。次に進む前に、これらの設定をインデックス設定から削除してください。
詳細については、「OpenSearch Service ドメインが「処理中」状態のままになるのはなぜですか?」を参照してください。
関連情報
Amazon OpenSearch Service ドメインのアップグレードに時間がかかるのはなぜですか?
OpenSearch Service での自動調整の導入