ロードバランサーと CDN は何のために置きますか

ロードバランサーはサーバーの前で要求を何台かに振り分け、CDN は利用者の近くで写しを返す、と置き場所と役目を分けて答える問い。止まらない仕組みと速さの両方につなげます。

こう聞かれます

  • 「ロードバランサーと CDN の役目を、それぞれ説明してください」
  • 「アクセスが急に増えてサイトが落ちそうです。どんな手を打ちますか」(設計の考えを、困った場面から聞く形)
  • 「CDN を使うと、なぜ速くなるのですか」

面接官が見ている点

  • 2 つを「速くする物」でまとめず、どこに置き、何を減らすのかを分けて話せるか
  • 1 台が落ちても止まらない、という役目まで話せるか
  • 置いたことで新しく考える事 (セッションの置き場、古い写しが残る) に気づけるか

短い答え

  • ロードバランサーは、サーバーの前に置き、届いた要求を何台かのサーバーに振り分けます。1 台に負荷が偏らず、落ちたサーバーを外して残りで動かせます。
  • CDN は、世界の各地に置いたサーバーに画像や CSS などの写しを持たせ、利用者の近くから返します。遠くまで行かずに済むので速く、元のサーバーの負荷も減ります。
  • ロードバランサーは台数を増やして止まらなくする物、CDN は届く距離を縮めて元へ来る量を減らす物、と役目が違います。

少し詳しい答え

ロードバランサー

利用者からは 1 つの住所に見え、その後ろに同じアプリのサーバーが何台も並びます。

  • 振り分け順番に回す、今つながっている数が少ない所へ送る、などの決め方があります
  • 生き死にの確かめ (ヘルスチェック) 決まった URL を定期的に叩き、返事の無いサーバーには送らなくなります。1 台が落ちても、サービスは止まりません
  • 増やしやすさ混んできたらサーバーを足すだけで受けられる量が増えます

気をつけるのは、ログインのセッションを各サーバーのメモリーに置いていると、次の要求が別のサーバーへ行ったときに見つからないことです。セッションは共有の置き場に出し、どのサーバーでも同じ答えを返せるようにします (ステートレスにする)。

CDN

東京の利用者がアメリカのサーバーから画像を取ると、往復の距離のぶん待ちが増えます。CDN は近くの拠点が写しを持っているので、そこから返せます。写しが無いときだけ元のサーバーへ取りに行き、次からは拠点が返します。

  • 向くのは、誰に返しても同じ物 (画像、CSS、JavaScript、公開の頁)
  • 向かないのは、人ごとに違う物 (マイページ、注文の一覧)。写しを別の人に返すと、個人の情報が漏れます

元のサーバーを更新しても、拠点の写しが期限まで残ることがあります。ファイル名に版を付ける、写しを消す指示 (パージ) を出す、などで防ぎます。

作った物と結ぶなら、たとえば「ポートフォリオのサイトを CDN のある置き場で公開し、画像は長く持たせ、HTML は毎回確かめる設定にした」のように話します。

よくある間違い

  • 「CDN を置けば何でも速くなる」と言う速くなるのは写しを返せる物です。人ごとに違う API の応答は、毎回元のサーバーへ行きます
  • ロードバランサーを置けば落ちないと言うロードバランサー自体が 1 台なら、そこが止まると全部止まります。ロードバランサーも二重にします
  • サーバーを増やしてもセッションの置き場を変えない 振り分けの先が変わるたびに、ログインが切れたように見えます

深掘りの問い

  • 「同じ利用者を同じサーバーへ送り続ける方法 (スティッキーセッション) の弱点は」 そのサーバーが落ちると、その人のセッションも消える、偏りが出やすい、と答えます
  • 「CDN の写しを更新しても、古い頁が見える人がいます。なぜですか」拠点やブラウザが期限まで古い写しを持っているため。ファイル名の版やパージで防ぐ、と答えます
  • 「L4 と L7 のロードバランサーの違いは」 L4 は IP アドレスとポート番号で振り分け、L7 は URL やヘッダーなど HTTP の中身を見て振り分けられる、と答えます

確認日 2026年10月23日

技術面接問題の一覧へ戻る