マップを使ってサーバをビジュアル的に管理しよう
クラウドでサーバを運用している場合、トラフィックや処理の負荷によってサーバを動的に増減させます。そのため、サーバ構成が複雑になり、全く覚えのないサーバがずっと稼働していたなんてケースも出たりします。
どのサーバがどのネットワーク上にあり、他のサーバとどう繋がっているのかが分かれば、運用はしやすくなります。かつてはハードウェアがあったので接続状態を確認するのが簡単でしたが、クラウドではそうもいきません。そこで使ってみたいのがさくらのクラウドで提供しているマップ機能です。
マップ機能とは?
マップ機能はサーバとスイッチ(ハブとルータ)の接続状態を可視化する機能です。さらにマウスでドラッグ&ドロップを使ってサーバのネットワーク構成をダイナミックに変更できます。
NIC(ネットワークインタフェース)がポインターとなって、ハブやルータと接続できます。そして、サーバのインタフェースにIPアドレスを割り当てることでサーバ同士の接続も可能になります。
試してみる
例えばよくある構成として、Webサーバ、アプリケーションサーバ、データベースサーバがあるといった構成で考えます。この時大事なのが、最初にスイッチを作ると便利ということです。つまりWebサーバをフロントとして備えるのであれば、ルータとハブを最初に用意します。
ルータ/ハブを作る
ルータとスイッチは同じ画面から作れますが、ルータの場合はルータ機能を有効にすればOKです。グローバルなIPアドレスが複数取得できます。
そして、まずルータとハブを用意します。そうするとこのようなマップになるかと思います。
Webサーバを作る
次にサーバを作りますが、まずフロントになるWebサーバを作ります。この時、接続先のネットワークをスイッチにし、作成したルータを選択します。IPアドレスはルータに設定されているグローバルIPアドレスの中から選択します。
IPアドレスを指定しているため、サーバは一回に一台しか作れません。
アプリケーションサーバを作る
次にアプリケーションサーバを作ります。接続先はハブで、IPアドレスは192.168.0.2などとします。同じく192.168.0.3で2台目のアプリケーションサーバ、192.168.0.4でデータベースサーバを作ります。
マップは次のようになります。
NICを追加する
次にWebサーバをシャットダウンします。これはサーバが停止していないとNICが追加できないためです。
シャットダウンが完了したら、NICを追加します。
NICを追加したら、追加されたポインタをハブに接続します。
サーバを起動する
Webサーバとハブをつないだらサーバを起動します。なお、IPアドレス編集機能もありますが、サーバの設定に反映される訳ではありません。
サーバに接続したら、ネットワークインタフェースの設定を行います。今回はUbuntuなので /etc/network/interfaces が対象です。
# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 153.120.84.228 netmask 255.255.255.240 gateway 153.120.84.225 # 以下を追加 auto eth1 iface eth1 inet static address 192.168.0.5 netmask 255.255.255.240 gateway 192.168.0.1
設定を完了したら ifup eth1 を実行すると設定が反映されます。
# ifconfig : eth1 Link encap:Ethernet HWaddr 9c:a3:ba:28:b5:f7 inet addr:192.168.0.5 Bcast:192.168.0.15 Mask:255.255.255.240 inet6 addr: fe80::9ea3:baff:fe28:b5f7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:350 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:19600 (19.6 KB) TX bytes:168 (168.0 B) :
サーバに接続する
ハブに接続されているサーバは、このWebサーバを経由しないと接続できません。Webサーバの公開鍵を作成して、その文字列を接続先サーバの ~/.ssh/authorized_keys に貼り付ければ公開鍵認証でログインできるようになります。
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): : $ cat ~/.ssh/id_rsa.pub ssh-rsa AAA...oq3 ubuntu@web
注意点
ハブに繋がっているサーバはインターネットに接続されていません。ライブラリのインストールやセキュリティアップデートの際などは注意してください。
マップ機能を使えば複雑なネットワーク構成も一目で分かるようになります。Web APIからの操作も可能なので、サーバを自動的に立ち上げてハブに追加したり、切り離すこともできます。複雑化しやすいクラウドでのサーバ管理に活かしてください。