ネットワークエンジニアのITブログ

長らくネットワークで生活してきましたが、ここ数年クラウドとサーバー系に触れる機会が増えて、日々成長しています。最近のお気に入りはNSXALBとGoogle Cloud。

NSXALBによるGSLB検証を実施してみた

前回までSLB、GSLBのサイト構成の準備を行ってきましたが、最後にApplicationsからGSLB Servicesを設定することで、GSLBの設定が完了するので、最後の設定と動作確認をしていきます。

構築範囲

GSLB Serviceの作成

GSLB Serivcesは、[Applications]-[GSLB Services]で右端になる[CREATE]から[Advanced Setup]をクリックします。

GSLBを実施したいFQDN、Health Monitor方式、Groups Load Balancing Algorithmなどを設定していきます。
FQDN:www.gslb.home.local
Health Monitor:System-GSLB-Ping(VSの健全性チェックを任意の方式から選択)
Groups Load Balancing Algorithm:Priority-based(位置情報か優先度かを選択)

GSLB Poolsで[Add Pool]をクリックします。

ここでは、GSLBにより負荷分散するサイト2つのサイトを定義していきます。
まずはregion01aの定義です。
Name:gslb-pool-region01a
Priority:10(通常Region01aを優先させるためregion01bよりも大きい値を指定)
Pool Members Load Balancing Algorithm:Round Robin

Pool Memberでは、region01a内にある負荷分散対象のVSを指定します。
GSLB Pool:Virtual Service
Site Cluster Controller:region01a
Virtual Service:HTTP_VS_onearm
上記以外はデフォルトのままとします。

同様にregion01bのGSLB Poolを定義します。

Name:gslb-pool-region01a
Priority:5(Region01aよりも小さい値を指定を指定)
Pool Members Load Balancing Algorithm:Round Robin
GSLB Pool:Virtual Service
Site Cluster Controller:region01b
Virtual Service:HTTP_VS_onearm

設定が完了すると以下のようにPriorityが異なるPoolが2つできるので[SAVE]をクリックします。

設定後、ヘルスチェックが正常に完了すると以下のようにGSLB Servicesの一覧に表示されます。2つのサイトでHealth Monitor Proxyを使用しているため、region01aではregion01bのサイトステータスが表示されていません。region01bもregion01aのステータスが表示されていません。

Health Monitor Proxyを使用しないとDNS VSからすべてのサイト跨ぎですべてのVSにヘルスチェックをかけるので以下のような表示となります。

GSLBの動作確認

GSLB Serivcesのステータスが正常であれば、GSLBの設定は完了となるので早速動作確認をしてみます。

接続元クライアントの参照先DNSサーバーは192.168.1.34となっており、DNSサーバーでは条件付きフォワードの設定が完了しているものとします。

クライアントからhttp://www.homevm.localにアクセスすると、DNSサーバーのCNAMEによりhttp://www.glsb.home.localに変換され、条件付きフォワードにより、192.168.7.53へ転送されます。

その後、region01aのPriorityは10、region01bのPriorityは5なので、正常時は常にregion01aのHTTP_VS_onearmに負荷分散されます。うまくいけば、以下のようにHTTP_VS_onearmにより2台のサーバーへ負荷分散されます。

この状態で、region01aのHTTP_VS_onearmをDisableにすると負荷分散できなくなるため、region01bのHTTP_VS_onearmに負荷分散をします。

以下のようにHTTP_VS_onearmによりregion01bの2台のサーバーへ負荷分散されれば成功です。

この時にGSLB Servicesの状態を確認すると、region01aのGSLB Poolは[Not Available]となっています。

以上で、GSLBの設定および動作検証は完了です。