サーバ/インフラを支える技術 第1章 サーバ/インフラ構築入門 冗長化/負荷分散の基本 その2

冗長化の基本続きです。

  • フェイルオーバー
    • 自動的に予備系に切り替わることでしたね
    • 仮想IP と IP アドレスの引き継ぎを利用
  • 障害の検出
    • 現用系で障害が発生したのを検出してIPアドレスの切り替えをする
    • ヘルスチェック
      • ICMP監視 - ICMP の echo を投げる。いわゆる「ping は通る」ことを確認する
      • ポート監視 - TCP の接続を投げる
      • サービス監視 - HTTP 等のリクエストを投げる。最も確実に障害を検知できる
    • Webサーバの障害監視はサービス監視で
    • ルータの障害監視はICMP監視で。つまり目的のWebサーバに対してICMPが届くことでルータが正常に動作していることを確認する。確認したいのは「Webサーバがインターネットと通信できるか」なので
      • ここでも「どこにどのような障害が発生するのか」をはっきりさせることが重要
  • 実例
    • ping でヘルスチェックして ip コマンドと send_arp で仮想IPを切り替えてる
    • send_arp は gratuitous ARP を使って、IP と MAC アドレスの対応の更新を通知する
  • 冗長化は予備機は通常時は処理をせずスタンバイしているだけ → もったいないから処理もしよう、というのが負荷分散

というわけで次は負荷分散の話です。
gratuitous ARP という仕組みや send_arp コマンドは初です。