03/13
木曜日

ロードバランサ

[更新: 2014年8月21日]

 
アプライアンス「ロードバランサ」についての全般的な情報です。

1. 概要

「ロードバランサ」機能は、仮想的なアプライアンス機器として動作するロードバランサを提供するサービスです。コントロールパネルからの操作で、クラウド上に構築済みの環境へ素早く容易にロードバランシング環境を導入することが可能となります。
処理性能ごとに「標準プラン」と「ハイスペックプラン」、さらに冗長化の有無で「シングル構成」と「冗長構成」が選択可能です。

● 料金

プラン
月額料金(税込)
日割料金(税込)
時間割料金(税込)
標準プラン シングル構成 2,571円 129円 12円
冗長構成 5,142円 259円 25円
ハイスペックプラン シングル構成 4,860円 243円 24円
冗長構成 9,720円 486円 48円

● 仕様

「ロードバランサ」機能で提供するロードバランサの仕様は以下の通りです。

全般的な仕様

構成 DSR(Direct Server Return)方式
ロードバランサの冗長化 VRRPを用いた冗長化に対応
仮想IPアドレス(VIP)、ポート番号 最大4個まで
設定可能な実サーバ数 最大40台
性能目安(最大値) 標準プラン 送信トラフィック: 100Mbps
受信トラフィック: 100Mbps
セッション数: 4,000セッション
毎秒接続数: 100cps程度
ハイスペックプラン 送信トラフィック: 1Gbps
受信トラフィック: 500Mbps
セッション数: 10,000セッション
毎秒接続数: 3,000cps程度

※いずれも最大値の目安となります。必ずしもこの性能値を保証するものではありません。

 

仮想IPアドレス登録

仮想IPアドレス追加画面では以下の項目が設定可能です。

VIPアドレス ロードバランサが受け持つ仮想IPアドレスを設定します。
ポート番号 仮想IPアドレスで着信を受けるポート番号を設定します。
設定値は1~65535の整数値となります。
チェック間隔(秒) 実サーバの死活監視を実行する間隔を設定します。
設定値は10以上の整数値となります。

※設定の追加、変更後は「反映」ボタンをクリックし、設定内容をロードバランサに反映する操作が必要です

 

実サーバ登録

仮想IPアドレスごとのロードバランシング先となる実サーバの追加画面では以下の項目が設定可能です。

IPアドレス ロードバランシング先のサーバのIPアドレスを設定します。
監視方法 IPアドレス、ポート番号で指定したロードバランシング先のサーバの監視方法を「http」、「https」、「ping」、「tcp」より設定します。
「http」、「https」を指定すると追加設定項目が表示され、監視対象のパスと正常時に返答されるレスポンスコードの設定ができます。

※設定の追加、変更後は「反映」ボタンをクリックし、設定内容をロードバランサに反映する操作が必要です

● その他

・ロードバランサは「ルータ+スイッチ」または「スイッチ」を使用して構築されたネットワーク内にのみ設置ができます。共用セグメントへの設置はできません。
・冗長構成の冗長度は2冗長となります。
・IPv6には非対応です。

 

2. 構成例

「ルータ+スイッチ」と、「スイッチ」それぞれで構成されたネットワークへロードバランサを導入する例です。
さくらのクラウドで提供するロードバランサはDSR方式で動作するため、負荷分散させたいサーバ群が接続されるスイッチに並列して追加接続する構成となります。

● ルータ+スイッチを組み合わせたWebサーバの負荷分散

ルータ+スイッチ機能で割り当てられたIPアドレスブロックが設定されている複数のWebサーバを、冗長構成のロードバランサで負荷分散する場合の例です。

 
lb1

 
想定するネットワークの情報は次の通りです。

 

IPアドレス帯域 203.0.113.0/28
ゲートウェイ 203.0.113.1
冗長構成ロードバランサ1(※1) 203.0.113.4
冗長構成ロードバランサ2(※2) 203.0.113.5
Webサーバ1 203.0.113.6
Webサーバ2 203.0.113.7
ロードバランサ仮想IPアドレス 203.0.113.8

