さくらのクラウドでは、既存のサーバから同じ仕様のサーバを複製できるクローン機能や、同じ内容のディスクを複製するコピー機能が簡単に利用できます。今回は、急激にサーバへのアクセスが増加しサーバを追加するケースを例に、「ロードバランサ」アプライアンスと「クローン機能」を組み合わせたスケールアウトの手順を解説します。

 

1. 今回の構成

今回は、初期状態として以下の構成を想定します。

 
tips2-1

 
「スイッチ+ルータ」を作成し、その配下に1台のロードバランサと1台のウェブサーバが接続されています。

 
※「スイッチ+ルータ」の作成やネットワーク構成の操作方法については、公式マニュアルやさくらのナレッジ「ルータ+スイッチを使ったネットワークを構築してみよう」が参考になります。

 
アクセスが閑散としている場合はこの構成で運用しますが、アクセスの増大により1台のウェブサーバでは捌ききれなくなった場合は平行してウェブサーバを追加し、ロードバランサによる負荷分散を図ります。

 
tips2-2

 
このように、同一の性能を持つ機器を追加して負荷を分散させることを「スケールアウト」と呼びます。さくらのクラウドでは仮想的にスイッチやサーバを組み合わせてネットワークを作成することができるので、スケールアウトさせる場合も素早く構成が可能であり、物理環境のようにあらかじめ機材を用意する必要もありません。スケールアウトによる負荷分散は、クラウドのメリットをより活用することができる手法と言えます。

 

2. ロードバランサの設定

最初にロードバランサの設定を行います。作成したロードバランサは、上部メニュー「アプライアンス」をクリックし、左側のメニューから「ロードバランサ」を選択します。ここで作成済みのロードバランサの一覧が表示されるので、該当のロードバランサ行をダブルクリックします。

 
tips2-3a

 
ロードバランサの情報画面が表示されるので、上部の「VIP設定」タブをクリックします。VIPは外部からの接続を受け持つ仮想IPアドレス(Virtual IP address)のことで、このIPアドレスへの接続がロードバランサにより配下の複数のサーバに分散されます。

 
初期状態では何も設定されていないので、右下の「追加」ボタンをクリックし、VIPの追加作業を始めます。

 
tips2-4a

 
設定ダイアログボックスが表示されるので、ここでVIPを設定します。今回の構成例では以下の値を入力しました。

 

VIPアドレス 「ルータ+スイッチ」で払い出されたIPアドレスのうち1個をロードバランサが受け持つ仮想IPアドレスに割り当て、そのIPアドレスを入力します。
ポート番号 仮想IPアドレスで着信を受けるポート番号を設定します。今回はロードバランシング先はウェブサーバのため「80」を設定します。
チェック間隔 実サーバの死活監視を実行する間隔を秒数で設定します。今回はデフォルトの「10」(10秒)を設定しました。

 
設定が完了すると、VIP設定のリストに今回設定したVIP設定が追加されます。続いて、VIPに着信した接続の振り分け先となる実サーバを設定します。VIPごとにタブが追加されるので、今回設定したVIPのタブをクリックします。

 
tips2-6b

 
この画面では設定済みの実サーバのリストが表示されますが、こちらも初期状態ではひとつも設定されていないので「追加」ボタンをクリックして追加を行います。

 
tips2-7a

 
設定ダイアログボックスが表示されるので、ここで実サーバの情報を設定します。今回の構成例では以下の値を入力しました。

 

IPアドレス ロードバランシング先のサーバ(今回はルータ+スイッチ配下のウェブサーバ)のIPアドレスを設定します。
監視方法 IPアドレス、ポート番号で指定したロードバランシング先サーバの監視方法を設定します。この監視設定で異常のあるサーバは振り分け先から除外されます。今回はウェブサーバなので監視方法に「http」を指定し、監視対象パスとレスポンスコードはそれぞれ「/」と「200」を設定しました。

 
設定が完了すると、VIP設定のリストに今回設定したVIP設定が追加されます。

 
tips2-8

 
なお、ロードバランサはコントロールパネルでの一連の設定後に実際のロードバランサに設定を投入する仕組みとなっているので、「反映」ボタンをクリックして設定内容を反映させます(まだ起動していない場合は電源操作メニューより「起動」を選択してください)。

 
tips2-6a

 
設定完了後、仮想IPアドレスとして設定したIPアドレスに接続すると、実サーバとして登録した1台のウェブサーバからの応答としてウェブページが表示されます。

 

3. 1台目のウェブサーバの設定

