ロードバランサを設置して負荷分散しよう

アクセスが多いなど、サーバーへの負荷が高いサービスを運用する場合は、負荷分散が必要になる場面があります。今回は、ロードバランサで負荷分散する方法を紹介します。

 

 

■ロードバランサの基本

■ロードバランサオプションの追加

■ロードバランサの作成

■インスタンスの割り当て

■死活監視用ファイルの設置

■DNSの変更

■動作の確認

■アクティブ/スタンバイの設定

■インスタンス間の同期

 

 

■ロードバランサの基本

アクセスが多いサービスを運用する際には、「ロードバランサ」(Load Balancer)が必要になる場面も多いです。まず、ロードバランサの基本を押さえておきましょう。

ロードバランサは、複数台のサーバーを配下に接続して、負荷(Load)を分散(Balance)させる装置のことです。例えば、アクセスが多いWebサイトを運用する場合、ロードバランサを使うことで、Webサーバーへのアクセスを複数台のサーバーに振り分け、負荷を分散することができます。

現在のロードバランサには、負荷分散にとどまらない多機能なものもあります。しかし、VPSクラウドのロードバランサ機能は、比較的シンプルに負荷分散を行うものになっています。表1の2つのタイプから選ぶことができます。

また、「Least Connection」のタイプでは、「スティッキーセッション」という機能を付加することもできます。これは、セッションに応じて、割り振り先のインスタンスを固定する機能です。

なお、VPSクラウドのロードバランサ機能では、ロードバランサ1つにつき、1つのプロトコルのみ処理します。複数のプロトコルを処理したい場合は、その数だけロードバランサを設置します。

 

 

表1 VPSクラウドのロードバランサ機能のタイプ

方式 概要
Least Connection 通信が少ないインスタンスに通信を割り振る
Source アクセス元のIPアドレスに応じて通信を割り振る

 

 

■ロードバランサオプションの追加

ロードバランサの機能はオプションになっています。ロードバランサオプションを後から追加するには、次の手順を取ります。

 

①契約者コンパネにログインします。

②ロードバランサを付加する契約の行で、「詳細」ボタンをクリックします。

③契約の詳細のページが表示されますので、「プラン」のところを「ロードバランサ」で、利用するロードバランサのプランを選択し、「変更する」ボタンをクリックします。

 

 

■ロードバランサの作成

まず、ロードバランサを作成します。

サービスコンパネにログインし、ページ左端のメニューで「ロードバランサ」をクリックし、ロードバランサ一覧のページを開いて、「ロードバランサを起動」のボタンをクリックします(図1)。

すると、「ロードバランサを起動」の画面が開きますので、表2の各項目を設定し、「作成」ボタンをクリックします(図2)。

作成後にロードバランサ一覧のページで「更新」ボタンをクリックし、状態が「running」になれば、ロードバランサは動作している状態です。

 

 

図1 「ロードバランサを起動」ボタンをクリック

図1 「ロードバランサを起動」ボタンをクリック

 

 

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

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

 

 

表2 ロードバランサ起動の際の設定

項目 内容
ロードバランサ名 名前を決めて入力
説明 ロードバランサの概要を入力
「ロードバランサ」のプロトコル 受け付けるプロトコルを選択
「ロードバランサ」のポート 受け付けるプロトコルに対応するポート番号
「インスタンス」のポート インスタンスのポート番号
ネットワーク監視項目 監視する場合は「有効」のチェックをオンにし、「メールアドレス」に異常時の通知先メールアドレスを入力。また、「Path」に監視するWebページのパスを入力。
負荷分散方式 「Least Connection」と「Source」のどちらかを選択
証明書 プロトコルにHTTPSなどを選んだ時に、証明書のデータを貼り付け
スティッキーセッション 負荷分散方式に「Least Connection」を選んだ場合、スティッキーセッションを使うかどうかを選択
Cookie名 Cookieの名前を入力

 

 

■インスタンスの割り当て

