もっと自由に使えるVPS「ConoHa by GMO」を試す

IPv4アドレスの追加とIPv6アドレスの利用を試す

 前回のレビューでは、GMOインターネットによる新ブランドのVPS「ConoHa」について、VPSとしての基本機能や、VPSをユーザーがその場で追加できる機能などについて試した。

 ConoHaの特徴の1つに、追加のIPアドレスを、VPSを作成したあとからでもユーザーの操作で割り当て、VPSに追加する機能がある。このIPアドレスは、VPSに最初から設定されているIPアドレスとは別のネットワークセグメントのものとなる。

 また、ConoHaではVPSに最初から、IPv4アドレスだけでなくIPv6アドレスも割り振られている。しかも、グローバルなIPv6アドレスが17個だ。このIPv6アドレスは、追加IPアドレスとは違い、最初から使われる1つのネットワークインターフェイス(NIC)に割りふられている。

 今回は、この追加IPアドレスと、IPv6アドレスについて試してみた。

複数のIPアドレスで1つのサーバーを分ける

 追加のIPアドレスが必要になる例として、1つのウェブサーバーを仮想ホスト機能で分けつつ、HTTPS接続に対応するケースがある。

 ウェブサーバーの仮想ホスト機能には、一般に、アクセスしてきたサーバー名(FQDN)で分ける名前ベースの方式と、IPアドレスで分けるIPアドレスベースの方式とがある。名前ベースの仮想ホストは、普通にIPアドレスが1つ割り当てられたサーバーで利用でき、簡単に利用できる。しかし、FQDNはHTTPプロトルでサーバーに伝えられるのに対し、HTTPSでは、HTTP接続する前にFQDNと証明書を照合する必要がある。そのため、名前ベースの仮想ホストでは、HTTPS対応が難しい。ワイルドカード証明書やSNI方式で対応する方法もあるが、使い方に制限がある。

 そこで、IPベースの仮想ホストを使うことで、それぞれHTTPS接続に対応できる。

 そのほか、ConoHaのインタビューでは、複数の目的のサーバーを同居させる場合、たとえばウェブサーバーとSIP(IP電話交換機)サーバーを同居させる場合に、IPアドレスを分けたい、という要望があるという話も語られていた。

 なお、追加IPアドレスの料金は、以下のとおりだ。

  

【追加IPアドレスの個数】
IPアドレス個数月額
2個420円
4個840円
8個1680円
16個3360円

追加IPアドレスを作る

 では、実際にIPアドレスを追加してみよう。

 IPアドレスの追加には、(1)追加IPアドレスを作る、(2)新しいIPアドレスをVPSに割り当てる、(3)VPSのOSにIPアドレスを設定する、の3段階の作業が必要だ。これらは物理サーバーでいうと、ネットワークを作り、サーバーにNICを追加して接続し、サーバーOSを設定する、という手順に相当する。

 追加IPアドレスを作るには、ConoHaのコントロールパネル左端にある「サービス」アイコンから「サービス」の「追加IPアドレス」を選ぶ。すると、追加IPアドレスのリストが表示される。ここで「IPアドレス追加」をクリックする。

 追加内容の選択では、個数を選ぶ、そして「確認」をクリックし、確認画面で「決定」をクリックすると、追加IPアドレスのリストに新しい項目が1つ表示される。これが、1回で追加したIPアドレス(2個など)が含まれるセグメントだ。

 画面左の操作リストの中では、「IPアドレスリスト」の下の項目として、追加されたセグメントが表示される。ここをクリックすると、含まれるIPアドレスの一覧や、ゲートウェイの情報が表示される。この状態では、IPアドレスはVPSには割り当てられていない。

 なお、見たかぎりでは、追加IPアドレスにはIPv6アドレスは割り当てられていないようだ。とはいえ、元からVPSに17個割り当てられているので、問題はない。

コントロールパネルから「サービス」の「追加IPアドレス」を選ぶ
追加IPアドレスリストは最初は空だ。「IPアドレス追加」をクリックする
追加するIPアドレスを指定する。いまのところ、個数のみを選ぶ
追加内容を確認する
追加IPアドレスリストに新しいセグメントが表示された
追加したIPアドレスの情報

