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

Classic Load Balancer の Connection Draining を設定する

Classic Load Balancer が、既存の接続を開いたまま、登録解除中のインスタンスまたは異常の発生したインスタンスにリクエストを送信しないようにするには、Connection Draining を使用します。これにより、ロードバランサーは、登録解除中のインスタンスまたは異常の発生したインスタンスに対する未処理のリクエストを完了できます。

Connection Draining を有効にするとき、ロードバランサーがインスタンスの登録解除を報告するまで接続を保持する最大時間を指定できます。最大タイムアウト値は 1 ~ 3,600 秒の間で設定できます (デフォルトは 300 秒です)。最大制限時間に達すると、ロードバランサーは登録解除中のインスタンスへの接続を強制的に閉じます。

未処理のリクエストの処理中、ロードバランサーは登録解除中のインスタンスの状態を InService: Instance deregistration currently in progress と報告します。登録解除中のインスタンスが未処理のすべてのリクエストの処理を完了するか、最大制限時間に達すると、ロードバランサーは、インスタンスの状態を OutOfService: Instance is not currently registered with the LoadBalancer と報告します。

インスタンスで異常が発生すると、ロードバランサーはインスタンスの状態を OutOfService と報告します。異常の発生したインスタンスに対する未処理のリクエストがある場合、それらは完了されます。異常の発生したインスタンスへの接続には、最大制限時間は適用されません。

インスタンスが Auto Scaling グループに属しており、ロードバランサーに対して Connection Draining が有効になっている場合、Auto Scaling は、未処理のリクエストが完了するまで、または最大制限時間に達するまで待ってから、スケーリングイベントまたはヘルスチェック交換によってインスタンスを終了します。

ロードバランサーが登録解除中のインスタンスまたは異常の発生したインスタンスへの接続をただちに閉じるように設定するには、Connection Draining を無効にします。Connection Draining が無効になっていると、登録解除中のインスタンスまたは異常の発生したインスタンスに対する未処理のリクエストは完了されません。

Connection Drainingの有効化

Connection Draining は、ロードバランサーに対していつでも有効にできます。

コンソールを使用して Connection Draining を有効にするには

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

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

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

  4. [Instances] タブの [Connection Draining] で、[(Edit)] を選択します。

  5. [Configure Connection Draining] ページで、[Enable Connection Draining] を選択します。

  6. (オプション) [Timeout] に、1~3,600 秒の値を入力します。

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

AWS CLI を使用して Connection Draining を有効にするには

次の modify-load-balancer-attributes コマンドを使用します。

aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes "{\"ConnectionDraining\":{\"Enabled\":true,\"Timeout\":300}}"

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

{ "LoadBalancerAttributes": { "ConnectionDraining": { "Enabled": true, "Timeout": 300 } }, "LoadBalancerName": "my-loadbalancer" }

Connection Drainingの無効化

Connection Draining は、ロードバランサーに対していつでも無効にできます。

コンソールを使用して Connection Draining を無効にするには

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

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

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

  4. [Instances] タブの [Connection Draining] で、[(Edit)] を選択します。

  5. [Configure Connection Draining] ページで、[Enable Connection Draining] をオフにします。

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

AWS CLI を使用して Connection Draining を無効にするには

次の modify-load-balancer-attributes コマンドを使用します。

aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes "{\"ConnectionDraining\":{\"Enabled\":false}}"

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

{ "LoadBalancerAttributes": { "ConnectionDraining": { "Enabled": false, "Timeout": 300 } }, "LoadBalancerName": "my-loadbalancer" }