次に、ロードバランサにインスタンスを割り当てて、各インスタンスがロードバランサの配下で動作するようにします。

サービスコンパネのロードバランサ一覧のページを開き、対象のロードバランサの行で左端のラジオボタンをオンにした後、「アクション」メニューの中の「インスタンスの割り当て」を選びます。

すると、「インスタンスの割り当て」の画面が開きます。左半分の「インスタンス」の部分で、ロードバランサに割り当てるインスタンスを選び、「>」のボタンをクリックして、右半分の「割り当て」に移動します。そして、インスタンスを割り当て終わったら、「割り当て」ボタンをクリックします(図3)。

 

 

図3 インスタンスの割り当て

図3 インスタンスの割り当て

 

 

■死活監視用ファイルの設置

HTTPやHTTPSのプロトコルを対象にする場合、ロードバランサは各インスタンスの「healthcheck.html」というファイルに定期的にアクセスし、死活監視を行います。そこで、各インスタンスのドキュメントルートにあたるディレクトリに、healthcheck.htmlファイルを設置します。ファイルの中身は空で良いです。

例えば、WebサーバーとしてApacheを使い、マルチドメインにしていない場合、通常の設定ではドキュメントルートのディレクトリは「/var/www/html」です。そこで、次のコマンドを実行して、このディレクトリに空のhealthcheck.htmlファイルを設置します。

 

 

リスト healthcheck.htmlファイルの設置

sudo touch /var/www/html/healthcheck.html

 

 

■DNSの変更

ロードバランサを使う場合、DNSの設定を変えて、ドメインに対してロードバランサのIPアドレスを対応させます。この設定の手順はそれぞれのDNSの業者によって異なりますので、業者のマニュアルなどを参照してください。ロードバランサのIPアドレスを調べるには、サービスコンパネの「ロードバランサ」のメニューをクリックしてロードバランサの一覧を表示し、「IPアドレス」の列の値を見ます。

 

 

■動作の確認

ここまでの設定が終わったら、ロードバランサで設定したプロトコルに応じて、パソコンなどから接続できるかどうかを確認します。

例えば、ロードバランサでHTTPプロトコルを扱うように設定した場合、Webブラウザを起動して「http://ドメイン名/」(または「http://ロードバランサのIPアドレス」)などのアドレスに接続し、正しいページが表示されることを確認します。

 

 

■アクティブ/スタンバイの設定

ロードバランサは、負荷分散だけでなく、障害対策に使うこともできます。ロードバランサに「スタンバイ」のインスタンスを割り当てておくと、実行中(アクティブ)のインスタンスに障害が発生したときに、スタンバイのインスタンスが応答するように設定することができます。

インスタンスのアクティブ/スタンバイを切り替えるには、次の手順を取ります。

 

①ロードバランサの一覧ページで、対象のロードバランサを選択し、「アクション」メニューの「アクティブ/スタンバイ」を選択します。

②「インスタンスのアクティブ/スタンバイ」の画面が表示されますので、各インスタンスのアクティブ/スタンバイを選択し、「更新」ボタンをクリックします(図4)。

 

 

図4 インスタンスのアクティブ/スタンバイの設定

図4 インスタンスのアクティブ/スタンバイの設定

 

 

■インスタンス間の同期

ロードバランサを使う場合、通常は配下の各インスタンスを同期させて、どのインスタンスにアクセスしたとしても、同じ結果が返ってくるようにします。

ただ、ロードバランサ自体には同期の機能はありませんので、同期の処理は自分で行う必要があります。例えば、ファイルの同期には「lsync」と「rsync」を組み合わせる方法があります。

なお、同期の方法や手順は、この記事で解説しきれません。詳細については、ネットワーク構築関係の書籍やWebサイトなどをご参照ください。

 

 

 

 

 

うちだ
サービスクリエーション本部所属        (監修:とみなが)       

オススメ記事

関連サービス

VPS VPSクラウド