※1: コントロールパネルのロードバランサ情報画面では「IPv4アドレス #1」と表記
※2: コントロールパネルのロードバランサ情報画面では「IPv4アドレス #2」と表記

● スイッチを組み合わせたデータベースサーバの負荷分散

スイッチ機能でプライベートネットワーク環境を作成し、ロードバランサでWebサーバのバックエンドとなるデータベースサーバの負荷分散する場合の例です。

 
lb2

 
想定するネットワークの情報は次の通りです。

 

IPアドレス帯域 192.168.1.0/24
Webサーバ(プライベートネットワーク側) 192.168.1.1
ロードバランサ 192.168.1.2
DBサーバ1 192.168.1.3
DBサーバ2 192.168.1.4
ロードバランサ仮想IPアドレス 192.168.1.10

 

3. 導入設定

この項目では、先に上げた「ルータ+スイッチを組み合わせたWebサーバの負荷分散」の構成を例として設定を進めます。

1. ルータ+スイッチまたはスイッチの作成

さくらのクラウド環境内へロードバランサを導入する場合、必ず「ルータ+スイッチ」または「スイッチ」で構成されたネットワークが必要となります。これらの機能についての詳しい情報はオンラインマニュアルを参照してください。

2. 実サーバのネットワーク設定

DSR構成でのロードバランシング動作が行われるように、実サーバ側でのネットワーク設定が必要となります。設定手順や設定項目については、一般的なDSR構成ロードバランサ導入時と同様です。
今回は例としてCentOS6系での設定を行います。これらの設定を実サーバすべてに適用します。

sysctl.confの設定追加

ループバックアドレスに設定した仮想IPアドレスでARPリクエストに応答しないようにカーネルパラメータを設定します。/etc/sysctl.confファイルに以下の2行の設定を追記します。

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

追記後、sysctl.confの設定内容を反映します。

# sysctl -p

ループバックアドレスの追加

新たにlo:0デバイスを作成し、仮想IPアドレス(今回の構成例では203.0.113.8)を設定します。/etc/sysconfig/network-scripts/ifcfg-lo:0ファイルを新規に作成し、以下の内容を記載します。

DEVICE=lo:0
IPADDR=203.0.113.8
NETMASK=255.255.255.255

作成後、lo:0デバイスを有効化します。

# ifup lo:0

ifconfigコマンドで設定が有効化されていることを確認します。

# ifconfig lo:0
lo:0      Link encap:Local Loopback  
          inet addr:203.0.113.8  Mask:255.255.255.255
          UP LOOPBACK RUNNING  MTU:16436  Metric:1

3. コントロールパネルからの設定

ロードバランシング先となる各サーバの設定完了後、コントロールパネルからロードバランサの追加設定を行います。

現在のネットワークの確認

現在のネットワーク構成を確認します。コントロールパネル上部のメニュー「ネットワーク」をクリックすると作成済みのスイッチ一覧が表示されるので、ロードバランサを追加したいスイッチ名をダブルクリックします。

構成例1のロードバランサ追加前の状態(Webサーバが2台スイッチに接続されている状態)である事が確認できます。

 
lb3a

また、「マップ」タブをクリックし、スイッチとサーバの接続マップを確認することもできます。

 
lb4a

ロードバランサの追加

スイッチにロードバランサを追加します。画面上部のメニューより「アプライアンス」をクリックするとロードバランサ一覧画面が表示されるので、この画面左上の「追加」ボタンをクリックして作成を開始します。

 

構成例1の通り以下の内容を入力・選択します。想定されるWebトラフィックより、今回は「標準プラン」のロードバランサを使用することとします。

 

接続先スイッチ ロードバランサを接続したいスイッチ
冗長化 はい
プラン 標準プラン
VRID 1 (ネットワーク内に設置するロードバランサは1台のみのためデフォルトのまま)
IPv4アドレス #1 203.0.113.4
IPv4アドレス #2 203.0.113.5
ネットマスク 28
ゲートウェイ 203.0.113.1

こちらの情報を元に、コントロールパネル内の各項目に入力します。

 

