個人利用から大規模開発までConoHaで始めるクラウド開発入門

第2回 海外リージョン,ロードバランサ,GeoDNSを使う

この記事を読むのに必要な時間:およそ 3 分

前回は新しくなったConoHaの機能やコンセプトなどを紹介しました。ConoHaには仮想サーバであるVPSを中心に,さまざまな付加機能が用意されており,今回はそれらの中から3つをピックアップして解説します。

海外リージョンを使う

海外リージョンの提供は,新しいConoHaの大きな特徴の1つです。日本のほかに,シンガポールとアメリカ(サンノゼ)でサーバを立ち上げることができます。これによりネットワークの遅延を少なくし,エンドユーザに質の高いサービスを提供することが可能になります。

今回はアメリカリージョンにVPSを構築し,pingでRTTRound Trip Timeを見てみましょう。pingの場合,相手のホストにICMP echorequestを送信してICMP echo replyが返ってくるまでにかかった時間がRTTです。これが短いほどネットワークの遅延が少ないことになります。アメリカリージョンにVPSを構築するには,VPS作成画面の「リージョン」という項目で「アメリカ」を選択します図1)⁠

図1 VPS追加画面(リージョン選択)

図1 VPS追加画面(リージョン選択)

VPSを作成したらSSHでログインしましょう。試しにwww.conoha.jpにpingを送ってみます図2)⁠現在,www.conoha.jpは日本にあるサーバ上でホストされているため,これはアメリカにあるVPSから日本のサーバにpingを送っていることになります。経験上,日本,アメリカ間でpingを送ると100から数百ミリ秒くらいのRTTになります。今回は112ミリ秒でした。次にアメリカ国内のサイトの例としてwww.washingtonpost.comにpingを送ってみましょう。1.8ミリ秒程度で非常に遅延が少ないこがわかります図3)⁠

図2 www.conoha.jpにpingを送信

# ping -n -c 3 www.conoha.jp
PING www.conoha.jp (157.7.108.44) 56(84) bytes of data.
64 bytes from 157.7.108.44: icmp_seq=1 ttl=51 time=112 ms
64 bytes from 157.7.108.44: icmp_seq=2 ttl=51 time=112 ms
64 bytes from 157.7.108.44: icmp_seq=3 ttl=51 time=112 ms

--- www.conoha.jp ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 112.228/112.474/112.921/0.499 ms

図3 www.washingtonpost.comにpingを送信

# ping -n -c 3 www.washingtonpost.com
PING ins-019.inscname.net (192.33.31.56) 56(84) bytes of data.
64 bytes from 192.33.31.56: icmp_seq=1 ttl=58 time=1.72 ms
64 bytes from 192.33.31.56: icmp_seq=2 ttl=58 time=1.86 ms
64 bytes from 192.33.31.56: icmp_seq=3 ttl=58 time=1.84 ms

--- ins-019.inscname.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.723/1.813/1.868/0.064 ms

ロードバランサを使って負荷分散をする

ロードバランサを使うと,複数台のVPSやアプリケーションサーバにトラフィックを分散できます。またバランシングやヘルスチェック(配下のサーバに対する死活監視方法)もユーザ側で設定できるので,サービスに応じた細かな設定が可能です。ここでは複数台のWebサーバにトラフィックを分散するという想定で,ロードバランサの設定をしてみます。図4はWebサーバが2台の場合の構成例です(矢印はのちほど説明するトラフィックの流れです)⁠

図4 DSR方式の概要

図4 DSR方式の概要

なお以降の手順を試す場合,ロードバランサと同じリージョンで,VPSを使ってWebサーバを数台構築しておいてください。Webサーバの構築方法は省略しますが,yumやaptなどでApacheもしくはnginxをインストールしておけば十分です。

ロードバランサとヘルスモニタを追加する

ロードバランサの項目を表示するには,コントロールパネルの左メニューから「ネットワーク」を選びます。ここで「追加」をクリックしてロードバランサを追加します図5)⁠

図5 ロードバランサの追加

図5 ロードバランサの追加

ロードバランサにはヘルスモニタも必要になります。ヘルスモニタとは,ロードバランサ配下のサーバに対してどのような死活監視を行うかを決めるものです。ヘルスモニタは,配下のサーバに対して一定間隔で通信を行います。チェックに失敗した場合,そのサーバをバランシング対象から外します。

追加については「ネットワーク」の画面でヘルスモニタリストを表示し,左側の「+」をクリックします。今回はHTTPトラフィックを扱うので,ヘルスモニタのプロトコルには「HTTP」を選択しましょう。判定時間とパスはデフォルト値のままでかまいません(図6)⁠

図6 ヘルスモニタの追加

図6 ヘルスモニタの追加

作成できたら,ロードバランサのIPアドレス部分をクリックしてみましょう。詳細が表示されます。⁠バーチャルIPアドレス」が実際にクライアントが接続するIPアドレスです。ロードバランサは,このIPアドレスへのアクセスを配下のサーバにバランシングします。

著者プロフィール

斉藤弘信(さいとうひろのぶ)

GMOインターネット株式会社 テクニカルエバンジェリスト

2000年に同社に入社。ユーザーサポートやデータセンターでのオペレーション業務等を担当し,その後社長室などのゼネラル部門を経て,2014年9月よりホスティング事業のテクニカルエバンジェリストを担当。

得意分野はWebアプリケーションの設計/開発,Linuxサーバー構築/運用。

Twitter:@hironobu_s

コメント

コメントの記入