メインコンテンツへスキップ
見出し画像

ロードバランサーとは?仕組みをわかりやすく解説|サーバが2台あるときの振り分け方法| vol.18

    この記事では、複数台のサーバーにアクセスを分散させる
    ロードバランサー(負荷分散装置)の基本的な仕組みを解説します。

    代表的な振り分けアルゴリズムや、
    判断に使う情報の深さによるL4・L7の違いを整理します。


    お疲れ様です。花冷です🌸

    前回(vol.17)で、長かった外の旅は終わりました。
    ここからは、目的地に着いてからの話です✨


    📍 今回のパケット旅の現在地

    画像

    【現在地】:4つ目のマス「LOAD BALANCER」。
    目的地の町に着いたパケットちゃんの前に、大きな受付が待っています📍


    ❓ サーバが2台あるとき、誰がどっちに配ってるの?

    規模の大きいシステムでは、同じ役割のサーバが複数台並んでいることがあります。1台では処理しきれないからですね。

    でも、考えてみてください。
    私たちがアクセスするとき、
    「じゃあ2号機でお願いします」なんて指定していません。 

    誰が、どっちに配っているのでしょうか。 

    その係が、今回の主役ロードバランサーです。
    名前のとおり、負荷(load)を釣り合わせる(balance)係ですね。


    🎫 配り方には、種類がある

    受付にはいくつかの配り方があります。代表的なのはこの3つ。

    • ラウンドロビン:1号機、2号機、1号機……と順番に配る

    • 最小コネクション数:いま抱えている接続が少ないサーバへ配る

    • 重み付け:性能の高いサーバに多めに配る

    いちばんよく使われるのがラウンドロビンです。
    理由は単純だからなんです✨

    順番に配るだけなら、受付自身が考えなくていい。
    受付が悩んで詰まったら本末転倒です。
    サーバの性能が揃っていれば、順番に配るだけで十分公平になります。

    最小コネクション方式の方がいいのでは?と感じると思いますが、
    これはこれでそのコネクション数を常に把握しないといけないので
    コストが生じることになるんです。

    ただし「ラウンドロビン=いつも完全に均等」ではありません。


    👀 どこまで開けて、判断するか

    ここで、この連載の流れを思い出してください。

    • vol.15 ファイアウォール:IPアドレスとポート番号だけ見て、通す・通さない

    • vol.17 プロキシ:中身を理解して、代わりに取りに行く

    ロードバランサーにも、同じ「見る深さ」の違いがあります。

    L4ロードバランサーは、IPアドレスとポート番号だけを見て振り分けます。中身は読まないので速い。電話交換手が、番号だけ見て回線を繋ぐイメージですね。

    L7ロードバランサーは、中身まで開けます。「このURLは画像用サーバへ」といった判断ができる賢い受付ですが、開封するぶん手間がかかります。

    大事なのは、L4だからL7の処理ができない、という意味ではないこと。違うのは、振り分けの判断にどこまでの情報を使うかだけなんですね。


    🌸 おわりに

    🔴ロードバランサー:複数のサーバへ通信を振り分ける受付
    🔴ラウンドロビン:順番に配るだけ。単純だからこそよく使われる
    🔴L4とL7:振り分けの判断に、どこまでの情報を使うかの違い

    「サーバを増やせば速くなる」と思われがちですが、
    増やしたサーバに仕事が届く仕組みがあって初めて成立します。

    さて、L7ロードバランサーは「中身を開けて読む」とお話ししました。
    でも、いまのWebはほとんど暗号化されていますよね。
    鍵のかかった荷物を、受付はどうやって開けているのでしょうか。 

    次回は、HTTPSとTLSの話を覗いていきます!

    今日もお疲れ様でした✨
    また次回の記事でお会いしましょう〜!


    ⭐次回の記事はこちら!

    ⭐マガジンはこちら!

    📩質問はこちらまでどうぞ!

    この記事が参加している募集

     
     

    花冷

     
     
    花冷(はなびえ)といいます。システムエンジニアです。 ”やりたいこと”の過程を赤裸々に記録しています。 ・開発ログ/学習ログ/メンターログ いつでも質問・依頼待ってます📩 ⭐現在、メンター経験を積みたいため、モニター募集中です!

    あなたへのおすすめ