さくらのクラウドで提供するロードバランサはDSR方式で動作するため、ロードバランシング先のサーバではループバックアドレスに仮想IPアドレスを設定する必要があります。1台目のウェブサーバでは、クローンにより追加するウェブサーバのテンプレートも兼ねてこの設定を投入しておきます。

 
※以下の例では、CentOS6系を想定した手順とします。

 

sysctl.confへの設定追加

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

 

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

 
設定後、”sysctl -p”コマンドで設定を反映します。

lo:0デバイスの作成

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

 

DEVICE=lo:0
IPADDR=仮想IPアドレス
NETMASK=255.255.255.255

 
設定後、”ifup lo:0″コマンドで設定を反映します。

 

その他の設定

サーバとして必要なサービスの起動設定やコンテンツ、データの転送を行います。今回の例ではウェブサーバのため、Apacheを動作させ、コンテンツを公開ディレクトリに転送させておきます。

 

3. ウェブサーバを追加(スケールアウト)してみる

 
さて、これまでの作業で冒頭の図の通りの最小構成の準備が整いました。ここからはウェブサーバを追加し、スケールアウトを行います。

サーバのクローン

クローン機能により、現在は1台のみとなっているウェブサーバをクローンし、2台、3台と増やします。クローンしたいサーバ(ここでは作成済みのウェブサーバ)のサーバ詳細画面を開き、上部にある「クローン」ボタンをクリックします。

 
tips2-9a

 
クローンボタン押下後は新規サーバ作成時と似た画面が表示されますが、サーバのスペックや接続するディスクのソース、NICの接続先などはクローン元のサーバと同じものがあらかじめ指定されています(もちろん、環境に応じて変更することも可能です)。

 
ただし、ディスクは同じ内容のものがコピーされるとは言え、ネットワーク設定も同様にコピーされてしまうのでこのまま起動するとIPアドレスが重複したサーバが2台存在してしまうことになります。

 
そこで、サーバ新規作成時と同様にクローン作成画面でもディスク修正機能が使用できるので、今回は「ルータ+スイッチ」で使用可能なIPアドレス帯から未使用のものを割り当てることにします。もちろん、ホスト名やrootパスワードもクローン元のものから変更することが可能です。

 
tips2-10a

 
各項目を入力後、「作成」ボタンをクリックし、クローンしたサーバの作成を開始します。

 

ロードバランサへの実サーバの登録

クローンしたサーバを起動し、1台目のサーバと同様にロードバランサに実サーバとして登録します。登録後は「反映」ボタンをクリックし、ロードバランサへの設定内容の反映を行います。しばらくして、2台目のサーバのステータス欄も「UP」状態になれば成功です。

 
tips2-13

 

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

では早速、仮想IPアドレス宛てにウェブブラウザからアクセスし、ロードバランシングされることを確認してみましょう。

 
ここでは実際に応答している実サーバがどちらか分かるように、以下のようなCGIスクリプトを公開ディレクトリ以下に設置しました(あらかじめ公開ディレクトリ内のCGIスクリプト実行を許可しておく必要があります)。

 

#!/bin/sh
echo “Content-Type: text/html”
echo
echo \<h1\>`hostname`\</h1\>

 
このスクリプトにアクセスするたびに表示されるホスト名(web01、web02)が変化し、ロードバランシングされていることが確認できました。あとは同様にクローン作成・ロードバランサへの実サーバ登録の操作でどんどんスケールアルトすることが可能になります。

 

4. おわりに

今回はウェブサーバをスケールアウトする際の、ごく単純な場合を例として解説しました。もちろんサーバはウェブサーバに限らずロードバランシングが可能ですし、APIを使用することでクローン作成から実サーバ登録までを自動化することも可能です。

 
さくらのクラウドではあらかじめ用意された便利なアプライアンスを提供し、APIによる自動化・省力化もご提案できます。ぜひお客様のビジネスにお役立てください。

 

今回のTIPSでは、アーカイブ機能の概要と簡単な使い方を解説します。同一内容のディスクの大量コピーや、長期的なデータ保管に最適なアーカイブ機能をぜひご活用ください。

 

1. アーカイブ機能とは

アーカイブ機能は、ディスクイメージなどのデータを「アーカイブ」という名称の専用の場所に保管する機能です。

 
arc01a

 
アーカイブはそのままではサーバにディスクとして接続することはできませんが、データをより安価な維持費で保管することが可能です。

 
アーカイブに保存されたディスクイメージをサーバで使用する際は、ディスクを新たに作成してその内容をコピーする必要がありますが、この操作は簡単に行うことができます。そのため、見本となる設定状態のディスクをアーカイブとして登録し、そこをソースとして同じディスク内容のサーバを多数作成する場合などに便利です。

 
また、他のゾーンに存在するアーカイブを転送することが可能なため、ゾーン間でディスクイメージの転送をする場合にも便利です。「さくらのVPS」からさくらのクラウド環境内へのディスクイメージの移行(VPSマイグレーション機能)時も、一旦アーカイブにディスクイメージがコピーされる形式となります。

 

