かべぎわブログ

技術的なことについてかけたらいいな…

ALBでターゲットが全てunhealthyとなったときの動き

ALBでの動作

ALBでは対象のターゲットがヘルスチェックでunhealthyとなっても通信がターゲットに対して行われます。
そして、ALBでは正常なターゲットが含まれているAZがない場合、すべてのターゲットにリクエストをルーティングします。

おそらくフェイルオープンのような思想で設計されているのだと思います。

なにか障害が発生した際に全面断にするような運用をしたい場合には、セキュリティグループで拒否したり、待受ポート番号を変更したりなど、バックエンドインスタンス側に手を入れる必要があるかと思います。

参考:CLBでの動作

CLBの場合はヘルスチェックに失敗したインスタンスにリクエストをルーティングは行われない仕様で、動作に違いがありますので注意が必要です。

ですので全面断をかんたんに実装したい場合にはCLBのほうが適しているかもしれません。