ロードバランサーの役割4つ|仕組みやDNSラウンドロビンとの違いとは?

ロードバランサーの役割4つ|仕組みやDNSラウンドロビンとの違いとは?のアイキャッチイメージ

ロードバランサーとは?


サーバへのアクセスが集中すると負荷がかかります。サーバに負荷がかかると、処理が重くなり、サーバからユーザーに対してのレスポンスが遅くなってしまいます。そのような状況を避けるために、サーバにかかる負荷を分散して、サーバへアクセスしているユーザーに対して安定したレスポンスをするロードバランサーが必要となります。

ITにおける負荷とは?

サーバにアクセスが集中すると、処理の数が多くなり、反応が遅くなってしまうことがあります。処理が多く、またその処理に時間がかかっている状態がサーバに負荷がかかっている状態となります。また、サーバの故障が原因でも負荷がかかることもあります。負荷がかかっているサーバは反応に時間がかかり、Webサイトであればアクセスが集中することで、そのページを開くまでに時間がかかったりするようになります。

ロードバランサーの種類

ロードバランサーはTwo-Arm(in-line)とOne-Armの2つの種類に分けることができます。これらの種類はロードバランサーの機器の構成位置によって異なります。また、それぞれの得られるメリットとデメリットが異なるため、ロードバランサーのことを理解するためにはこれらの違いも把握しておく必要があります。

Two-Arm(inline)

Two-Arm(inline)のロードバランサーは、先に述べていたユーザーとサーバの間に設置するタイプのロードバランサーです。このタイプのロードバランサーはユーザーとサーバの間に立ち、ユーザーからのアクセスを適したサーバに処理を振り分けるための窓口になるというわかりやすい構成となっています。ただし、このタイプのロードバランサーは、それ自体を冗長化していないと障害対応ができません。

One-Arm

One-Armはサーバ類の機器に1つ機器を追加するイメージで、並列に繋ぎます。そのため、導入が比較的簡単です。One-Armでの流れは、ユーザーからのアクセスはロードバランサーを通り、サーバへ送られますが、返りの反応はサーバからユーザーへ向かいます。ただし、通信経路が把握しづらいというデメリットはあります。

ロードバランサーの役割4つ


ロードバランサーとはサーバやネットワークに関する装置です。サーバへアクセスが集中してサーバに負担がかかりその結果、処理が重くなってしまいサーバからユーザーに対してのレスポンスが遅くなってしまう。その状況を避けるためにサーバにかかる負担を分散するのがロードバランサーの役割ということを初心者でもわかるように、わかりやすく説明してきました。ここからはロードバランサーの役割について4つに分けて説明します。

1:サーバのメンテナンス

サーバは常時稼働していないといけないため、メンテナンスのためにサーバを止めることはできません。もし、サーバを止める場合には事前にユーザーに対して、サーバが使えなくなる時間を伝え、速やかにメンテナンスを終えなければなりません。しかし、ロードバランサーの設定によって、メンテナンス中のサーバに振り分けがいかないようにすることで、サーバを止めることなく、メンテナンスを行うことができます。

2:故障したサーバにパケットを送らない

1台のサーバで運用をしていると、故障やメンテナンスの際には必ずサーバを止めることになります。しかし、ロードバランサーによって複数のサーバで負荷の分散をさせていれば、設定によってメンテナンス中のサーバに処理の振り分けがこないようにすることができます。もしサーバの1台が故障しても、復旧するまでは処理の振り分けがこないようにできるため、ユーザーは継続してアクセスが続けられます。

3:ページの表示速度を保つ

サーバはアクセスが集中してしまうと、負荷がかかってしまって処理が遅くなってしまいます。そのような状況を避けるために、サーバを複数台用意して、ロードバランサーによって処理を振り分けることで、1台にかかるサーバへの負荷を軽減することができます。Webサイトであれば、アクセスが集中して、サーバに負荷がかかってページの表示が遅くなってしまうことを防げるようになります。

4:運用規模の拡大

