専用サーバ上で複数のマシンをネットワーク接続する――はじめての「さくらの専用サーバ」(3)
さくらの専用サーバでは、複数台の専用サーバをローカルネットワーク経由で接続する「ローカル接続(複数台構成)」機能が無償で提供されている。また、専用サーバとクラウドを連携させる「ハイブリッド接続」という機能も用意されている。今回はこれらの機能について紹介していく。
専用サーバ同士を同一にローカルネットワークに接続する「ローカル接続(複数台構成)」サービス
データセンターに複数台のサーバーを設置する場合、そのネットワーク構成にはいくつか定番のパターンがある。用途や使われ方によって当然その構成は変わるが、一般的なのは図1のように各サーバーが直接インターネットに接続される構成、もしくは図2のような一部のサーバーのみがインターネットに接続される構成だ。
図2の構成は、外部からアクセスされたくないサーバーがある場合や、専用サーバー上にロードバランサを設置する場合などに使われる。さくらの専用サーバではこのような構成を実現するため、「ローカル接続(複数台構成)」というサービスが提供されている。
さくらの専用サーバのローカル接続サービスは、その名前のとおりインターネットから隔離された、専用サーバー同士を接続するネットワークを提供するものだ。各サーバーには2つのネットワークインターフェイスが接続され、片方がインターネットに接続されたグローバルネットワークに、片方がローカル接続ネットワークに接続される形となる。
ローカル接続ネットワークの最大通信速度は1000Mbpsで、最大3つのローカル接続ネットワークを作成し、任意のサーバーを接続できる。各サーバーは1つのローカル接続ネットワークにしか接続できないが、どのローカル接続ネットワークに接続するかは自由に設定できる。
ローカル接続ネットワークを作成する
ローカル接続ネットワークに関する設定は、さくらの専用サーバのコントロールパネルで行える。どのサーバーがどのローカル接続ネットワークに接続されているかは、コントロールパネルの「サーバ リスト」で確認できる(図3)。デフォルトでは「未接続」となっている。
ローカル接続ネットワークを利用するには、まずローカルネットワークの作成を行う必要がある。ローカルネットワークの作成は、コントロールパネルの「ネットワーク」タブから行える。このタブを選択すると画面左にネットワーク一覧が表示されるが、ここで「ローカルネットワーク」をクリックすると現在利用できるローカルネットワーク一覧を表示する「ローカル ネットワーク リスト」画面が表示される(図4)。
ここで右上の「ローカルネットワークの作成」ボタンをクリックし、ポップアップする「新しくローカルネットワークを作成します」で「はい」をクリックすると、作成するローカルネットワークの名前と説明を入力するダイアログが表示される(図5)。
このダイアログにローカルネットワークを識別するための適当な名前を入力して「作成」をクリックするとローカルネットワークが作成される。ローカルネットワークは最大3つまでが作成可能だ。
ローカル接続ネットワークにサーバーを接続する
作成したローカル接続ネットワークにサーバーを接続するには、コントロールパネルの「サーバ」タブで設定したいサーバーを選択し、続いて「ネットワーク情報」タブをクリックする。(図6)。この画面の「ローカル接続」部分に現在接続されているローカル接続が表示される。
サーバーをローカル接続ネットワークに接続する、もしくは接続先のローカル接続ネットワークを切り替えるには、「ローカル接続」の下に表示されている「切替」ボタンをクリックする。
ここでの注意点だが、ローカル接続ネットワークの切り替えは、あくまでネットワーク側の接続先を切り替えるだけで、サーバー(OS)側のネットワーク設定は変更されない。そのため、多くの場合コントロールパネルでの設定変更後はサーバーにログインしてネットワーク設定を変更する必要があり、またその設定が完了するまで通信が行えなくなる可能性もある。サーバーの稼働中に接続先を切り替える場合などは特に注意が必要だ(図7)。
続いて「次へ」をクリックすると、接続先のローカル接続ネットワークを選択するダイアログが表示される。「切替先」で接続するローカル接続ネットワークを選択して「切替」をクリックし、確認画面で「はい」をクリックするとネットワークの切り替え処理が実行される(図8)。
なお、接続の切り替えには数秒~数十秒ほどの時間が必要だ。接続が完了すると、先ほどの「サーバ」画面の「ネットワーク情報」タブに表示される情報が更新され、「ローカル接続」の「接続情報」に接続先のローカル接続ネットワークが表示される(図9)。
専用サーバー側でローカル接続ネットワークを利用するための設定を行う
前述のとおり、コントロールパネルでの設定はあくまでネットワーク側の接続先を切り替えるだけのものだ。そのため、ローカル接続ネットワークを使って通信を行うにはOS側の設定も必要となる。ローカル接続ネットワークに接続されたネットワークインターフェイスは、専用サーバーのOSからは2つめのネットワークインターフェイス(Linuxであればeth1)として認識されるので、これに対しIPアドレスを割り当ててやれば良い。たとえばCentOSなどRed Hat系のディストリビューションの場合、「system-config-network」コマンドでの設定が可能だ。
# system-config-network
system-config-networkコマンドでの設定を行う場合、「Device configuration」を選択し、設定対象のデバイスとして「eth1」を選択すれば良い(図10)。
割り当てるIPアドレスだが、ローカル接続ネットワークはその契約者が使用している専用サーバー(同一の会員IDで契約しているサーバー)間だけで利用できるプライベートネットワークであるため、表1の範囲で自由に設定可能だ。
クラス | 範囲 | サブネットマスク |
クラスA | 10.0.0.0~10.255.255.255 | 255.0.0.0 |
クラスB | 172.16.0.0~172.31.255.255 | 255.240.0.0 |
クラスC | 192.168.0.0~192.168.255.255 | 255.255.0.0 |
また、ローカル接続ネットワークにはルーターが用意されておらず、直接インターネットに接続することはできない。そのため、ルーターを別途用意する場合以外はデフォルトゲートウェイの設定は不要だ(図11)。
専用サーバーをローカル接続ネットワークのみに接続する
複数台の専用サーバーをローカル接続ネットワークに接続して使用しているとき、特定のサーバーについてはインターネットから直接アクセスされたくない、という場合がある。たとえばWebサーバーとデータベースサーバーをそれぞれ別のマシンで運用している場合などだ。
この場合、そのマシン上でグローバルネットワーク側からの接続をブロックするようファイアウォールなどを設定するか、もしくはグローバルネットワークに接続されているネットワークインターフェイスを無効にする、といったことで対処できる(図12)。
たとえばLinuxの場合、ファイアウォール機能であるiptablesでグローバルネットワーク側からの接続をブロックできる。次の例は、iptablesコマンドを実行して設定を行うものだ。
# iptables -I INPUT -i eth0 -p all -j DROP # iptables -I INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
この設定では、eth0から入ってくるパケットに対し、すでに接続が確立されているパケット以外をドロップするよう指定している。これにより、サーバーからインターネットへの通信は許可され、インターネット側からサーバーへのパケットはすべて破棄される。
なお、この設定はサーバーもしくはネットワークを再起動するとクリアされてしまう。Red Hat系のディストリビューションの場合、「service iptables save」コマンドを実行することで設定を保存できる。
# service iptables save
ちなみに、Red Hat系のディストリビューションで一般的なiptablesの設定ツール「system-config-firewall-tui」の場合、対話的インターフェイスではこのような設定を行えないので注意したい(Custom Rules機能で別途設定ファイルを読み込んで設定することは可能)。
また、グローバルネットワークに接続されているネットワークインターフェイス(通常はeth0)をifdownコマンドなどで無効にすることでもインターネット側からの接続を禁止できる。
# ifdown eth0
ただしこの場合、サーバーからインターネットへの接続も行えなくなってしまうので注意したい。この構成でサーバーからインターネットへの通信を行いたい場合、ローカル接続ネットワークに接続された専用サーバーの1つをルーターとして設定し、そのサーバー経由でインターネットとの通信を行うという手がある(図13)。
この場合、ルーターとして使用するサーバーでNAT/NAPTを行う形となる。たとえばLinuxでiptablesを利用する場合、以下のようになる。
# iptables -I FORWARD -i eth1 -s <ローカルネットワークに割り当てられたネットワークアドレス> -j ACCEPT # iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # iptables -t nat -I POSTROUTING -s <ローカルネットワークに割り当てられたネットワークアドレス> -j MASQUERADE
ここでネットワークアドレスは「192.0.2.0/24」などのようにスラッシュ付きで指定する。
この設定に加えて、インターネットに接続されていないサーバー側ではデフォルトゲートウェイにルーターとして使用するサーバーのIPアドレスを指定する必要がある。これは前述のsystem-config-networkコマンドなどで可能だ。
ローカル接続ネットワークをさくらのクラウドのスイッチと接続する「ハイブリット接続」
ローカル接続ネットワークでは専用サーバーだけでなく、さくらのクラウドのスイッチやリモートハウジングのスイッチを接続することも可能だ(図14)。
これは「ハイブリッド接続」という有償サービスとなるが、これを利用することでスケーラビリティが必要となるサービスについてはさくらのクラウド上で稼動させ、常に一定量のリソースが必要となるサービスは専用サーバ上で稼動させる、といったことが可能になる。
ハイブリッド接続の申込み後にさくらインターネット側での設定が完了すると、自動的にローカル接続ネットワークにさくらのクラウドのスイッチが接続された状態となる。また、ローカル接続ネットワークやさくらのクラウドのスイッチ側の設定は利用者が自由に行える。
使用しているサーバーを専用のネットワークに隔離する
さくらの専用サーバでは、複数の利用者のサーバーがインターネットに接続されているグローバルネットワークを共有して利用する。つまり、利用しているサブネット内にほかのユーザーのサーバーも存在するということだ。多くの場合これで問題が発生することはないが、ほかのユーザーが送信するブロードキャストパケットなどの影響を受ける可能性はある。そのため、さくらの専用サーバではユーザー専用のサブネットを提供する「専用グローバルネットワーク」という有料サービスが用意されている。
専用グローバルネットワークサービスでは、ユーザーごとに専用のネットワークが用意され、プランによって16個から128個までのIPアドレスが割り当てられる(表2)。割り当てられるIPアドレスのうち一部はネットワークアドレスやゲートウェイアドレスなどに割り当てられるためそのすべてが利用できるわけではないが、複数のIPアドレスを利用できるため、専用サーバー上に構築した仮想マシンにグローバルIPアドレスを割り当てる、といった用途にも利用可能だ。
プラン | 提供されるネットワークのIPv4プレフィックス | 提供されるIPv4アドレス数 | 初期費用 | 月額料金(括弧内は年間一括支払いの場合の料金) |
---|---|---|---|---|
プランS | /28 | 16 | 5,250円 | 3,360円(40,320円) |
プランM | /27 | 32 | 6,720円(80,640円) | |
プランL | /26 | 64 | 13,440円(161,280円) | |
プランLL | /25 | 128 | 26,880円(322,560円) |
また、専用グローバルネットワーク利用時にはオプションとしてハードウェア型のファイアウォールやロードバランサも利用できる。といっても各ユーザーごとに1台ごとのファイアウォールやロードバランサが設置されるわけではなく、エンタープライズ向けの大規模ファイアウォールもしくはロードバランサを各ユーザーで共有して利用する形になるのだが、その設定は各ユーザーごとに自由に行うことが可能だ。これにより、機器自体の設定・管理をユーザー側で行うことなしに高性能な専用ハードウェアを利用できる。
ファイアウォールオプションでは、ファイアウォールとしてCiscoのASA5585-S20-K9が提供される。設定についてはリモートから行う形になっており、SSHでログインしての設定のほか、GUIで設定を行える管理用ソフトウェアも提供されている。
また、ロードバランサーオプションではロードバランサとしてA10 NetworksのAX3030が提供される。こちらについても設定はリモートから行う形になっており、GUIによる設定が可能だ。負荷分散はL4およびL7レベルで行え、またSSLアクセラレータなど高度な機能も備えている。
専用グローバルネットワークを利用する
専用グローバルネットワークは有料のオプションサービスであるため、利用にはあらかじめ申し込みが必要だ。専用サーバと同時に申し込みが行えるほか、すでに専用サーバを利用している場合はメールで申込みが行える。
専用グローバルネットワークを契約すると、コントロールパネルのサーバ画面内にある「グローバル接続」項目で、専用グローバルネットワークへの接続を設定できる(図15)。
なお、専用グローバル接続ネットワークではローカル接続ネットワークと同様、DHCPによる自動的なIPアドレス設定は提供されていない。そのため、利用者側でサーバーに静的にIPアドレスを割り当てる必要がある。このとき、提供されるIPアドレスをどのサーバーに割り当てるかは利用者側で自由に決定できる。
利用できるIPアドレスについては、コントロールパネルの「ネットワーク」タブで確認可能だ(図16)。
用途に応じてネットワーク構成を選択しよう
このように、さくらの専用サーバでは複数台構成時に柔軟なネットワーク構成を取れるのが大きな特徴の1つとなっている。大規模な環境になると設定作業なども面倒になるが、コントロールパネルでは契約しているサーバーごとのローカル接続およびグローバル接続の接続状態を一覧表示できるなど、管理しやすいようになっている。また、専用サーバーとクラウドやリモートハウジング間を接続できるハイブリッド接続を利用することで、専用サーバーの枠にとらわれない利用法が可能だ。
また、オプションサービスのファイアウォールやロードバランサーサービスでは大規模な環境にも対応できるエンタープライズレベルのハードウェアが提供される。大規模なサービスを構築したい場合などに有用だろう。
なお、専用グローバルネットワークやハイブリッド接続などは有料オプションということで別途費用がかかるため、用途に応じてどのようなネットワーク構成が最適か検討したうえで導入すると良いだろう。