こんにちは。ALTUS(Basicシリーズ、Isolateシリーズ、オブジェクトストレージ)の構築・運用を担当している片柳です。パブリッククラウド「Basicシリーズ」はスモールスタート向けですが、いざ拡張する場合に柔軟に対応できなければ意味がありません。今回の記事では現場のエンジニア目線で少々掘り下げて、ALTUSの魅力のひとつである仮想と物理のハイブリッド構成の詳細と設定方法をご紹介させていただきます。

この記事を読んでいただきたい方

  • Basicシリーズでスモールスタートしたいが将来的な拡張が心配な方
  • パブリッククラウドのパフォーマンスで物足りないと感じている方

スモールスタート向きはわかった! でも実際に拡張するときはどうだ?

これまでの連載でもお伝えしてきたようにALTUS Basicシリーズは国内でも最安級の500円からはじめることができるため、スモールスタートで特に真価を発揮するサービスです。しかしながら、いざスモールスタートしようと思っても、「ビジネス規模が拡大した場合に、仮想サーバー(クラウド)じゃカバーできないのでは?」といったような不安が原因でクラウドの利用を躊躇する方もいるのではないでしょうか?

具体的には、データベースなどのサーバーが高負荷になり、仮想サーバーだけでは安定したパフォーマンスを得られなくなってしまうケースです。この場合、システムのチューニングや構成を変更して対応することも考えられますが、もっと簡単な解決策があります。ボトルネックとなる箇所は高パフォーマンスな物理サーバー(専用サーバー)を利用すればいいのです。