2. アーカイブを作成してみよう

アーカイブは、上部メニューより「ストレージ」をクリックし、さらに左側のメニューで「アーカイブ」をクリックして表示された画面で管理を行うことができます。作成済みのアーカイブがある場合はリスト画面に表示されます。

 
※アーカイブ管理画面では、選択中のゾーンに存在するアーカイブのみを管理・新規作成が可能です。必要に応じで左上のゾーン切替メニューより対象ゾーンの選択を行ってください。

 
新たなアーカイブを作成する場合は、「追加」ボタンをクリックします。

 
arc02a

 
アーカイブ作成画面では、以下のような選択・入力フォームが表示されます。

 
arc03a

 

項目
内容
アーカイブソース(必須) 空のアーカイブを作成するか、またはソースとなるものを選択します(詳細は後述)。
アーカイブサイズ(必須) 作成するアーカイブの容量を選択します。選択した容量により、フォーム上部の料金表が変化します。
名前(任意) アーカイブの名前を入力します。アーカイブをソースとしたディスク作成時などに選択肢として表示されるのでわかりやすい名前を付けると便利です。
説明(任意) アーカイブの説明を入力します(任意)。アーカイブの細かい説明の記載などに使用できます。
タグ(任意) アーカイブにタグを付与します(任意)。種類や作成日などで分類して管理する際に便利です。
アイコン(任意) アーカイブにアイコンを付与します(任意)。アイコンは設定画面のアイコン管理画面より追加が可能です。

 
「アーカイブソース」選択欄では、作成するアーカイブの元となるソースを選択します。

 

項目
内容
ブランク 空のアーカイブを作成します。主にFTPで手元のディスクイメージをアップロードする際などに選択します。
ディスク 作成済みのディスクの内容をアーカイブにコピーします。
※「アーカイブサイズ」で選択した容量より小さいディスクのみ選択が可能です。
アーカイブ 作成済みのアーカイブ、もしくは他のゾーンに存在するアーカイブをソースとして指定することが可能です。
VPSディスク 会員IDを使用してコントロールパネルにログインしている場合、同じ会員IDで契約中の「さくらのVPS」のディスクをソースとして指定することが可能です。

 
なお、各ディスクの詳細画面に表示される「コピー」ボタンからも、アーカイブを作成することができます。

 
arc11a

 

3. アーカイブのデータから新規にサーバを作成してみよう

アーカイブが登録されると、新規サーバ作成時の「アーカイブ選択」メニューで選択することが可能です。これにより、サーバ作成時に接続するディスクがアーカイブからコピーされた内容で作成されます。

 
arc04a

 
また、ディスクを単体で作成する場合も、アーカイブをソースとして作成することが可能です。

 

 

4. FTPでアーカイブの内容をアップロードしてみよう

アーカイブは、さくらのクラウドやさくらのVPS内のデータをソースとする以外にも、FTPにより手元の任意のデータをアップロードすることが可能です(同様の手順で、既存のアーカイブのイメージをダウンロードすることも可能です)。
アップロード可能なデータは問いませんが、RAW形式のファイルをアップロードすることでサーバに接続するディスクのソースとして使用することができます。

 
まず、新たにブランクのアーカイブを作成します。

 

 
アーカイブの作成が完了すると、FTPのログイン情報が表示されます。表示された内容に従い、FTP接続を行います。

 

 
Windows用SCPクライアントであるWinSCP(日本語版)を使用する際は、「転送プロトコル」メニューで「FTP」、「暗号化」メニューで「TLS 明確な暗号」を選択することで接続が可能です。

 

 
アーカイブとして保存したいデータは、接続後のデフォルトディレクトリにアップロードします。アップロードが完了したら、該当アーカイブの詳細画面を開き「FTPを完了」ボタンをクリックします。

 

 
これでアーカイブが使用可能となります。なお、FTPが完了していないアーカイブは、ステータスが「アップロード」であるかどうかで確認できます。

 

 
こちらの記事では、VMwareのイメージを変換し、さくらのクラウドで使用する手順を紹介しています。併せてご参考ください。

 

