fbpx

SoftLayerのGlobal Server Load Balancing(2/3):Local Load Balancing編 #softlayer

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

今回の記事では、NetScalerGlobal Server Load Balancing(GSLB:広域負荷分散、以下GSLB)のローカルロードバランシングの設定を解説します。
GSLBとして機能するためには、まず各拠点のNetScalerがローカルロードバランサーとして機能すべきです。

NetScalerのネットワーク構成

SoftLayer上でNetScalerをオーダした場合、最低限のネットワーク構成(Gateway及びNSIP、SNIP)がプロビジョニングされている状態です。

Local-lb-1

VIP(Virtual IP)

VIP は、クライアントが接続するパブリックIPアドレスです。

NSIP(Net Scaler IP)

NSIPは、NetScaler自体のIPアドレスであり、主に管理用のブライベートIPアドレスです。

SNIP(Subnet IP)

SNIPは、NetScaler がバックエンドのサーバがあるサブネットとコミュニケーションを行うためのパブリックIPアドレスです。

基本環境設定

ロードバランサーの基本設定及びロードバランサーの設定は、GSLBの拠点にある全てのNetScalerで同様な設定が必要です。とりあえず、片方のNetScalerから行うが、同時並行で行うかは特に問題になりません。

[Java Applet could not be loaded対応]

NetScalerのマネジメントコンソール操作中で、「Java Applet could not be loaded」のようなメッセージが出て何回リトライしても、先に進まないケースがあります。これはJava Java Plug-in(1.7_xx)のセキュリティ上の脆弱性の問題からブラウザがJava Appletの使用をブロックしてしまっているからです。「Java Applet could not be loaded」で検索してみると、様々な対応策が紹介されています。しかし、どれも完全ではないのが現状です。SoftLayerのサポートからも解決策というよりアドバイスが返ってくるだけでした。

Local-lb-2

ここでは、SoftLayerのサポートからの返答やWebで見つけた対応策をミックスした解決策を紹介します。

参考までに検証環境は、次の通りです。

  • Windows 7 Professional SP1
  • Java 1.7._67
  • Firefox 31.0(SoftLayer使用時)
  • IE 11.x(NetScaler使用時)

セキュリティレベルを落とす

Local-lb-3

Java Plug-inを無効にする

Local-lb-4

ブラウザをFirefoxからIEに変えてバージョンの自動更新を中止する

これは上記の2つの対応でもFirefoxでは効果がなかったためです。さらに自動更新で勝手に最新バージョンになるのを止めました。

Javaバージョンをダウングレードする

基本的にJava7は必要です。それで一度Java環境を消して初期バージョンをインストールし、自動更新を止めるというような苦肉の策を考えていましたが、幸いここまでしなくて済みました。

Setup Wizard開始

[NetScaler > System Information > Setup Wizard…]をクリックして下さい(Start in:configurationでログインした場合の初期画面)。

Local-lb-5

Network Config

SoftLayerでオーダしたNetScalerは最低限のネットワーク設定が行われています。ここでは特に設定は必要ありません。ただ、内容をメモしておいて下さい。

Local-lb-6

IP Address 10.110.42.199 NetScalerのIPアドレス。プライベートIPアドレス。
Netmask 255.255.255.192
Gateway 119.81.xxx.241
Hostname SLADC342860-1.SL342860.com NetScalerのホスト名
MIP/SNIP 既に1つのSNIPが構成されています。SNIPは、CLIからshow ns ip、GUIの[Nescaler>System>Network>IPs]から確認できます。

SNIPは、CLIからshow ns ipで確認できます。GUIのIPsからも確認できます。

Choose Application

そのままスキップして下さい。

Local-lb-7

Summary

[Finish]をクリックして下さい。

Local-lb-8

[Finish]をクリックすると、次のように3つのリンクが表示されます。

Local-lb-9

Manage License

NetScaler VPX提供のタイプによっては、Licenseをアップロードが必要ですが、SoftLayerでは必要ありません。

Configure Time Zone

タイムゾーンは、日本時刻にします。

Local-lb-10

Change Admin Password

NetScalerの管理者パスワードが変更できます。

Reboot

必要な設定が終了したら[Exit]をクリックして下さい。自動的にNetScalerのRebootが実行されます。

MBF (Mac Based Forwarding)変更

Configure modes

[NetScaler > System > Settings→Configure Mode]をクリックして下さい。

Local-lb-12

