翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon OpenSearch サービスの設定変更
Amazon OpenSearch Service は、ドメインを更新する際にブルー/グリーンのデプロイプロセスを使用します。ブルー/グリーンデプロイでは、本番環境をコピーするドメイン更新用のアイドル環境が作成され、更新が完了した後にユーザーが新しい環境にルーティングされます。ブルー/グリーンデプロイでは、ブルー環境が現在の本稼働環境です。グリーン環境はアイドル環境です。
データはブルー環境からグリーン環境に移行されます。新しい環境の準備が整うと、 OpenSearch Service は環境を切り替えて、グリーン環境を新しい本番環境に昇格させます。データ損失なしでスイッチオーバーが行われます。この方法では、新しい環境へのデプロイに失敗しても、ダウンタイムを最小限に抑えることができ、元の環境を維持することができます。
トピック
通常は blue/green デプロイの原因となる変更
次のオペレーションにより、Blue/Green デプロイが発生します。
-
インスタンスタイプを変更する
-
きめ細かなアクセスコントロールの有効化
-
サービスソフトウェアのアップデートを行う
-
ドメインに専用マスターノードがない場合に、データインスタンス数を変更する
-
専用マスターノードを有効または無効にする
-
スタンバイなしのマルチ AZ を有効または無効にする
-
ストレージタイプ、ボリュームタイプ、ボリュームサイズを変更する
-
別の VPC のサブネットを選択する
-
VPC セキュリティグループを追加または削除する
-
ダッシュボードの Amazon Cognito 認証を有効または無効にする OpenSearch
-
別の Amazon Cognito ユーザープールまたは ID プールを選択する
-
アドバンスト設定を変更する
-
OpenSearch 新しいバージョンへのアップグレード (アップグレードの一部またはすべての間、OpenSearch ダッシュボードが使用できなくなる場合があります)
-
node-to-node 保存中のデータの暗号化または暗号化の有効化
-
UltraWarm コールドストレージの有効化または無効化
-
Auto-Tune を無効にし、変更をロールバックする
-
ドメインへのオプションプラグインの関連付けとドメインからのオプションプラグインの関連付けの解除
-
専用マスターノードが 2 つあり、ゾーン認識が有効になっているドメインの専用マスターノード数を増やす
-
EBS ボリュームサイズの削減
-
EBS ボリュームサイズ、IOPS、またはスループットの変更 (最後に行った変更が進行中であった場合や 6 時間以内に行われた変更の場合)
-
への監査ログの公開を有効にする。 CloudWatch
スタンバイが有効のマルチ AZ では、1 回につき 1 つの変更リクエストしか行えません。変更が既に実行中の場合、新しいリクエストは拒否されます。現在の変更ステータスは、DescribeDomainChangeProgress
API を使用して確認できます。
通常は blue/green デプロイが発生しない変更
ほとんどの場合、次のオペレーションにより、Blue/Green デプロイは発生しません。
-
アクセスポリシーを変更する
-
カスタムエンドポイントの変更
-
Transport Layer Security (TLS) ポリシーを変更する
-
自動スナップショットの時間を変更する
-
[HTTPS が必要] を有効または無効にする
-
変更内容をロールバックせずに Auto-Tune を有効または無効にする
-
ドメインに専用のマスターノードがある場合、 UltraWarm またはノード数が変更されている場合
-
データノード数の変更
-
ドメインに専用マスターノードがある場合、専用マスターインスタンスタイプまたはノード数を変更する (専用マスターが 2 つあり、ゾーン認識が有効になっているドメインを除く)
-
エラーログまたはスローログの公開を有効または無効にする CloudWatch
-
への監査ログの公開を無効にする。 CloudWatch
-
ボリュームサイズの増加、ボリュームタイプ、IOPS、スループットの変更、データノードボリュームサイズあたり最大 3 TiB
-
タグの追加と削除
注記
サービスソフトウェアのバージョンによっては、一部の例外があります。変更によってブルー/グリーンデプロイが発生しないことを確認したい場合は、ドメインを更新する前にドライランを実行してください (このオプションが利用可能な場合)。一部の変更ではドライランオプションが提供されていません。一般的には、トラフィックのピーク時間外にクラスターを変更することをおすすめします。
変更によってブルー/グリーンデプロイが実行されるかどうかを判断する
計画的な設定変更の中には、変更にコミットしなくてもテストして、ブルー/グリーンデプロイになるかどうかを判断できるものもあります。設定の変更を開始する前に、コンソールまたは API を使用して検証チェックを実行し、ドメインが更新の対象であることを確認してください。
設定変更の開始と追跡
注記
設定変更は一度に 1 つずつリクエストできます。複数の設定変更を 1 つのリクエストにまとめることもできます。Active
ドメインのステータスがになるのを待ってから、追加の構成変更をリクエストしてください。
Amazon OpenSearch Service Console の [ドメイン処理ステータス] フィールドと [Config 変更ステータス] フィールドを表示して、ドメインと設定の変更を追跡できます。API ConfigChangeStatus
レスポンスのおよびパラメータを使用して、DomainProcessingStatus
ドメインと設定の変更を追跡することもできます。詳細については、 OpenSearch サービス API DomainStatusリファレンスのデータ型を参照してください。
ドメイン処理ステータスの可視性:コンソールの Domain Processing Status フィールドを見れば、ドメインの設定ステータスを簡単に判断できます。同様に、DomainProcessingStatus
API パラメータを使用してステータスを識別できます。以下の値はドメインの処理ステータスです。
-
Active
: 設定の変更は進行中ではありません。新しい設定変更リクエストを送信できます。 -
Creating
: ドメインを作成中です。 -
Modifying
: 新しいデータノードの追加、EBS、gp3、IOPS プロビジョニング、KMS キーの設定などの設定変更が進行中です。注記
Modifying
設定変更を完了するためにドメインがシャードの移動を必要とする状況として表示される場合があります。下位互換性を保つため、APIProcessing
レスポンスではパラメータの動作は変更されず、コア設定の変更が完了するとすぐに false に設定され、シャードの移動が完了するのを待たずに済みます。 -
Upgrading Engine Version
: エンジンバージョンのアップグレードが進行中です。 -
Updating Service Software
: サービスソフトウェアの更新が進行中です。 -
Deleting
: ドメインは削除中です。 -
Isolated
: ドメインは停止されています。
設定ステータスの可視性:設定の変更は、オペレータ (新しいデータノードの追加、インスタンスタイプの変更など) またはサービス (自動チューニングやオフピーク時の更新など) によって開始できます。最新の設定変更の詳細のステータスは、Amazon OpenSearch サービスコンソールの設定変更ステータスフィールドと ConfigChangeStatus
API レスポンスで確認できます。以下の値は、ドメインの設定ステータスを示します。
-
Pending
: 設定変更リクエストが送信されました。 -
Initializing
: サービスは設定変更リクエストを初期化中です。 -
Validating
: サービスは要求された変更と必要なリソースを検証しています。 -
Awaiting user inputs
: インスタンスタイプの変更など、一部の設定変更がさらに進むことをオペレーターが予想する場合に適用されます。設定の変更は編集できます。 -
Applying changes
: サービスは要求された設定変更を適用しています。 -
Cancelled
: 設定変更はキャンセルされました。「検証失敗」ステータスが表示されたら、コンソールで [キャンセル] をクリックするか、CancelDomainConfigChange
API オペレーションを呼び出します。これを行うと、適用されたすべての変更がロールバックされます。 -
Completed
: リクエストされた設定変更は正常に完了しました。 -
Validation Failed
: 要求された変更は検証に失敗しました。設定の変更は適用されません。注記
検証エラーは、ドメインに赤いインデックスが存在する、選択したインスタンスタイプが使用できない、またはディスク容量が不足していることが原因である可能性があります。検証エラーの一覧については、を参照してください。検証エラーのトラブルシューティング検証失敗イベント中は、構成の変更をキャンセル、再試行、または編集できます。
API 概要:、および DescribeDomainConfig
API オペレーションを使用してDescribeDomain
DescribeDomainChangeProgress
、詳細な設定更新ステータスを取得できます。また、CancelDomainConfigChange
検証に失敗した場合はを使用して更新をキャンセルできます。詳細については、OpenSearch サービス API のドキュメントを参照してください。
設定の変更が完了すると、ドメインの状態はに戻ります。Active
クラスターの状態と Amazon CloudWatch のメトリックスを確認すると、ドメインの更新中にクラスター内のノード数が一時的に増加し (多くの場合 2 倍に) なることがわかります。次の図では、設定の変更中にノード数が 11 から 22 に倍増し、更新が完了すると 11 に戻っていることがわかります。
この一時的な増加により、管理対象のノード数がかなり増えるため、クラスターの専用マスターノードへの負荷が高くなります。また、 OpenSearch Service が古いクラスターから新しいクラスターにデータをコピーするため、検索とインデックス作成のレイテンシーが増える可能性もあります。クラスターでは、Blue/Green デプロイに関連するオーバーヘッドを処理するための十分な容量を維持することが重要です。
重要
設定の変更およびサービスのメンテナンス中に、追加料金は発生しません。課金対象となるのは、クラスター用にリクエストしたノード数のみです。詳細については、「設定変更に関連する料金」を参照してください。
専用マスターノードが過負荷にならないように、Amazon CloudWatch メトリックスを使用して使用状況をモニタリングできます。推奨される最大値については、「Amazon OpenSearch Service の推奨 CloudWatch アラーム」を参照してください。
設定変更のステージ
設定変更を開始すると、 OpenSearch Service は一連の手順を実行してドメインを更新します。構成変更の進行状況は、コンソールの「構成変更ステータス」で確認できます。更新が実行される正確な手順は、変更の種類によって異なります。DescribeDomainChangeProgressAPI オペレーションを使用して設定変更を監視することもできます。
設定変更中に更新が実行される可能性のあるステージを次に示します。
ステージ名 | 説明 |
---|---|
検証 |
ドメインが更新の要件を満たしていることを検証し、必要に応じて検証の問題を明らかにします。 |
新しい環境の作成 |
blue/green デプロイを開始するために必要な前提条件を完了し、必要なリソースを作成します。 |
新しいノードのプロビジョニング |
新しい環境での新しいインスタンスのセットの作成。 |
新しいノードでのトラフィックルーティング |
新しく作成されたデータノードにトラフィックをリダイレクトします。 |
古いノードでのトラフィックルーティング |
古いデータノードでトラフィックを無効にする。 |
削除するノードの準備 |
ノードを削除する準備をしています。このステップは、ドメインを縮小している場合にのみ発生します(例えば、8 ノードから 6 ノードへ)。 |
シャードの新しいノードへのコピー |
古いノードから新しいノードにシャードを移動します。 |
ノードの終了 |
シャードを削除した後、古いノードを終了して削除する。 |
古いリソースの削除 |
古い環境 (ロードバランサーなど) に関連付けられているリソースの削除。 |
動的更新 |
更新が blue/green デプロイを必要とせず、動的に適用できる場合に表示されます。 |
専用マスター関連の変更の適用 |
専用マスターインスタンスのタイプまたは数が変更されたときに表示されます。 |
ボリューム関連の変更の適用 |
ボリュームのサイズ、タイプ、IOPS、スループットが変更されたときに表示されます。 |
設定変更に関連する料金
ドメインの設定を変更すると、 OpenSearch Service はで説明されているように新しいクラスターを作成しますAmazon OpenSearch サービスの設定変更。古いものから新しいものへの移行中、以下の料金が発生します。
-
インスタンスタイプを変更した場合、両方のクラスター (最初の 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
)。
検証エラーのトラブルシューティング
設定変更を開始したり、Elasticsearch OpenSearch のバージョンアップグレードを実行したりすると、 OpenSearch Service はまず一連の検証チェックを行い、ドメインが更新の対象となることを確認します。これらのチェックのいずれかが失敗した場合、ドメインを更新する前に修正する必要がある特定の問題を含む通知がコンソールで表示されます。次の表は、 OpenSearch Service が直面する可能性のあるドメインの問題と、それらを解決する手順を示しています。
問題 | エラーコード | トラブルシューティングのステップ |
---|---|---|
セキュリティグループが見つかりません | SecurityGroupNotFound |
OpenSearch サービスドメインに関連付けられているセキュリティグループが存在しません。この問題を解決するには、指定された名前でセキュリティ グループを作成します。 |
サブネットが見つかりません | SubnetNotFound |
OpenSearch サービスドメインに関連付けられているサブネットは存在しません。この問題を解決するには、VPC でサブネットを作成します。 |
サービスにリンクされたロールが設定されていません | SLRNotConfigured |
Service OpenSearch のサービスにリンクされたロールは設定されていません。サービスにリンクされたロールは OpenSearch Service によって事前定義されており、 AWS ユーザーに代わってサービスが他のサービスを呼び出すために必要なすべての権限が含まれています。ロールが存在しない場合は、手動で作成する必要がある場合があります。 |
十分な IP アドレスがありません | InsufficientFreeIPsForSubnets |
1 つ以上の VPC サブネットに、ドメインを更新するのに十分な IP アドレスがありません。必要な IP アドレスの数を計算するには、「VPC サブネットで IP アドレスをリザーブする」を参照してください。 |
Cognito ユーザープールが存在しません | CognitoUserPoolNotFound |
OpenSearch サービスが Amazon Cognito ユーザープールを見つけることができません。ユーザープールを作成し、正しい ID が設定されていることを確認します。ID を見つけるには、Amazon Cognito コンソールまたは次の AWS CLI コマンドを使用できます。
|
Cognito ID プールが存在しません | CognitoIdentityPoolNotFound |
OpenSearch サービスが Cognito ID プールを見つけることができません。ユーザープールを作成し、正しい ID が設定されていることを確認します。ID を見つけるには、Amazon Cognito コンソールまたは次の AWS CLI コマンドを使用できます。
|
ユーザープールの Cognito ドメインが見つかりません | CognitoDomainNotFound |
ユーザープールにドメイン名がありません。Amazon Cognito AWS CLI コンソールまたは次のコマンドを使用して設定できます。
|
Cognito ロールが設定されていません | CognitoRoleNotConfigured |
Amazon Cognito ユーザーと ID プールを設定し、 OpenSearch それらを認証に使用するためのアクセス権限をサービスに付与する IAM ロールは設定されていません。適切な許可セットと信頼関係を使用してロールを設定します。CognitoAccessForAmazonOpenSearchコンソールを使用してデフォルトのロールを作成することも、または SDK を使用して手動でロールを設定することもできます。 AWS CLI AWS |
ユーザープールを記述できません | UserPoolNotDescribable |
指定された Amazon Cognito ロールには、ドメインに関連付けられたユーザープールを記述するための許可がありません。ロールの許可ポリシーで cognito-identity:DescribeUserPool アクションが許可されていることを確認してください。完全な許可ポリシーについては、「CognitoAccessForAmazonOpenSearch ロールについて」を参照してください。 |
ID プールを記述できません | IdentityPoolNotDescribable |
指定された Amazon Cognito ロールには、ドメインに関連付けられた ID プールを記述するための許可がありません。ロールの許可ポリシーで cognito-identity:DescribeIdentityPool アクションが許可されていることを確認してください。完全な許可ポリシーについては、「CognitoAccessForAmazonOpenSearch ロールについて」を参照してください。 |
ユーザーおよび ID プールを記述できません | CognitoPoolsNotDescribable |
指定された Amazon Cognito ロールには、ドメインに関連付けられたユーザーおよび ID プールを記述するための許可がありません。ロールの許可ポリシーで cognito-identity:DescribeIdentityPool および cognito-identity:DescribeUserPool アクションが許可されていることを確認してください。完全な許可ポリシーについては、「CognitoAccessForAmazonOpenSearch ロールについて」を参照してください。 |
KMS キーが有効になっていません | KMSKeyNotEnabled |
ドメインの暗号化に使用される AWS Key Management Service (AWS KMS) キーは無効になっています。すぐにキーを再度有効にします。 |
カスタム証明書が [ISSUED] (発行済み) の状態ではありません | InvalidCertificate |
ドメインがカスタムエンドポイントを使用している場合は、 AWS Certificate Manager (ACM) で SSL 証明書を生成するか、独自の SSL 証明書をインポートしてセキュリティを確保します。証明書のステータスは [Issued] (発行済み) である必要があります。このエラーが発生した場合は、ACM コンソールで証明書のステータスを確認してください。ステータスが [Expired] (期限切れ)、[Failed] (失敗)、[Inactive] (非アクティブ)、または [Pending validation] (検証の保留中) の場合は、ACM のトラブルシューティングドキュメントを参照して問題を解決してください。 |
選択したインスタンスタイプを起動するのに十分なキャパシティがありません | InsufficientInstanceCapacity |
リクエストされたインスタンスタイプのキャパシティは利用できません。たとえば、5 |
クラスター内の赤いインデックス | RedCluster |
クラスター内の 1 つ以上のインデックスが赤のステータスになり、全体的に赤のクラスターステータスになります。この問題のトラブルシューティングおよび修復については、「赤のクラスター状態」を参照してください。 |
メモリサーキットブレーカー、リクエストが多すぎます | TooManyRequests |
ドメインへの検索と書き込みのリクエストが多すぎるため、 OpenSearch Service は構成を更新できません。リクエストの数を減らしたり、インスタンスを最大 64 GiB の RAM まで垂直方向にスケールしたり、インスタンスを追加して水平方向にスケールしたりできます。 |
新しい設定はデータを保持できません (ディスク容量不足) | InsufficientStorageCapacity |
設定されたストレージサイズでは、ドメインのすべてのデータを保持できません。この問題を解決するには、より大きなボリュームを選択するか、未使用のインデックスを削除 |
特定のノードにシャードが固定されています | ShardMovementBlocked |
ドメイン内の 1 つ以上のインデックスが特定のノードにアタッチされており、再割り当てできません。これは、シャード割り当てのフィルタリングを設定したために発生する可能性が最も高いです。このフィルタリングは、特定のインデックスのシャードをホストすることを許可するノードを指定できるようにします。 この問題を解決するには、影響を受けるすべてのインデックスからシャード割り当てフィルターを削除します。
|
新しい設定はすべてのシャードを保持できません (シャード数) | TooManyShards |
ドメインのシャード数が多すぎるため、 OpenSearch Service はそれらのシャードを新しい構成に移行できません。この問題を解決するには、現在のクラスターノードと同じ設定タイプのノードを追加して、ドメインを水平にスケールします。EBS ボリュームの最大サイズは、ノードのインスタンスタイプによって異なることに注意してください。 今後この問題が発生しないようにするには、「シャード数の選択」を参照して、ユースケースに適したシャーディング戦略を定義してください。 |
ドメインに関連付けられたサブネットは IPv4 アドレスをサポートしていません |
|
この問題を解決するには、ドメインの設定された IP アドレスタイプに応じて、VPC でサブネットを作成するか、既存のサブネットを更新します。ドメインで [IPv4 のみ] のアドレスタイプを使用している場合は、IPv4 のみのサブネットを使用します。ドメインで [デュアルスタックモード] を使用している場合は、デュアルスタックサブネットを使用します。 |
ドメインに関連付けられたサブネットは IPv6 アドレスをサポートしていません |
|
この問題を解決するには、ドメインの設定された IP アドレスタイプに応じて、VPC でサブネットを作成するか、既存のサブネットを更新します。ドメインで [IPv4 のみ] のアドレスタイプを使用している場合は、IPv4 のみのサブネットを使用します。ドメインで [デュアルスタックモード] を使用している場合は、デュアルスタックサブネットを使用します。 |