Amazon Bedrock オンデマンドリソースを使用するときに発生する、「503 Service Unavailable」エラーをトラブルシューティングしたいです。AWS アカウントのクォータは超えていません。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
障害が原因でサーバーが応答できない場合にサーバー側の例外が発生すると、503 Service Unavailable というエラーメッセージが表示されます。このエラーは、リクエストの急増により共有リソースに負担がかかった場合にも発生します。エラーの原因を特定するには、次の操作を行います。
サービスステータスを確認する
Amazon Bedrock にアクセスできない場合は、サービスの可用性を確認してください。AWS Health Dashboard でサービスの状態を参照し、AWS リージョン内の Amazon Bedrock で継続的な問題が発生していないかどうかを確認してください。
リクエストを再試行する
エラーが API 需要の一時的な増加によるものかどうかを確認するには、エクスポネンシャルバックオフを使用してリクエストを再試行します。この方法では、サーバーの負荷が軽減され、リクエストが成功する可能性を改善できます。
AWS SDK には、多くの場合、再試行ロジックが組み込まれています。要件に応じて AWS SDK の再試行動作を設定します。
別の リージョン を使用する
需要の増加や障害が特定のリージョンに固有のものかどうかを確認するために、リソースを更新し、別のリージョンを使用します。別のリージョンに変更する際、そのリージョンの Amazon Bedrock にモデルアクセスを付与します。
AWS SDK を使用している場合は、AWS SDK のリージョン互換性を確認してください。AWS SDK が別のリージョンを使用するように更新するには、次の AWS CLI コマンド set を実行します。
aws configure set region new-region-name
注: new-region-name を使用する新しいリージョンに置き換えます。
クロスリージョン推論を使用して、複数のリージョンのキャパシティを自動的に使用する
クロスリージョン推論を使用すると、予期しないトラフィックバーストをシームレスに管理できます。クロスリージョン推論では、容量のあるリージョンにリクエストを動的にルーティングします。この方法では、ワークロードを需要に応じて拡張できます。
他の基盤モデルを使用する
特定の基盤モデルで需要が増加したり、障害が発生したりする場合は、別の基盤モデルを使用してください。
注: 必要なパラメータは、基盤モデルごとに異なります。Converse API は、メッセージをサポートするすべての Amazon Bedrock モデルで動作します。コードを記述した後、そのコードをさまざまなモデルで使用できます。
プロビジョニングされたスループットを使用する
前提条件: プロビジョニングされたスループットがサポートされているリージョンを使用していることを確認してください。
アプリケーションの使用パターンとピーク要件を分析します。より高いスループットを提供する必要がある場合は、プロビジョニングされたスループットを使用してください。AWS CLI または AWS SDK for Python (Boto3) を使用してプロビジョニングされたスループットを使用する方法については、「プロビジョニングされたスループット用のコード例」を参照してください。