初級では入口を「案内係+警備員」と捉えました。中級では、LBの層の違い・ヘルスチェック・WAFを正確に見ます。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
これは何をする係?
入口は、複数の役割が重なった層です。
- ロードバランサ — トラフィックを複数のサーバへ分散。L4(IP/ポートで機械的に)と L7(HTTPの中身を見て賢く)がある
- リバースプロキシ — クライアントとサーバの間に立ち、SSL終端・振り分け・キャッシュを担う
- WAF — HTTPの中身を検査し、既知の攻撃パターン(インジェクション等)を遮断する
登場人物メモ:
- ※1 ヘルスチェック — 各サーバへ定期的に「生きてる?」を確認し、死んだ台を外す
- ※2 SSL終端 — 暗号化(TLS)の解除を入口でまとめて行い、内側は平文で楽をする
この部分をもっと深く(上級)
- L4 — IP/ポートで転送。NATモードや、戻りを直接返すDSR(Direct Server Return) で高速化
- L7 — HTTPを終端して解釈。パス/ヘッダ/Cookieでルーティング、リトライ、レート制限、圧縮、mTLS
- TLS終端 vs パススルー — 入口で解くか、内部まで暗号のまま運ぶか(セキュリティと可視性のトレードオフ)
やさしく言うと(初級)
人気店の入口を思い浮かべてください。案内係(※1 ロードバランサ) が「空いている席(サーバ)」へお客さんを通し、警備員(※2 WAF) があやしい人を止める。この2つがセットで働きます。
登場人物メモ:
- ※1 ロードバランサ(LB) — 来たお願いを、空いている複数のサーバへ振り分ける受付
- ※2 WAF — Webアプリの門番。攻撃っぽいリクエストを入口で弾く
仕事の流れ
- リクエスト到達。必要なら入口で SSL終端(TLSを解く)
- WAF がルール/シグネチャで不正リクエストを検査・遮断
- ロードバランサ が分散アルゴリズムで振り分け先を選ぶ(ラウンドロビン=順番に一台ずつ、最少接続=今つないでいる接続数が最も少ない台へ、など)
- ヘルスチェックで異常な台を除外し、生きている台にのみ渡す
アニメーション『振り分けアルゴリズムの3方式』を開く
この部分をもっと深く(上級)
- 分散アルゴリズム — ラウンドロビン/最少接続/重み付け/一貫ハッシュ(同じ利用者を同じ台へ寄せつつ偏りを抑える)
- ヘルスチェック — アクティブ(定期プローブ)とパッシブ(実トラフィックの失敗を観測)
- コネクションドレイン — 台を外すとき、進行中の接続を待ってから切る
- セッション親和性 — スティッキーは必要だが偏りの元。可能なら状態を外出しして不要にする
やさしく言うと(初級)
アニメーション『ロードバランサの振り分け』を開く
- ブラウザからのお願いが、まず入口に届く
- WAF があやしいリクエストでないか確認する(だめなら弾く)
- ロードバランサ が、いま空いているサーバを選んで渡す
- もしサーバが1台落ちていたら、そのサーバには回さない(生きている台に振る)
賢い振り分けと運用
- L4 vs L7 — L4は速く単純、L7は中身を見て柔軟(パスやホストで振り分け)。中身を見て中継するL7のLBは、実質リバースプロキシの一形態(SSL終端やキャッシュも同じ位置で担える)
- スティッキーセッション — 同じ利用者を同じ台へ固定。状態を持つ設計では必要だが、偏りの原因にも
- 段階リリース — 一部だけ新版に流す(カナリア)、切り替える(ブルーグリーン)
- DDoS緩和 — 大量アクセス攻撃を入口で吸収・遮断する前線でもある
この部分をもっと深く(上級)
- Anycast — 同じIPを各地に広告し、最寄りの入口へ導く(DNSに頼らない広域分散)
- 多段構成 — L4(広く速く)→ L7(賢く)の2段
- オートスケール連携 — バックエンドの増減にヘルスチェックが追随
- 前線の防御 — DDoS吸収、レート制限、WAFルール(アプリ層攻撃の遮断)
やさしく言うと(初級)
もしサーバが1台きりだったら——混雑すると全員が遅くなり、その1台が落ちたら全滅します。
入口があると、サーバを何台も並べて分担できます。混んできたら台数を増やし、落ちた台は外す。「1台に頼らない」ための仕組みです。
⚠️ うまくいかないとき
- ヘルスチェックの誤り — 生きている台を落ちていると誤判定して外す(設定が厳しすぎ)
- セッションの偏り — スティッキーで特定の台に集中
- WAFの誤検知/回避 — 正当な通信を弾く、または巧妙な攻撃をすり抜けられる
この部分をもっと深く(上級)
- サンダリングハード — 再起動直後などに全員が同じ台へ集中
- フラッピング — ヘルスチェックが上下し、台が出たり入ったり
- スティッキーの偏り — 特定の台に固定利用者が集中
- TLS終端の負荷 — 暗号処理が入口に集中(ハード支援・スケールで対処)
やさしく言うと(初級)
- 503(混んでいます) — 全部のサーバが手一杯。台数を増やして対応
- 正当なお願いまで弾く — WAFの設定が厳しすぎて誤って遮断(誤検知)
- 偏り — 特定のサーバにばかり振られてしまう(振り分け方の調整が要る)
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. L7(アプリケーション層)のロードバランサだからできることは?
問2. ロードバランサが、死んでいるサーバへリクエストを送らないために行うのは?
問3. 入口でまとめて行う「SSL終端」とは何をすること?
問4. 分散アルゴリズムの「最少接続」の説明として正しいのはどれ?
問5. WAFが担う役目はどれ?
問6. 「一部だけ新版に流して様子を見る」段階リリースの呼び方はどれ?
問7. クライアントとサーバの間に立ち、SSL終端・振り分け・キャッシュを担う中継役を何と呼ぶ?
問8. 新旧2系統を用意しておき、まるごと切り替える段階リリースの手法を何と呼ぶ?