みなさんも、ホームページ障害などで「アクセスが集中して表示できません」などのエラー表示がされるのを見たことがあるでしょう。
このように、サーバーアクセスが集中してシステムがダウンしたりしてしまうと、特に企業にとっては大きな損失になってしまいます。
こうした障害を防ぐための方法の一つが、ロードバランサーです。
ロードバランサーは、複数のサーバーにアクセスを振り分けることで、アクセスの集中を避け、システムの停止などの障害を防ぐことができる仕組みです。
今回は、このような仕組みを持つロードバランサーについて解説します。
Windows VPSならWinserver!
★丁寧な電話サポートで安心★
\2週間無料・全プランSSD搭載/
Winserverを無料で試す
目次
ロードバランサーとは
ロードバランサー(Load Balancer)は、負荷分散装置とも言われ、Webサーバーなどで外部のクライアントによるアクセスをうまく分散させて負荷が集中しないようにするための装置です。
Webサーバーなど多くの人がアクセスするシステムを運用していると、アクセスが集中してしまい、「サーバーが固まる」、「サーバーがシャットダウンする」といった障害が起こることがあります。
こうした障害は、提供サービスが停止してしまうことになり、特に企業にとっては大きな問題となります。
このような事態を防ぐために、複数のサーバーでアクセスを分散させることのできる仕組みがロードバランサーです。
ロードバランサーを設置することの多いWebサーバーについては、こちらの記事で詳しく解説しています。
2020.08.06
IISとは。MicrosoftのWebサーバーソフトを徹底解説!
IISは、Microsoftが提供しているWebサーバーサービスです。これまでIISは、サーバーで利用されるWindows Serv...
ロードバランサーの概要や仕組み
多数のアクセスをうまく分散させてサーバーに集中しないようにするのがロードバランサーの役割です。
ロードバランサーが、アクセスを分散させる概要や仕組みはどのようになっているのでしょうか。
ロードバランサーの概要
ロードバランサーは、一般的に下図のような配置をします。
このように、アクセスさせたいサーバー「ターゲットサーバー❶と❷」の手前にロードバランサーを設置することで負荷の分散を行います。
また、負荷分散と同じように大切な役割として「サーバーに障害が発生したときに、自動で検知して他のサーバーへ振り分ける」といったものもあります。
このように、ロードバランサーは「安定的にシステム運用をし、サービス提供を行う」ために、非常に有効な機能です。
ロードバランサーの仕組み
ロードバランサーは、複数のサーバーに負荷を振り分ける機能です。
具体的に、どのような仕組みで、こうした機能を実現しているのでしょうか。
後述するように種類は分かれますが、一般的なロードバランサーの負荷分散の仕組みは以下の通りです。
- クライアントからのアクセスがロードバランサーに向けて行われる
- ロードバランサーで負荷状況などに応じて通信を振り分ける
- ロードバランサーからの通信が各サーバーに届く
- 各サーバーからの返答がロードバランサーに届く
- ロードバランサーがクライアントに返答する
振り分け方としてはIPアドレスやポートによって振り分ける方法や、通信の内容によって振り分ける方法があります。
ロードバランサーの種類
ロードバランサーには大きく分けて2つの種類があります。
ここでは、その概要と使い分けについて解説します。
ロードバランサーの種類は2つ
ロードバランサーは、ここまで解説してきたように負荷を分散させる仕組みですが、大きく以下の2つの種類に分けられます。
- ラウンドロビン型
- リーストコネクション型
これらについてもう少し詳しくみていきましょう。
ラウンドロビン型
ラウンドロビン型は、複数のサーバーがある場合に、クライアントからのリクエストをすべてのサーバーに均等に分けて送ることで負荷分散を図る仕組みです。
例えば、以下の図で言うと、「リクエスト1はターゲットサーバー❶、リクエスト2はターゲットサーバー❷」といった感じです。
リーストコネクション型
リーストコネクション型は、複数のサーバーの中で、現在のアクセスが少ない(コネクション数が少ない)サーバーにリクエストを転送する方法です。
例えば、以下の図で言うと、「ターゲットサーバー❶のコネクション数が30、ターゲットサーバー❷のコネクション数が15なので、リクエストはサーバー❷に」といった感じです。
ロードバランサーを使う場合は、目的に合わせてこれら2つの方法を使い分けると良いでしょう。
ロードバランサーを使うメリットとは
多くのアクセスが集中するシステムで、ロードバランサーをつかうメリットにはどのような点があるのでしょうか。
ロードバランサーはなぜ使われるのか?
アクセスが集中するシステムでは、なぜロードバランサーが使われるのでしょうか。
まず、多くのアクセスが集中すると、当然ながら多くの情報を処理する必要が出てきます。
ここでまず取るべき対策は、「サーバースペックを上げること」です。
CPUをより速いものにし、メモリを増やすなどの対策を実施します。
しかし、「サーバースペックを上げること」にも限界があります。
この次に取るべき対策が「サーバーの数を増やすこと」です。
サーバーの数を増やすのであれば、複数のサーバーで処理を振り分ける仕組みが必要となります。
ロードバランサーは、この振り分けの仕組みです。
ロードバランサーのメリット
ロードバランサーを設置することで、どのようなメリットがあるのでしょうか。
具体的に考えてみましょう。
- 1つのサーバーに負荷が集中するのを防ぐ
適切に負荷を分散させることで一つのサーバーのアクセスが集中しないようにする。
- 負荷の集中によるサービス停止の防止
1つのサーバーにアクセスが集中し、サービスやサーバーが停止することを防ぐ。
- 故障等のサーバー障害の際のサービス停止の防止
ハードウェアの故障などが起こると、サーバーにアクセスできず、サービスが使えないことがある。
ロードバランサーを使うことで、故障したサーバーを自動で切り離すことができる。
このようにロードバランサーを使うことで、より安定したシステム運用を行うことが可能となります。
ロードバランサーはどのようなところで使われる?
ロードバランサーは、実際にどのようなところで使われているのでしょうか。
ロードバランサーは、外部からのアクセスを複数のサーバーに振り分ける負荷分散の仕組みです。
そのため、外部からのアクセスが想定される以下のような目的に利用されることが多いです。
- Webサーバー
- ECサイト
など
ロードバランサーとクラウドサービス
ロードバランサーには大きく分けて2種類あり、装置の設置が必要となるなど導入に対しては若干ハードルがあります。
しかし、そういった中で、クラウドサービスについてはかなり手軽に導入できるようにもなっています。
例えば、大手クラウドサービスのAWSでは、以下の3種類のロードバランサーが使えるようになっています。
2021.05.13
VPSとAWS(クラウドサービス)の違い。目的にあわせた上手な活用方法とは。
仮想技術を用いたサーバーサービス『VPS(Virtual Private Server)』と、AWS(Amazon Web Service)...
- Network Load Balancer(NLB)
高度なパフォーマンスが要求されるケースで使用
- Application Load Balancer(ALB)
HTTPやHTTPSなどWebアクセスにおける負荷分散
- Classic Load Balancer(CLB)
NLBやALB以前に提供されてきたもの
なお、これ以外にGWLB(Gateway Load Balancer)と呼ばれるセキュリティ機能なども備える新しいロードバランサーの提供も始まっています。
このようにクラウドサービス上では、従来のロードバランサーに加えてさまざまな機能を持つものが提供されています。
ロードバランサーとDNSラウンドロビンの違い
多くのアクセスを分散させて負荷を下げる負荷分散の仕組みには、DNSラウンドロビンというものもあります。
ロードバランサーとDNSラウンドロビンの違いはどのような点にあるのでしょうか。
DNSラウンドロビンとは
DNSラウンドロビンとは、どのようなものなのでしょうか。
DNSラウンドロビンを簡単に説明すると、「DNSに複数サーバー分のIPアドレスを登録し、リクエストを順々に流すもの」です。
これを図にすると、以下のようになります。
つまり、ロードバランサーのような特別な機器やシステムを設置せずに、直接DNS上でアクセスを分散させる仕組みです。
DNSについては、こちらの記事で詳しく解説しています。
2020.10.08
DNSとは。DNSサーバーとの違い、インターネットを支える仕組みを解説
みなさんが普段ブラウザを使ってWebサイトを閲覧するときは、URLを入力していますよね。しかし、本当はURLだけでは直接インターネッ...
ロードバランサーとDNSラウンドロビンの違い
ロードバランサーとDNSラウンドロビンとは、同じように負荷分散を行う仕組みです。
では、両者の違いはどのような点なのでしょうか。
ロードバランサー | DNSラウンドロビン | |
---|---|---|
機能 | 負荷分散 | 負荷分散 |
装置の追加 | 必要 | 不要 |
導入難易度 | 比較的高い | 低い |
導入コスト | 別途、装置の導入コストがかかる | コストが安く済む |
負荷分散効率 | 高い | 低い |
送信先の故障検知 | あり | なし |
これを見ると、DNSラウンドロビンは、以下のような特徴があることがわかります。
- 追加の装置が不要で安価に導入できる
→費用が安く抑えられる
- 負荷分散はあまり効率の高いものではない
→負荷状況などによらず単純に順番にしたがって振り分けるだけ
- 送信先のサーバーの故障検知機能はない
→故障を検知して振り分けから外すことはできない
このように、ロードバランサーと比べてDNSラウンドロビンは安価で手軽に導入できる反面、いくつかのデメリットもあります。
そのため、目的に合わせてしっかりと選択を行うことが大切です。
まとめ
ロードバランサーは、多数のアクセスをバランスよくサーバーに振り分けるための負荷分散を行う装置です。
今回解説したように、ロードバランサーを導入することは、以下のようなメリットがあります。
- 特定のサーバーに負荷が集中して、システムダウンなどが起こることを防ぐ
- 故障などによるサーバー障害が発生した際に、対象サーバーを切り離し、サービス提供に問題が起こらないようにする
負荷分散を行う方法には、DNSラウンドロビンというものもあります。予算や目的に合わせて適切な選択をすることが大切です。