入口(ロードバランサ/WAF)— 振り分ける係と、門番

中級の解説は準備中のため、中級の内容を表示しています。

概要 — まず全体をつかむ

初級では入口を「案内係+警備員」と捉えました。中級では、LBの層の違い・ヘルスチェック・WAFを正確に見ます。

詳細 — 1段階ずつ追う

これは何をする係?

入口は、複数の役割が重なった層です。

  • ロードバランサ — トラフィックを複数のサーバへ分散。L4(IP/ポートで機械的に)と L7(HTTPの中身を見て賢く)がある
  • リバースプロキシ — クライアントとサーバの間に立ち、SSL終端・振り分け・キャッシュを担う
  • WAF — HTTPの中身を検査し、既知の攻撃パターン(インジェクション等)を遮断する

登場人物メモ:

  • ※1 ヘルスチェック — 各サーバへ定期的に「生きてる?」を確認し、死んだ台を外す
  • ※2 SSL終端 — 暗号化(TLS)の解除を入口でまとめて行い、内側は平文で楽をする

仕事の流れ

  1. リクエスト到達。必要なら入口で SSL終端(TLSを解く)
  2. WAF がルール/シグネチャで不正リクエストを検査・遮断
  3. ロードバランサ が分散アルゴリズムで振り分け先を選ぶ(ラウンドロビン=順番に一台ずつ、最少接続=今つないでいる接続数が最も少ない台へ、など)
  4. ヘルスチェックで異常な台を除外し、生きている台にのみ渡す
アニメーション『振り分けアルゴリズムの3方式』を開く
振り分けアルゴリズムの3方式ラウンドロビン順番に一台ずつ要求 ①②③Web1Web2Web3順番に均等に回す最小接続空いている台へ新しい要求Web1接続5Web2接続2Web3接続8いま最も空いている台へハッシュ同じ人は同じ台利用者Ahash(利用者)で決定Web1Aの担当Web2Web3Bの担当同じ人は毎回同じ台=セッション維持

賢い振り分けと運用

  • L4 vs L7 — L4は速く単純、L7は中身を見て柔軟(パスやホストで振り分け)。中身を見て中継するL7のLBは、実質リバースプロキシの一形態(SSL終端やキャッシュも同じ位置で担える)
  • スティッキーセッション — 同じ利用者を同じ台へ固定。状態を持つ設計では必要だが、偏りの原因にも
  • 段階リリース — 一部だけ新版に流す(カナリア)、切り替える(ブルーグリーン)
  • DDoS緩和 — 大量アクセス攻撃を入口で吸収・遮断する前線でもある

⚠️ うまくいかないとき

  • ヘルスチェックの誤り — 生きている台を落ちていると誤判定して外す(設定が厳しすぎ)
  • セッションの偏り — スティッキーで特定の台に集中
  • WAFの誤検知/回避 — 正当な通信を弾く、または巧妙な攻撃をすり抜けられる

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. L7(アプリケーション層)のロードバランサだからできることは?

2. ロードバランサが、死んでいるサーバへリクエストを送らないために行うのは?

3. 入口でまとめて行う「SSL終端」とは何をすること?

4. 分散アルゴリズムの「最少接続」の説明として正しいのはどれ?

5. WAFが担う役目はどれ?

6. 「一部だけ新版に流して様子を見る」段階リリースの呼び方はどれ?

7. クライアントとサーバの間に立ち、SSL終端・振り分け・キャッシュを担う中継役を何と呼ぶ?

8. 新旧2系統を用意しておき、まるごと切り替える段階リリースの手法を何と呼ぶ?