Amazon Simple Storage Service (Amazon S3) バケット内のプレフィックスへのリクエストレートは、サポートされるプレフィックスあたりのリクエストレートの範囲内です。しかし、503 速度低下エラーが発生します。このエラーが表示されるのはなぜですか? また、どうすれば解決できますか?
解決方法
Amazon S3 は、バケット内のプレフィックスごとに 1 秒あたり 3,500 回の PUT/COPY/POST/DELETE リクエストまたは 5,500 回の GET/HEAD リクエストのリクエストレートをサポートします。このリクエストレートのリソースは、プレフィックスの作成時に自動的に割り当てられることはありません。その代わりに、プレフィックスのリクエストレートが徐々に増加すると、Amazon S3 は自動的にスケーリングして増加したリクエストレートを処理します。
注意: Amazon S3 は、プレフィックスを作成しても追加のリソースを割り当てません。その代わりに、Amazon S3 はリクエストパターンに基づいてスケーリングします。レート制限寸前の高いリクエストレートでリクエストを行っていると、S3 は 503 エラーを返します。リクエストレートを維持して、エクスポネンシャルバックオフを使用したリトライを実装する必要があります。そうすることで、Amazon S3 がリクエストパターンを監視し、バックエンドでスケーリングしてリクエストレートを処理する時間ができます。
プレフィックス内のオブジェクトのリクエストレートが急上昇した場合は、Amazon S3 が「503 Slow Down」(503 速度低下) エラーを返す可能性があります。このエラーは、S3 がバックグラウンドでスケーリングを行って、増加したリクエストレートを処理する間に返されます。これらのエラーを回避するには、リクエストレートを徐々に増加させるようにアプリケーションを設定してください。その後、エクスポネンシャルバックオフアルゴリズムを使用して、失敗したリクエストを再試行します。
サポートされているリクエストレートを超過する場合は、オブジェクトとリクエストを複数のプレフィックスに分散することがベストプラクティスです。
注意: Developer、Business、または Enterprise サポートプランをご契約の場合は、503 エラーに関するテクニカルサポートケースを開始することができますが、まずベストプラクティスに従っていることを確認し、失敗したリクエストのリクエスト ID を取得してください。