一時的なエラーについて理解する

完了

このセクションでは、Azure Cosmos DB のサービス利用不可例外を診断し、そのトラブルシューティングを行います。 通常、この例外は、要求から状態コード 503 が返された場合に確認されます。 これは、サービスが利用できなかったために、操作を完了できなかったことを意味します。 この例外が発生する理由は複数考えられます。 この状態コードは、ネットワーク接続またはサービスの可用性の問題が原因で返される可能性があります。 ほとんどの場合は、操作を再試行しても問題ありません。問題は解決している可能性があります。 問題が解決しない場合は、Azure サポートにお問い合わせください。 ここでは、この状態コードが返される 3 つの主なケースについて見ていきましょう。

必要なポートがブロックされている

以下のポートで Azure Cosmos DB for NoSQL が有効になっていることを確認します。

接続モード サポートされるプロトコル サポートされる SDK API/サービス ポート
ゲートウェイ HTTPS すべての SDK NoSQL (443)
直接 TCP .NET SDK、Java SDK パブリック/サービス エンドポイントを使用する場合: 10000 から 20000 までの範囲のポート。 プライベート エンドポイントを使用する場合: 0 から 65535 の範囲のポート

クライアント側の一時的な接続に関する問題

この例外は、一時的な接続の問題によって操作がタイムアウトになった場合に発生する可能性があります。 このシナリオに関連するスタック トレースには、TransportException エラーが含まれます。 このエラーは次のような内容になります。

TransportException: A client transport error occurred: The request timed out while waiting for a server response. 
(Time: xxx, activity ID: xxx, error code: ReceiveTimeout [0x0010], base error: HRESULT 0x80131500

このエラーは、要求のタイムアウト エラー (状態コード 408) と同様の方法でトラブルシューティングする必要があります。

サービス停止

[Azure の状態] ページで、継続中の問題がないかどうかを確認します。