これが今回ご紹介させていただく仮想サーバーと物理サーバーによる最強ハイブリッド構成です。下図のようにパブリッククラウドの「Basicシリーズ」と、弊社の専用サーバー「GMOクラウド 専用サーバー(http://private.gmocloud.com/)」を組み合わせて利用することで、それぞれのいいとこ取りをした構成が実現できます。

仮想サーバーと物理サーバーの使い分け

では、どのように仮想と物理を使い分ければいいのでしょうか。一般的な話というよりは、当社の各サービスの特長から僕がおすすめする使い方を表にまとめてみました。

特長 適した用途
仮想サーバー
「ALTUS Basicシリーズ」
即座にリソースの調達、増減ができる
高可用性
メモリや、台数を増やすことで効果を発揮する用途
(Web,Appサーバー等)
物理サーバー
「GMOクラウド専用サーバー」
高く安定したパフォーマンスが期待できる 安定したディスクI/Oが求められる用途
(DBサーバー等)

上記の表に補足させていただきますと、Basicシリーズのストレージシステムは共有ストレージを利用しています。共有ストレージを利用した構成はディスクの対故障性に優れているほか、万一ハイパーバイザが故障した際に、別のハイパーバイザで即座に仮想サーバーを起動するフェールオーバの機能を有しているという特長があります。

一方で専用サーバーでは、物理サーバーを占有して利用することができるため、仮想化システムのオーバーヘッドが無いことはもちろん、SSDを利用した高速なストレージシステムが利用できます。

実際に設定してみた

Basicシリーズと専用サーバーを接続する際に必要なルーティングの設定をご紹介します。ちなみに、 いずれのサービスも無償のトライアル期間を設けておりますので、興味がある方はぜひご自身でもお試しください。

用意するもの

※Basicシリーズで仮想サーバーを作るまでは前回の記事で紹介しましたので割愛します。
※Isolateシリーズでも同様のことが実現可能です。
※本例はCentOS6で実施しています。

Step1:必要な情報の確認

Basicシリーズと専用サーバーのローカルIPとローカルネットワークのGWを確認します。

専用サーバー側のローカルネットワークのCIDRとGWの確認
下記のコマンドを実行し、ローカルネットワークを確認してください。この実行結果の場合、ローカルネットワークはeth1の"172.22.0.0/15"になります。同様にGWは"172.23.255.254"となります。


[root@test ~]# ip route
180.222.182.0/24 dev eth0  proto kernel  scope link  src 180.222.182.117
169.254.0.0/16 dev eth1  scope link  metric 1002
169.254.0.0/16 dev eth0  scope link  metric 1003
172.22.0.0/15 dev eth1  proto kernel  scope link  src 172.22.182.117
default via 180.222.182.254 dev eth0

Basicシリーズ側のローカルネットワークのCIDRとGWの確認
同様にBasicシリーズ側のCIDRはeth0の"172.31.0.0/21"、GWは"172.31.7.254"となっていることが分かります。


[root@basic-vm ~]# ip route
172.31.0.0/21 dev eth0  proto kernel  scope link  src 172.31.5.178
169.254.0.0/16 dev eth0  scope link  metric 1002
default via 172.31.7.254 dev eth0

Step2:ルーティングの設定

Step1の結果から判明した下記の情報を利用してルーティングの設定を行います。

I/F CIDR GW
専用サーバー Eth1 172.22.0.0/15 172.23.255.254
Basicシリーズ Eth0 172.31.0.0/21 172.31.7.254

専用サーバー側でのスタティックルートの設定
BasicシリーズのローカルNWに接続する際の経路を設定するために下記の書式でルーティングの設定を加えます。値は上表を参考にしてください。

ip route add via dev


[root@test ~]# ip route add 172.31.0.0/21 via 172.23.255.254 dev eth1

Step3:設定の確認

それでは行った設定の確認を行います。

ルーティングテーブルの確認
下記のALTUS Basicで実行したコマンドを例に、ルーティングが追加されたことを確認します。この例では、"172.22.0.0/15 via 172.31.7.254 dev eth0"という行が追加されていることがわかります。専用サーバー側で実行も同様に追加された設定が確認できます。


[root@basic-vm ~]# ip route
172.31.0.0/21 dev eth0  proto kernel  scope link  src 172.31.5.178
169.254.0.0/16 dev eth0  scope link  metric 1002
172.22.0.0/15 via 172.31.7.254 dev eth0
default via 172.31.7.254 dev eth0

疎通確認
では、実際に疎通を確認してみましょう。Pingコマンドで専用サーバーからBasicシリーズに向けて疎通確認を行います。


# ping -c 3 172.31.5.178
PING 172.31.5.178 (172.31.5.178) 56(84) bytes of data.
64 bytes from 172.31.5.178: icmp_seq=1 ttl=61 time=0.730 ms
64 bytes from 172.31.5.178: icmp_seq=2 ttl=61 time=0.681 ms
64 bytes from 172.31.5.178: icmp_seq=3 ttl=61 time=0.547 ms

--- 172.31.5.178 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.547/0.652/0.730/0.082 ms

繋がらない場合はルーティングの設定を再確認するか、FWの設定を確認してください。

Step4

これだけでは再起動時にルーティングの設定がリセットされるため、専用サーバー側で下記のように手動で設定を反映してください。

  • 対象ファイル:/etc/sysconfig/network-scripts/route-
  • 内容:<ALTUS BasicのCIDR> via <専用サーバーのGW>

# vi /etc/sysconfig/network-scripts/route-eth1
# cat /etc/sysconfig/network-scripts/route-eth1
172.31.0.0/21 via 172.23.255.254

ベンチマーク
最後に、せっかく設定をしてみたのでSysBenchをとってみました。利用した筐体は下記のとおりです。

  • クライアントサーバー:ALTUS Basic シリーズ 4CPU 4GBメモリ
  • DBサーバー:専用サーバー XD-4プラン XeonE3-1230V2(4コア3.3GHz) 16GBメモリ SSD240GB*2

専用サーバーはE5-2450Lを2CPU搭載したXD-16プランもご用意していますが、今回は月額8,381円(税抜)から利用できるXD-4プランにSSDと回線アップグレードオプションをつけてベンチマークを計りました。

XD-4のベンチマークというよりは、Basic シリーズから専用サーバーに対して計測した実測値となります。チューニングは基本的なInnodbの設定のみ行っています。

Sysbenchバージョン sysbench 0.5
Mysqlバージョン 5.6.21
テストデータのレコード数 10万レコード×8テーブル
Sysbentchのスレッド数 16
計測時間 60秒
innodb_buffer_pool_size 10GB


下記が結果です。Read OnlyとRead/Writeの2つを載せています。

Read Only Read/Write
Transaction(per sec) 1645.36 1021.33
read/write requests(per sec) 23034.99 18390.23
read/write requests(per sec) 3290.71 2043.03

DBにSSDを利用しているということと、ローカルネットワークによる接続のため、中々いいパフォーマンスが出たので満足しました。

まとめ

如何だったでしょうか。このようにALTUS Basicシリーズと専用サーバーを接続する際の設定は簡単にできますので、10分もかからず設定が可能です。ALTUS内の3シリーズでの連携はもちろん、専用サーバーとも連携できるのが便利だとおもいます。

仮想サーバーを利用していてパフォーマンスに悩んだら、この記事を思い出していただけるとうれしいです。

ALTUSの3シリーズと専用サーバーやお客さまの環境とのハイブリッド構成に関しては当社のWEBサイトでも概念図でわかりやすく説明しています。要望や環境はそれぞれ異なると思いますのでこちらをご参考いただき、詳しくはお気軽にお問い合わせください。

パブリッククラウド(ALTUS)と専用サーバーやお客さまの環境とのハイブリッド構成に関して

▽詳細はコチラ
https://www.gmocloud.com/hybrid/

執筆:
GMOクラウド株式会社 技術部 / 片柳 勇人

プロフィール:
新卒入社三年目の比較的若手な運用エンジニア。知識・経験ほぼゼロで入社するも、周囲に見守られながらALTUSの検証・構築・運用と幅広く関わることで半人前に成長。現在はリリース後のALTUSを安定運用するために頑張る日々。