エンジニアブログ GSLB(広域負荷分散)とは?ロードバランサとの違いや特長、おすすめソリューションまで解説

インターネットは世界中がつながっており、どこからでもコンテンツを閲覧することができます。
しかし、ユーザーの体感品質を左右するレスポンスは、ユーザーとコンテンツサーバーの地理的な要因により、遠ければ遠いほどレスポンスタイムが遅くなり体感品質も低下します。
今回は、この問題を解決する手法の一つであるGSLB(広域負荷分散)について、ロードバランサとの違いや特長、おすすめソリューションまで深堀りします。

加藤 和樹

大規模エンタープライズのお客様へSD-WANの提案や導入を担当後、
現在はデータセンターネットワーク製品のプリセールスに従事。

1. GSLBとは

GSLBとは、「Global Server Load Balancing」の略称となり、日本語では「広域負荷分散」と呼ばれております。
その名の通り、GSLBはリージョンを跨いだデータセンター間で負荷分散をする際に用いられる機能となります。
GSLBの基本的な動作はDNSで応答するIPアドレスをコントロールすることでバランシングを実施します。
DNSへ複数のAレコードを設定した場合のラウンドロビンとは違い、GSLBでは後述する多くのロードバランシングアルゴリズムを使うことができます。
また、GSLBでは、サーバーの死活監視を行うこともできるため、データセンターの障害や災害時等には自動的にリージョン間をフェイルオーバーすることができ、BCP(Business Continuity Planning)対策や、DR(Disaster Recovery)対策にも有効です。

GSLB導入におけるメリットは下記の3つとなります。

1.データセンター間で負荷分散することができる
2.ユーザーに近いデータセンターへ通信させることができる
3.BCP/DR対策に有効である

2. GSLB動作概要

GSLBの基本的な構成は、ローカルDNSからリクエストされるDNSクエリに対して、GSLB装置で応答するIPアドレスをコントロールすることで広域負荷分散を実現します。

では、このDNSのやり取りを少し深堀りして行きたいと思います。
例えば、「www.nissho-ele.co.jp」に問い合わせを行ったとしましょう。
その場合は、下記の図のような流れでローカルDNSから問い合わせが行われます。
この図のフローの場合には、第3レベルの自社で管理しているDNSサーバーをGSLB装置にすることでGSLBを導入することができます。

about-gslb_03.png

3. GSLB独自のバランシングアルゴリズムとロードバランサとの違い

上記、DNSフロー図の通り、GSLBはコンテンツを提供するサーバーIPアドレスの応答を行います。
この応答するサーバーのIPアドレスをGSLBで設定したバランシングアルゴリズムにそって変更することで、異なるサーバー間の負荷分散を実現することができます。
例えば、Citrix ADCのGSLBでは、下記9つのバランシングアルゴリズムを用いることができます。

about-gslb_04.png



通常のロードバランサでも用いられるラウンドロビンや最小接続数(リーストコネクション)については、

下記の記事をご参照ください。

【初心者必見】ロードバランサを使うメリット



上記表に記載の通り、GSLBでは通常のロードバランサにはない、
「ラウンドトリップ時間(RTT)」や「静的な近接」と呼ばれるバランシングアルゴリズムが備わっています。

どちらのアルゴリズムもユーザーとの距離を把握するためのアルゴリズムとなります。
このアルゴリズムの用途として、例えば、動画などを配信するコンテンツ事業者は日本だけではなく、海外も含め複数のデータセンターを持っております。
コンテンツを提供する場合、ユーザーの体感品質を高めるため、ユーザーに近いデータセンターが選択される必要があります。
これを実現するバランシングアルゴリズムが「ラウンドトリップ時間(RTT)」や「静的な近接」となります。


下記が各バランシングアルゴリズムの仕組みと特長となります。


ラウンドトリップ時間(RTT)


ラウンドトリップ時間(RTT)では、GSLB装置からローカルDNSに対して、
ICMPやDNS、TCPを用いてラウンドトリップ時間(RTT)を計測し、ローカルDNSに近いデータセンターを算出します。
動作フローは下記のとおりです。

