Elastic Load Balancing
クラシックロードバランサー

Classic Load Balancer のアイドル接続のタイムアウトを設定する

クライアントがClassic Load Balancerを通じて行うリクエストごとに、ロードバランサーは 2 つの接続を維持します。1 つはクライアントとの接続で、もう 1 つは登録した EC2 インスタンスとの接続です。ロードバランサーは、各接続で、指定された期間に接続でデータが送信されない場合にトリガーされるアイドルタイムアウトを管理します。アイドルタイムアウトが経過するまでデータが送受信されなかった場合、ロードバランサーは接続を閉じます。

デフォルトでは、Elastic Load Balancing は両方の接続についてアイドルタイムアウトを 60 秒に設定しています。したがって、リクエストが転送中にインスタンスが少なくとも 60 秒ごとにデータを送信しない場合、ロードバランサーは接続を閉じることができます。ファイルのアップロードなどの長いオペレーションで、完了までの時間を確保するため、各アイドルタイムアウト期間が経過するまでに少なくても 1 バイトのデータを送信し、必要に応じてアイドルタイムアウトの長さを増やします。

HTTP および HTTPS リスナーを使用する場合は、インスタンスで HTTP キープアライブのオプションを有効にすることをお勧めします。インスタンスのウェブサーバー設定で キープアライブを有効にできます。キープアライブを有効にすると、ロードバランサーがインスタンスへの接続を再利用できるようになり、CPU 使用率が削減されます。ロードバランサーがインスタンスへの接続を確実に閉じるようにするには、HTTP キープアライブ時間の値をロードバランサーのアイドルタイムアウト設定よりも大きい値に設定する必要があります。

TCP キープアライブのプローブはペイロードのデータを送信しないため、ロードバランサーが接続を終了する妨げにはならないことに注意してください。

コンソールを使用してアイドルタイムアウトを設定する

次の手順に従って、ロードバランサーのアイドルタイムアウトを設定します。

ロードバランサーのアイドルタイムアウトを設定するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。

  3. ロードバランサーを選択します。

  4. [Description] タブで、[Edit idle timeout] を選択します。

  5. [Configure Connection Settings] ページに、[Idle timeout] の値を入力します。アイドルタイムアウトの範囲は 1~4,000 秒です。

  6. [Save] を選択します。

AWS CLI を使用してアイドルタイムアウトを設定する

次の modify-load-balancer-attributes コマンドを使用して、ロードバランサーのアイドルタイムアウトを設定します。

aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes "{\"ConnectionSettings\":{\"IdleTimeout\":30}}"

以下に、応答の例を示します。

{ "LoadBalancerAttributes": { "ConnectionSettings": { "IdleTimeout": 30 } }, "LoadBalancerName": "my-loadbalancer" }