Amazon OpenSearch Service で HTTP 503 サービス使用不可エラーを解決するにはどうすればよいですか?
最終更新日: 2021 年 7 月 30 日
Amazon OpenSearch Service ドメインをクエリすると、HTTP 503 サービス利用不可というエラーが表示されます。このエラーの解決方法を教えてください。
簡単な説明
ロードバランサーは、各 OpenSearch Service ドメインの前に配置されます。ロードバランサーは、受信トラフィックをデータノードに分散します。HTTP 503 エラーは、クラスター内の 1 つ以上のデータノードが過負荷になっていることを示します。高価なクエリや着信トラフィックによってノードが過負荷になると、十分な容量を確保できないため、他の着信リクエストを処理できません。
注: Amazon CloudWatch の RequestCount メトリクスを使用して、HTTP レスポンスコードを追跡できます。
解決方法
HTTP 503 エラーを解決するには、以下のいずれかの方法を使用します。
多くのコンピューティングリソースをプロビジョニングする
- 大規模インスタンスに切り替えてドメインをスケールアップするか、クラスターにノードを追加してスケールアウトします。詳細については、Amazon OpenSearch Service ドメインの作成と管理を参照してください。
- ユースケースに適したインスタンスタイプを使用していることを確認してください。詳細については、インスタンスタイプとテストの選択を参照してください。
クエリのリソース使用率を減らす
- シャードおよびクラスターアーキテクチャのベストプラクティス通りに進めていることを確認します。設計が不十分なクラスターは、使用可能なすべてのリソースを使用できるわけではありません。一部のノードは、他のノードがアイドル状態にあるときに過負荷になる可能性があります。OpenSearch Service は、過負荷になったノードからドキュメントを取得できません。シャードとクラスターの詳細なベストプラクティスについては、Get started with Amazon OpenSearch Service: How many shards do I need? を参照してください。
- ドメインへの同時実行リクエストの数を減らします。
- クエリの範囲を狭めます。例えば、特定の時間枠でクエリを実行する場合は、日付の範囲を短めに設定します。OpenSearch Dashboards でインデックスパターンを設定して、結果をフィルタリングすることもできます。
- 大きいインデックスで選択 * クエリを実行しないようにします。代わりに、フィルターを使用してインデックスの一部をクエリし、できる限り少ないフィールドを検索します。
- インデックスを再生成してシャードの数を減らします。クラスターにあるシャードが多いほど、クーリエ取得エラーが発生する可能性が高くなります。各シャードには独自のリソース割り当てとオーバーヘッドがあるため、シャードが多いとクラスターに負荷がかかる場合があります。シャード数を減らすには、Why is my Amazon OpenSearch Service domain stuck in the "Processing" state? を参照してください。
Amazon OpenSearch Service は、Amazon Elasticsearch Service の後継サービスです。