さくらのクラウドニュース

さくらのクラウドの最新情報や、開発に役立つ技術情報をお届けします。

おしらせ 新機能

新機能「ロードバランサ」について

「さくらのクラウド」では現在、新機能「ロードバランサ」のβテストを実施しています。無料トライアルへの申し込み方法については、以下をご覧ください。
  
▽ さくらのクラウド、「ロードバランサ β版」無料トライアルの実施につきまして
https://cloud.sakura.ad.jp/news/2013/03/07/loadbalanc/
  
こちらの機能の概要や利用方法についてお知らせします。

1. 概要

「ロードバランサ」機能は、さくらのクラウド環境内において仮想的なアプライアンス機器として動作するロードバランサを提供するサービスです。そのため、コントロールパネルからの操作で、クラウド環境内に構築済みのお客様環境へ素早く容易にロードバランシング環境を導入することが可能となります。
  
提供されるロードバランサの主な仕様は次の通りです。

構成 DSR(Direct Server Return)方式(*1)
ロードバランサの冗長化 VRRPを用いた冗長化に対応
仮想IPアドレス(VIP)、ポート番号 最大4個まで
実サーバ数 1VIPにつき10個まで
性能目安 100Mbps、4000セッション、100cps程度

 

(*1) 「ルータ+スイッチ」または「スイッチ」を使用して構築されたネットワーク内にのみ設置ができます(共用セグメントへの設置はできません)。

2. 構成例

今回は構成例として、

  1. ルータ+スイッチを組み合わせたWebサーバの負荷分散
  2. スイッチを組み合わせたデータベースサーバの負荷分散

を挙げてみます。実サーバへの設定方法は次の項目で解説します。

例1: Webサーバの負荷分散

ルータ+スイッチ機能で割り当てられたお客様独自のIPアドレス帯域に接続されている複数のWebサーバを、冗長構成のロードバランサで負荷分散する場合の例です。
 

 
想定するネットワークの情報は次のとおりです。(以下の各IPアドレスは弊社テスト環境の帯域を使用しています。お客様環境のIPアドレスに読み替えてください。)
 

IPアドレス帯域 133.242.38.160/28
ゲートウェイ 133.242.38.161
冗長構成ロードバランサ1(※1) 133.242.38.164
冗長構成ロードバランサ2(※2) 133.242.38.165
Webサーバ1 133.242.38.166
Webサーバ2 133.242.38.167
ロードバランサ仮想IPアドレス 133.242.38.168

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

例2: データベースの負荷分散

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

 

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. 導入設定

この項目では、先に上げた構成例1のネットワーク構成を例として設定を進めます。

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

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

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

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

sysctl.confの設定追加

ループバックアドレスに設定した仮想IPアドレスでARPリクエストに応答しないよう、カーネルパラメータを設定します。

# vi /etc/sysctl.conf

以下の設定を追記してください。

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

sysctl.confの設定内容を反映します。

# sysctl -p

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

新たにlo:0デバイスを作成し、仮想IPアドレス(今回の構成例では133.242.38.168)を設定します。

# vi /etc/sysconfig/network-scripts/ifcfg-lo:0

以下の内容を記載してください。

DEVICE=lo:0
IPADDR=133.242.38.168
NETMASK=255.255.255.255

ファイル作成後、ネットワーク設定を反映します。

# ifup lo:0

4. コントロールパネルの操作方法

では実際に、構成例1のネットワーク構成でロードバランサを導入するためのコントロールパネル操作手順を説明します。

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

現在のネットワーク構成を確認します。コントロールパネル上部のメニュー「ネットワーク」をクリックすると作成済みのスイッチ一覧が表示されるので、ロードバランサを追加したいスイッチ名をダブルクリックします。構成例1のロードバランサ追加前の状態(Webサーバが2台スイッチに接続されている状態)である事が確認できます。
 

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

ロードバランサの追加

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

 
作成画面では、構成例1の通り以下の内容を入力・選択します。

  1. 接続先スイッチ: ロードバランサを接続したいスイッチ
  2. 冗長化: はい
  3. VRID: 1 (ネットワーク内に設置するロードバランサは1台のみのためデフォルトのまま)
  4. IPv4アドレス #1: 133.242.38.164
  5. IPv4アドレス #2: 133.242.38.165
  6. ネットマスク: 28
  7. ゲートウェイ: 133.242.38.161

 

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

 

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

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

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

  1. VIPアドレス: 仮想IPアドレス
  2. ポート番号: 80
  3. チェック間隔(秒): 10(後述する実サーバのサービス稼動状態の監視間隔となります)

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

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

これまで設定した仮想IPアドレスにロードバランシング対象となる実サーバを登録します。前項で確認した仮想IPアドレスの画面右下の「追加」ボタンをクリックし、実サーバ追加画面を表示します。

  1. IPアドレス: 133.242.38.166 (Webサーバ#1のIPアドレス)
  2. ポート番号: 80
  3. 監視方法: http
  4. パス: /index.html
  5. レスポンスコード: 200

監視方法は他にping、tcpが選択できますが、httpを選択することで指定したパス・レスポンスコードによる死活監視が行えるため、Webサーバの冗長化をする場合により確実な監視となります。構成例1では他に133.242.38.167の実サーバがあるので、こちらも同様に登録します。全ての実サーバ登録後のリストは以下のようになります。
 

 

設定内容の反映

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