Global Service Load Balancerの概要

かつてロードバランサーの構築はしたことがあるのですが、Global Serviceとつくロードバランサーの設計、構築は初めてです。
という事で、例にもれず今回も自学を兼ねたメモです。
Load Balancerとは
Loadとは負荷でBalancerはそのままバランスをとるものですね。日本語では負荷分散装置と言ったりします。
例えばWebシステムがあったとして、1台のWebサーバしかないと不安です。壊れたらサービス提供できないですし、処理量が増えてくると耐えられなくなりますし、メンテナンスの際はサービス提供できなくなります。
そんな時は2台や3台と台数を増やせば良いのですが、ただ単に例えば3台に増やしてしまうと、ユーザは3台のうちの1台に接続して、繋がらなくなったら別のサーバに接続し直さなければなりません。そんなことはやってられないのでLoad Balancerの出番です。
Load Balancerは「あたかも」1台のWebサーバとして稼働し、ユーザから受け取ったリクエストをその後ろにいるWebサーバに振り分けます。ユーザから見るとサーバは常に1台ですし、一方で実際のWebサーバは何台あっても良いので、これで先ほどの悩みは解消です。

Global Service Load Balancer (GSLB)
Load Balancerですが頭に「Global Service」とつくと少し構成が変わってきます。例えば先ほどのWebシステムは東京のデータセンタに構築したとしましょう。いくら冗長構成をとっても(縁起が悪いですが)東京が吹っ飛んだらサービス提供できなくなります。その対策として大阪のデータセンタにも同じWebシステムを構築するとします。
そうすると、地理的に離れているので、同じグローバルアドレスを使って東京と大阪に負荷分散させることが難しくなってきます。そこでGlobal Service Load Balancerの出番です。Global Service Load Balancerはこのように地理的に離れているシステム間でロードバランスをするために設計されたサービスです。
GSLBはオンプレかクラウドか
結論から言うと両方あります。オンプレの場合、同様の機器を東京と大阪のデータセンタに配置し、その機器間で同期します。ルータのKeepaliveを想像するとイメージしやすいです。
仕組み
仕組みは色々ありますが、DNSを使った仕組みが分かりやすいです。
ユーザはWebサイトにアクセスする際、FQDNをブラウザに打ちます。ユーザのPCはFQDNのIPアドレスを調べるべくDNSに問合せをし、DNSがIPアドレスをユーザに返します。
この仕組みを利用しており、DNSがIPアドレスを返す際に、割り振る先のIPアドレスを返します。DNSが割り振る先のサーバを決定する際には、死活状況はもちろん、負荷状況(CPU利用率、メモリ使用率、セッション数)や遅延値(レイテンシ)を参考にします。これがGSLBです。