ロードバランサーは2027年まで12.9%のCAGRで目覚ましい成長が見込まれています。CAGR(年平均成長率)とは、複数年にわたる成長率から1年のあたり幾何平均を求めたものです。クラウド負荷分散サービスやサーバ仮想化の急増は、仮想化アプリケーションサーバの新規作成をトリガーする機能があります。そのため、政府による新しいデジタルトランスフォーメーションイニシアチブの投資の急増や、発展途上国のマシンツーマシン接続の増加に伴うデータセンタートラフィックの増加がロードバランサーの市場の成長を後押しする主な要因になっています。

ロードバランサーの仕組み3つ


ロードバランサーを設置することで、サーバにかかる負荷を分散することができます。このようなことができるのは、ロードバランサーが持ついくつかの仕組みがあるためです。

1:パケットを転送する

ロードバランサーはユーザーとサーバの間に設置されます。まず、多くのユーザーからのアクセスをロードバランサーが受け取ります。アクセスを受けたロードバランサーはそのアクセスを適切なサーバに対して転送を行います。ロードバランサーにもIPアドレスが設定されますが、そのロードバランサーに設定されたIPアドレスのことを仮想IPアドレスと言います。

2:パケットをサーバに振り分ける

ロードバランサーは多くのユーザーからのアクセスの窓口となり、配下にある複数のサーバの中から、適切なサーバへとアクセスを転送します。1台のサーバにアクセスを集中させず、処理を振り分けることで、サーバにかかる負荷を軽減することができます。また、本来はサーバごとに必要なSSL証明書をロードバランサーがアクセスの窓口となることで1本化することができ、暗号化通信の負荷も軽減できます。

3:パーシステンス

ロードバランサーを設置すれば、ユーザーからのアクセスを適したサーバに振り分けることができます。しかし、サイト上での決済処理のように、同じサーバで処理をしなければいけない場合もあります。そのような場合、ロードバランサーには通信の継続性があるので、処理に支障が出ないように同じサーバに処理を振り分け続けてくれます。この機能をパーシステンスと言います。

ロードバランサーとDNSラウンドロビンとの違い3つ


ロードバランサーを設置することでサーバへの負荷を分散させることができます。このサーバへの負荷を分散させる方法は、ロードバランサーを使う以外にも、DNSラウンドロビンを使うことで可能となります。しかし、ロードバランサーとDNSラウンドロビンではいくつかの相違点があります。

1:障害が起きたサーバへの検知ができない

ロードバランサーではサーバにトラブルがあると、それを検知して、問題のあるサーバへは処理を転送しないようにすることが可能です。しかし、DNSラウンドロビンはサーバ側のトラブルを基本的に検知することができません。そのため、トラブルの起こっているサーバに対して処理を流してしまい、ユーザー側で不具合が起こってしまうことがあります。

2:効率的ではない

ロードバランサーはユーザーからのアクセスを配下にある複数台のサーバの中から適切なサーバを選んで処理を転送してくれます。しかし、DNSラウンドロビンでは、ユーザーのアクセスがあるたびに、異なるサーバに繋げていくだけです。そのため、サーバへの負荷は分散をすることができますが、ロードバランサーほどの効率はありません。

3:通信の継続性がない

ロードバランサーにはパーシステンスの機能があるため、同じサーバ上で処理を行わなければいけない場合にも対応ができます。しかし、DNSラウンドロビンにはこのような通信の継続性がなく、アクセスのたびに異なるサーバに繋いでしまいます。そのため、DNSラウンドロビンではサイト上での決済をするような処理には不向きです。

ロードバランサーを活用するときの注意点とは


ロードバランサーは最初に機器を設置する必要があるため、導入費用が高額になってしまい投資費用が用意できなければ導入は難しくなってしまいますが、クラウドを利用すれば比較的安価に導入する事ができます。ロードバランサーは構造が複雑なため、運用や保守には専門的な技術や知識を持った人が必要になるがいない場合は新たに採用や教育しなければならなくなり想定していたコストを上回ることもあります。

ロードバランサーについて理解しよう


サーバはアクセスが集中してしまうと負荷がかかってしまい、レスポンスに時間がかかってしまいます。そのため、Webサイトであればページが表示されるまでに時間がかかってしまうようになってしまいます。そのような状況を避けるためにも、ロードバランサーを設置してサーバへの負荷を分散させましょう。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。