1.各データセンターのGSLB装置からローカルDNSに対して、ICMP→DNS→TCPの順でリクエストを行い、応答が帰ってきた場合はその情報をもとにRTTを算出します。
下記の図の場合、データセンターA<=>ローカルDNS : 30ms、データセンターB<=>ローカルDNS : 50ms
2.GSLB装置は、ローカルDNSとRTT値が低いデータセンターのサーバーIPアドレスをAレコードとして応答します。
下記の図の場合、データセンターAのサーバーIPアドレスを応答します。
3.クライアントは、応答があったデータセンターのサーバーIPアドレスに対して通信を行います。
下記の図の場合、データセンターAのサーバーIPアドレスに対して通信を行います。

about-gslb_05.png


静的な近接


静的な近接は、ローカルDNSのIPアドレスをGSLBに登録しているGeoIP情報をもとに位置を算出し、GSLBとユーザの距離を判定いたします。
静的な近接では、RTTを算出するパケットは存在しないため、
ICMP,DNS,TCPに応答しないローカルDNS環境に対しても使用することができます。
反面、昨今のIPv4の枯渇対策としてキャリア間などでIPv4アドレスの移転が行われるケースがあります。
この移転は、国内のキャリア間などだけではなく、国をまたいだ移転もございます。
このような場合は、Geo IP情報の定期的な更新を実施しないと間違った位置情報を算出していまい、意図しないデータセンターへ接続されるケースが発生してしまいます。


このユーザとの距離を用いたアルゴリズムは、グローバルでサービスを展開されているケースでは非常に優位な機能となります。
もちろん国内向けサービスなどでデータセンター間が離れていない場合などは、ラウンドロビンなどのロードバランシングアルゴリズムを用いて負荷分散に特化することも良いと考えられます。



■Geo IPとは
IPアドレス情報とロケーション情報をマッピングした情報です。

4. GSLB 導入方法

GSLBの導入方法は大きく分けて3種類存在します。

1.GSLBサービスの利用
2.DNSソフトウエアの利用
3.ロードバランサ(ハードウエア/ソフトウエア)の利用

GSLBサービスの利用

クラウド事業者では、GSLBをサービスとして展開しているケースがございます。
コンテンツ提供にクラウドを利用されている方は、
利用しているクラウド事業者のサービスを使うことで簡単にGSLBを導入することができるのでおすすめです。

DNSソフトウエアの利用

BINDやPower DNSなどのOSS DNSソフトウエアにおいても、Geo IPなどを用いてGSLB用途で利用することができます。
各ソフトウエアでサポートされる機能に差異がございますので詳細は各ドキュメントをご参照ください。
OSSソフトウエアのため自身で切り分けなどをできる上級者向けのGSLB導入方法となります。

ロードバランサ(ハードウエア/ソフトウエア)の利用

多くのロードバランサ製品でGSLBを利用することができます。
商用のロードバランサ製品ではサポートやドキュメントが充実しているため、
自社サイトへの利用や商用サービスを提供されている場合の導入におすすめです。

5. 日商エレクトロニクスがおすすめするGSLBソリューション

日商エレクトロニクスがおすすめするGSLBソリューションは、Citrix製ロードバランサであるCitrix ADCシリーズです。

Citrix ADCシリーズは、商用ロードバランサ製品のためドキュメントやサポートが充実しております。
機能面でも、本記事で解説した機能はすべて網羅しており、GSLBとロードバランサの併用動作も可能となっております。
これにより、データセンター間はGSLB機能で広域負荷分散を行い、データセンター内では通常のロードバランサとして負荷分散を単一のアプライアンスで行うことができます。
導入形態につきましても、ハードウエアからソフトウエア、マルチテナントなど幅広い形態をサポートしております。
詳細はCitrix ADCの歴史をご参照ください。

日商エレクトロニクスではご提案から導入、サポートまで一貫した対応が可能です。
もし気になる点やご不明な点がございましたらお気軽にお問い合わせください。

  • #ネットワーク・セキュリティ

エンジニアブログ

NELabに関するお問い合わせは、
こちらのフォームからご連絡ください。