各情報の入力後「作成」ボタンをクリックし、ロードバランサの作成を開始します(※)。作成後は、ロードバランサ一覧画面で該当のロードバランサをダブルクリックし、作成時に入力した内容に問題のない事を確認してください。
※作成後、ロードバランサが使用可能になるまで数分程度の時間がかかります。ロードバランサ一覧画面のステータス欄で「利用可能」の表示になったことを確認後にご利用ください。

 
lb7a

ロードバランサの仮想IPアドレス設定

ロードバランサに仮想IPアドレスを設定します。ロードバランサ一覧画面で該当のロードバランサをダブルクリックし、「VIP設定」のタブをクリックします。

 
lb8a

右下の「追加」ボタンをクリックすると仮想IPアドレス追加画面が表示されるので、各項目を入力します。

今回はWebサーバのロードバランシングとなるため、ポート番号には「80」を指定します。また、チェック間隔はデフォルト値の10秒としました(後述する実サーバのサービス稼動状態の監視間隔となります)。

 

VIPアドレス 203.0.113.8
ポート番号 80
チェック間隔(秒) 10

 
lb9

 
入力後、「作成」ボタンをクリックすると仮想IPアドレスが設定されます。スイッチ詳細画面では、作成した仮想IPアドレスのタブが新たに表示されます。

 
lb10a

仮想IPアドレスへの実サーバ登録

これまで設定した仮想IPアドレスにロードバランシング対象となる実サーバを登録します。今回の構成例中の「Webサーバ#1(203.0.113.6)」の場合は以下の設定値となります。

 

IPアドレス 203.0.113.6
ポート番号 80
監視方法 http
パス /index.html
レスポンスコード 200

監視方法は他にping、tcpが選択できますが、今回はWebサーバのロードバランシングとなるためhttpによる監視を選択します。これにより、指定したパス・レスポンスコードによる死活監視が行えるため、Webサーバの冗長化をする場合により確実な監視となります。

前項で確認した仮想IPアドレスタブ画面で「追加」ボタンをクリックして実サーバ追加画面を表示し、項目を入力します。

 

同様に、「Webサーバ#2」についても実サーバとして登録します。全ての実サーバ登録後のリストは以下のようになります。

 

設定内容の反映

これまで行ってきた設定はロードバランサ側に即時反映されない仕様となっています。設定の追加や変更を行った後は、必ず「反映」ボタンをクリックしてください。「反映」ボタン押下後はすぐに設定が有効となります。

 
lb13a

ロードバランサの動作状況の確認

仮想IPアドレスとして設定したIPアドレス名のタブより、その配下で動作する実サーバの動作状況を確認できます。

 
lb14

 

ステータス 指定した監視方法により、実サーバでのレスポンスが正常であれば「UP」、異常があれば「DOWN」が表示されます。
コネクション数 ロードバランサーがハンドリングしているEstablish状態のtcpコネクション数の現在値が表示されます。通常、ロードバランシング対象サーバに均等に割り振られます。

 

4. 導入後の管理

● アクティビティモニタの表示

ロードバランサのトラフィックグラフが表示されます。特定の時間を拡大するなど、操作はサーバのアクティビティモニタと同様に行えます。

 
lb17a

● 設定の変更

VIP設定や、各VIPへの実サーバ設定画面では、リスト右側のアイコンを使用して設定内容の編集や設定の削除が行えます。

 
lb15a

 

アイコン
説明
編集アイコン 設定追加時と同様の画面が表示され、設定値を変更することができます。
削除アイコン 設定を削除します。

設定変更後は、必ず画面の「反映」ボタンをクリックし、ロードバランサ側に設定内容を反映させてください。

● 電源操作

通常のサーバと同様、ロードバランサの停止や再起動などの操作を行うことができます。個別のロードバランサの画面を開き、左上の「電源操作」メニューより実行します。

 
lb16a

● ロードバランサの削除

削除前にロードバランサをシャットダウンする必要があります。「電源操作」メニューからのシャットダウン操作後、電源が「DOWN」状態になったことを確認し、削除ボタンをクリックします。

 
lb18a