アーカイブ記事:AWSの用語や挙動は、2019年の公開当時のものです。
AWSのApplication Load Balancer(ALB)とAuto Scalingグループを使うときの、小さいけれど大事なポイントです。
既定では、Auto ScalingグループはEC2ヘルスチェックを使います。インスタンスとOSが動いていれば、正常と判断します。一方ALBでは、自分で定義した別のチェックを使います。通常はHTTPまたはHTTPSでリソースを取得し、200などの成功ステータスを期待します。
サイトが落ち、EC2が200を返さなくなったらどうなるでしょう。ロードバランサーは対象を異常と判断し、接続をドレインします。本来はAuto Scalingグループに置き換えてほしいところですが、EC2チェックが通っている限り置き換えられません。正常なターゲットがなくなり、サイトにアクセスできない状態が続く可能性があります。
対策は、ALBの背後で動くAuto ScalingグループにELBヘルスチェックを使うよう設定することです。


クラウド / システム