Amazon S3 からの「Your socket connection to the server was not read from or written to within the timeout period (サーバーへのソケット接続の読み取りまたは書き込みがタイムアウト期間内に実行されませんでした)」エラーは、どのようにトラブルシューティングすればよいですか?

最終更新日: 2019 年 12 月 20 日

AWS コマンドラインインターフェイス (AWS CLI) または AWS SDK を使用して Amazon Simple Storage Service (Amazon S3) にファイルをアップロードしようとしています。しかし、次のエラーが表示されます。
サーバーへのソケット接続の読み取りまたは書き込みがタイムアウト期間内に実行されませんでした。アイドル接続を閉じます。(サービス: Amazon S3、ステータスコード: 400、エラーコード: RequestTimeout)

どうすれば解決できますか?

解決方法

クライアントと Amazon S3 サーバー間の接続が 20 秒以上アイドル状態のままになると、Amazon S3 は接続を閉じます。これにより、400 RequestTimeout エラーが発生します。このエラーをトラブルシューティングするには、以下を確認してください。

「Content-Length」ヘッダーに設定されたバイト数が実際のファイルサイズを超えている

HTTP リクエストを Amazon S3 に送信すると、Amazon S3 は Content-Length ヘッダーで指定された量のデータを受け取ることを想定します。Amazon S3 で予想されるデータ量を受信しないまま、接続が 20 秒以上アイドル状態である場合、接続は閉じられます。Amazon S3 に送信する実際のファイルサイズが、Content-Length ヘッダーで指定されたファイルサイズと一致していることを確認してください。

高レイテンシー、パケット損失、輻輳などのネットワークの問題

低速または不十分なネットワーク接続がが原因で、複数のパケットまたはすべてのパケットがドロップされた場合、Amazon S3 は想定バイト数を受信するまで待機します。接続が 20 秒以上アイドル状態である場合、Amazon S3 は接続を閉じ、400 RequestTimeout エラーを返します。これがエラーの原因であるかどうかを確認するには、パケットキャプチャを実行し、パケットドロップがないか確認します。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合