そして、次の3か所をチェックして下さい。

Local-lb-13

Configure basic features

次は、[NetScaler > System > Settings→Configure basic features]をクリックして下さい。
とりあえず、今回はデフォルトの構成で進めます。

Local-lb-14

では、ここまでの設定は、GSLBの拠点となる2つのNetScalerで同様に実行して下さい。

ロードバランシング設定

ロードバランシング設定フロー

ローカルロードバランシングの設定は次の順で行います。

Local-lb-15

事前準備

次のようにGSLBの拠点毎にサーバを起動して下さい。

Data Center Hong Kong/San Jose
Server Linux
Host Name hk-1.gsbl.cl-lab.net
hk-2.gsbl.cl-lab.net
js-1.gslb.cl-lab.net
js-2.gslb.cl-lab.net
WebServer Apache2 サービスを起動しておいて下さい。
service httpd start
/var/www/html/ index.html 各サーバ毎にindex.htmlファイルを作成し、ホスト名がわかるように記載して下さい。

<h1> Welcome! (ホスト名) </h1>

サーバ設定

[NetScaler > Traffic Management > Load Balancing→Server]をクリックして下さい。

Local-lb-16

そしてサーバ名とサーバのパブリックIPアドレスを設定して下さい(繰り返し2台)。

Local-lb-17

サーバを確認して下さい。サーバが起動中の場合、Enabledが「緑色」になります。

Local-lb-18

サービス設定

[NetScaler > Traffic Management > Load Balancing →Services]をクリックして下さい。サービス名を入力し、一致するサーバIPアドレスを設定して下さい(繰り返し2台)。

Local-lb-19

Webサービスの状態が「Up」になっているか確認して下さい。

Local-lb-20

仮想サーバ設定

[NetScaler > Traffic Management > Load Balancing →Virtual Servers]をクリックして下さい。
仮想サーバ名とIPアドレスを設定し下さい(VIP)。IPアドレスはオーダ時に獲得している4つのパブリックIPアドレスの1つを入力して下さい。

Local-lb-21

仮想サーバの設定を確認して下さい。「State/Effective State」が「Up」なっていることを確認して下さい。

Local-lb-22

なお、デフォルトのロードバランシングアルゴリズムは、LEASTCONNECTIONです。

Policy Base Route(PBR)設定

[NetScaler > System > Network >PBRs > Policy Based Routing (PBRs)]をクリックして下さい。

Local-lb-23

Next Hop 119.xxx.xxx.141 NetScalerのGateWay IPアドレス
Operation =
Source IP Low 119.xxx.xxx132 オーダしたパブリックIPアドレス
Source IP High 119.xxx.xxx.135 オーダしたパブリックIPアドレス
Source MAX 00:00:00:00:00:00

PBRの設定を確認して下さい。

Local-lb-24

PBRの適用

PBRは、別途の適用操作が必要です。
[NetScaler > System > Network > PBRs > Policy Based Routing (PBRs) →Action→ Apply]をクリックし、[Yes]をクリックして下さい。

Local-lb-25

では、ここまでローカルロードバランシングの設定は、一通り終了しました。もちろんここまで設定は、GSLBの拠点になる2つのデータセンターのNetScalerで同様な設定が必要です。

ローカルロードバランシングの確認

では、ブラウザからVIPに接続してみましょう。次のような回答が返ってくるはずです。

Local-lb-26

Local-lb-27

Jan NoseのVIPにも接続してみて下さい。

まとめ

今回の記事では、GSLBの拠点となる複数のNetScalerに対してIPアドレスベースのローカルロードバランシングの設定を行って見ました。次回は、いよいよGSLBの設定です。楽しみにして下さい。

関連記事


SoftLayerのGlobal Server Load Balancing(1/3):デバイスオーダ編
SoftLayerのGlobal Server Load Balancing(3/3):GSLB編

Author

モダンアーキテクチャー基盤のソリューションアーキテクトとして活動しています。

[著書]
・Amazon Cloudテクニカルガイド―EC2/S3からVPCまで徹底解析
・Amazon Elastic MapReduceテクニカルガイド ―クラウド型Hadoopで実現する大規模分散処理
・Cypherクエリー言語の事例で学ぶグラフデータベースNeo4j
・Neo4jを使うグラフ型データベース入門(共著)
・RDB技術者のためのNoSQLガイド(共著)

leeの記事一覧

新規CTA