新しいIPアドレスをVPSに割り当てる

 続いて、追加IPアドレスをVPSに割り当てよう。このとき、VPSは停止状態である必要がある。

 まず、ConoHaコントロールパネルの左端にある「サービス」アイコンから「VPS」を選ぶ。そして、画面左の操作リストから目的のVPSを選び、「ネットワーク」を選ぶと、そのVPSのNICのリストが表示される。このときには、2つ目のNICの項目だけ作られているが、未設定の状態になっている。

 ここで、未設定のNICの「設定」をクリックすると、NICの設定となる。「セグメント」に、さきほど追加したIPアドレスのセグメントが選ばれている。その下に、2個追加したなら2個のIPアドレスが選べるようになっているので、NICに割り当てるほうのIPアドレスにチェックマークを付ける。そして、「確認」をクリックし、確認画面で「決定」をクリックすると、NICのリストに新しいNICが表示される。

 なお、ConoHaの技術ブログでは、OpenStackなどをどのように構成してConoHaを実装しているか説明したプレゼンテーション資料も公開されている。これによると、NICを動的に追加する機能は、OpenStackの最新バージョン「Grizzly」の新機能により実装されているそうだ。また、追加したNICに割り当てるMACアドレスは、「Dual NIC PCIeっぽい」アドレスになるように生成しているという。

コントロールパネルから「サービス」の「VPS」を選ぶ
NICの一覧で、未設定のNICの「設定」を選ぶ
NICにネットワークセグメントとIPアドレスを割り当てる
設定内容を確認する
NICが設定され、ネットワークに接続された

OSに設定する

 追加したIPアドレスをNICに割り当てたら、VPSを起動して、VPSのOSにIPアドレスを割り当てよう。

 新しいNICの設定ファイル(ifcfg-eth1)は、最初から生成されているということはなく、自分で作成する必要がある。また、複数のNICがそれぞれグローバルIPアドレスでアクセスされる場合には、マルチホーミング(複数経路)も設定する必要がある。

 この設定はConoHa特有のものではなく、物理的なLinuxサーバーなどと同じネットワーク設定だ。複数のグローバルIPアドレスを持つLinuxサーバーを立てようという人であれば、このあたりの設定は、自分で問題なくできるだろう。ConoHaのオンラインドキュメントにも、デフォルトのOSであるCentOS 6での設定例が紹介されているので、OSのネットワーク設定に詳しくない人はこれを参考にするとよい。

NICを追加する前に「ip address」コマンドでIPアドレスなどの割り当てを表示したところ。「eth0」にたくさんのIPv6アドレスが設定されているところに、ちょっと感激
NICを追加する前に、ip addressコマンドでIPv4アドレス情報だけを表示したところ
NICを追加して、lspciコマンドでPCIデバイスの一覧を表示したところ。NICが2つ認識されている
新しいNICを設定して、ip addressコマンドでIPv4アドレス情報だけを表示したところ。追加されたNIC「eth1」の情報も表示されている

 NICを追加したところで、実例として、ウェブサーバーでIPアドレスベースの仮想ホストを設定してみた。せっかくなので、2つのIPv4アドレスと同時に、IPv6のアドレスの1つにも仮想ホストを割り当てた。

 下の画面写真では、ウェブサーバーソフトのApache httpdを使って、3つのIPアドレスにそれぞれ仮想ホストを割り当て、それぞれ異なるコンテンツのディレクトリを設定している。そのため、同じサーバーに異なるIPアドレスでアクセスすることで、コンテンツが表示される。この例では、単に異なるHTMLを表示しているだけであり、ウェブアプリケーションで動的にページを表示しているわけではない。

 ちなみに、ウェブブラウザーやApache httpdなどでは、IPv6アドレスは[ ]で囲って指定する。

Apache httpd(バージョン2.2)でIPアドレスベースの仮想ホストを設定
ウェブブラウザから1つめのIPv4アドレスにアクセスした場合
ウェブブラウザから2つめのIPv4アドレスにアクセスした場合
ウェブブラウザからIPv6アドレスにアクセスした場合

 以上、ConoHaでのIPアドレスの追加や、IPv6アドレスについて試してみた。グローバルIPv4アドレスを持つネットワークを、その場で数クリックするだけですぐ作って接続できるのは、いままでのVPSになかった自由度だ。また、その設定方法も、ネットワークを作り、サーバーにNICを追加して接続し、OSを設定する、というもので、物理インフラでの設定の知識があればそのまま活かせるようになっている。このあたりも、技術者向けブランドを新しく作ったゆえんといえるだろう。

――明日は、やはりConoHaの特徴のひとつである、ローカルネットワーク接続機能の使用レビューをお送りします。

高橋 正和