さくらのクラウドをもっと便利に使うための活用TIPSをご紹介します。
 
さくらのクラウドでは作成済みのサーバと同じ構成(サーバプランやディスク内容)のサーバを手軽に複製できる「クローン」機能を提供しています。
 
i02

コントロールパネルのサーバ詳細画面に、クローンのボタンは配置されています

しかし、このクローン機能を実行しただけでは、追加されたNICについては引き継がれません。
今回はNICが2個以上あるサーバのクローンを行い、お客様によって追加されたNICが利用できるまでの手順をご紹介します。
 

今回のゴール

すでに設定済みの[WEB01]に対して、クローンを利用して[WEB02]を作成するのが今回のゴールです。
NICのeth0は共有セグメントに接続し、追加NICについてはeth1にローカルスイッチに接続されているものとします。
※クローンで作成されたサーバのグローバルIPv4アドレスはランダムに割り当てられます。
 
今回の目標とするシステム構成をコントロールパネルのMAP画面に表すと以下のようになります。
i011
クローンで作成した[WEB02]からローカル接続されている[DB01]へPing疎通ができることを確認します。
 

前提

今回の手順ではクローン元となる[WEB01]のOSはCentOS 6.6で構築されたものになります。OSのバージョンやディストリビューションの種類によっては手順が異なる場合もあります。
 
クローン元となる[WEB01]の追加NICの設定は以下の手順で行われているものとします。
スイッチを使ってローカルネットワークを構築してみよう – 「楽しいさくらのクラウド」(5)

 

手順

1.[WEB01]をクローンする

コントロールパネルから[WEB01]の詳細画面を開き、上部に表示されているクローンを押下します。
詳細手順につきましてはサポートサイトに掲載している手順をご確認ください。
※クローン作成時にはディスクのコピーが行われるので、クローン元のサーバの電源を停止しておくことをおすすめします。
 

2.作成された[WEB02]の設定編集

作成された[WEB02]へリモート接続を行い、追加NICの接続されてない状態でeth1のネットワーク設定を編集します。
今回[WEB02]のeth1にはローカルIP:192.168.0.2を割り当てるものとします。
 
i03
今回のような簡単な修正の際には、コントロールパネルが提供しているHTML5リモートコンソールがお勧めです。
 

/etc/sysconfig/network-scripts/ifcfg-eth1 IPADDRを以下のように変更します。
IPADDR=192.168.0.2

 

※追加NIC接続前にeht1のネットワーク設定の変更をおすすめします。
複製後すぐに追加NICを設定すると、クローン元のサーバとローカルスイッチ上でのIPアドレスが競合するおそれがあるためです。

 
eth1のネットワーク設定が完了したら、NICの追加を行うため[WEB02]の電源をシャットダウンします。
 

3.[WEB02]へNICの追加とスイッチへの結線

シャットダウン完了後にコントロールパネルより[WEB02]へNICの追加を行います。
NICの追加手順はサポートサイトをご確認ください。
 
NICを追加しただけではまだどこのスイッチとも接続されていませんので、追加したNICとスイッチを結線する必要があります。
NICとスイッチの結線するための手順は2通りあります。

Ⅰ,NICからスイッチを選択する方法

追加したNICの右端にある▼を押下することでメニューが表示されます。メニューの中の[接続を編集]を選択することで接続先編集の画面が表示されます。
p05
この中から接続したいスイッチを選択します。

Ⅱ,MAP機能を使って視覚的に結線する方法

コントロールパネル上のMAP画面を利用することでNICとスイッチの結線を視覚的に行うことができます。
追加したNICはサーバの箱の下部に黒丸(●)として表示され、どこにも接続されていません。この黒丸をドラッグして、接続を行いたいスイッチの上まで移動させます。通常は青いバーとして表示されるスイッチがオレンジ色に反転しますので、そのタイミングでドロップすることでサーバとスイッチの接続が完了します。直感的な操作でネットワーク接続を編集できます。
i04
 

4.設定の確認

[WEB02]へNIC追加とスイッチとの結線が完了した後、サーバの電源を投入します。
サーバの電源投入後に改めてリモートコンソールで適切にIPアドレスが設定されていることを確認します。
※今回は[DB01]にローカルIP:192.168.0.100を設定しています。[DB01]に対してPING疎通を行います。
p06
無事ローカルネットワークでの疎通が行えていることの確認が取れました。
 

手順2と手順3をクローン元のサーバに追加したNICの数だけ行うことで、複数のNICが装着されたサーバのクローンにも対応できます。

 
今後とも、「さくらのクラウド」をよろしくお願いいたします。