AWSのロードバランサーであるElastic Load Balancerについて自分で調べたことのまとめ。
ELBの実態はEC2インスタンスと思われるが、ELBのエンドポイントをnslookupしてみると2つのIPアドレスが返ってくる。
ELBは負荷に応じてスケールアウト(台数が増える)やスケールアップ(処理速度が高いインスタンスに変更)されるが、期間限定サイトの公開直後などの急激な上昇(スパイクアクセス)が見込まれる場合はあらかじめスケールアップの準備をサポートに依頼することができる。
cookpad.comはELBだと思われるが、4つのインスタンスが用意されており、cookpadで4台でさばけているので通常のサイトであれば初期設定でも大丈夫。
ELBの配下のインスタンスは複数ぶら下げることができるが、どのインスタンスに振られても処理が継続できるような作りにしておくのが基本。いわゆるセッションを特定のインスタンスに振り分けるスティッキーセッションもELBの設定により可能だが、それだと該当インスタンスが障害になった時に一部ユーザーのセッションが失われてしまう。