ELB での Classic Load Balancer のキャパシティーの問題のトラブルシューティングを教えてください。
最終更新日: 2022 年 9 月 15 日
Classic Load Balancer 向け Amazon CloudWatch メトリクス SurgeQueueLength の maximum 統計が増えました。クライアントが Classic Load Balancer に接続しようとすると、HTTP 503 Service Unavailable エラーまたは HTTP 504 Gateway Timeout エラーが表示されます。これらの Elastic Load Balancing のキャパシティーに関する問題のトラブルシューティングを教えてください。
簡単な説明
Classic Load Balancer メトリクス SurgeQueueLength は、Classic Load Balancer によってキューに入れられたリクエストの総数を測定します。SurgeQueueLength の maximum 統計の増加は、リクエストを受信したときと同じくらい速くバックエンドシステムが着信要求を処理できないことを示します。SurgeQueueLength メトリクスが高くなる原因としては、次のようなものがあります。
- Classic Load Balancer の背後にあり、すべての受信リクエストを処理できない、オーバーロードされた Amazon Elastic Compute Cloud (Amazon EC2) インスタンス
- 外部リソースのパフォーマンスの問題によるアプリケーションの依存関係の問題
- インスタンスの最大許容接続制限
リクエストが最大の SurgeQueueLength を超えると、SpilloverCount メトリクスは拒否されたリクエストの測定を開始します。最大 SurgeQueueLength 値は 1,024 です。
解決方法
- Classic Load Balancer で Auto Scaling グループを設定し、オンデマンドに基づいてインスタンスをスケーリングします。
- Classic Load Balancer をモニタリングするように CloudWatch を設定します。
- Classic Load Balancer の背後にあるインスタンスの詳細モニタリングをオンにし、CPUUtilization メトリクスをモニタリングします。特定のインスタンスの統計を取得することもできます。CPU 使用率が急増した場合、インスタンスは既存のリクエストを処理するため、新しいリクエストを受け入れられなくなります。インスタンスをスケールアウトするか、より処理能力の高いインスタンスタイプにスケールアップすることを検討してください。
- Classic Load Balancer の HTTP エラーをトラブルシューティングします。負荷関連の問題は通常、503 あるいは 504 の HTTP エラーを返します。
- Amazon EC2 インスタンスが Apache を実行している場合は、EC2 Linux インスタンスのメモリ不足エラーを防ぐために Apache ウェブサーバーのメモリ割り当てを調整するにはどうすればよいですか? を参照してください。
- 時間の経過とともに増加する通常のトラフィックに関する問題については、インスタンスの容量を増やすことを検討してください。