Big-IPでsorry serverにredirectする

poolが全滅、あるいはconnectioin limitにひっかかった場合にsorryサーバにリダイレクトさせたい場合。

connection limit入れたい場合

sorryサーバにリダイレクトしたい時に接続数制限をする場合はPoolのconnection limitを設定する。

VirtualServerでConnectionLimitを入れると、
接続数overの場合に、L4のレベルで切断される(ブラウザで見ると真っ白のまま)のでNG。

方法1

http profileのFallback Hostにリダイレクト先を設定する。
Fallback on Error Codes はwebサーバからの応答で特定のエラーコードが返ってきた場合にもsorryサーバにリダイレクトさせたい場合に設定。
リダイレクト先は1種類で固定

方法2

(実は今までずっとこっちでやっていた)
iruleでpoolのactive memberの数を判定して、1以下の場合に
sorryサーバにリダイレクトするように設定する。

iruleなので書き方によってはsource ipやurlによって
リダイレクト先のsorryサーバを柔軟に設定できる。

when HTTP_REQUEST {
  if {[active_members [LB::server pool]] < 1 } {
    redirect to "http://sorry.example.com/"
  }
}