LAMP開発者のためのWindows Azure講座

第10回Azure上で使うネイティブLinux環境

IaaSの提供でLinuxがそのまま稼働するように

米Microsoftは6月6日(米国時間⁠⁠、Windows Azureの大幅なアップデート「Windows Azure Spring Release」を実施しました。LAMP環境についての大きなトピックは、Linux OSに対応したIaaS機能「Virtual Machines」の提供、MySQLなどに対応したWebサイト制作機能「Web Sites」の提供、HTML5に対応した管理ポータルの提供です。

このアップデートにより、これまで紹介してきたようなPaaS上でLAMP環境を動作させるための手間や作業は必要なくなりました。MacやLinuxなどのクライアントからブラウザで管理ポータルを開き、事前に提供されているテンプレートを使って⁠素の⁠Linuxマシンを10分程度で稼働させることができます。

対応しているLinuxは現在のところ、CentOS 6.2、SUSE Linux Enterprise Server、Ubuntu Server 12.04、openSUSE 12.1となっています図1⁠。

図1 テンプレートとして用意されてるVirtual Machines
図1 テンプレートとして用意されてるVirtual Machines

10分もかからずにLinuxマシンを作成できる

最終回となる今回は、このアップデートを受けて、新しくなった管理ポータルでLinuxマシンを作成して稼働させる手順を紹介することにします。新しい管理ポータルのURLhttp://manage.windowsazure.comにアクセスします。ログイン情報を入力すると、自動的に図2の画面になります。

図2 新しい管理ポータルの画面
図2 新しい管理ポータルの画面

もし、旧管理ポータルが表示されたら画面の下部の「新しいポータルへ移動」で移動できます。

図3 古い管理ポータルの画面
図3 古い管理ポータルの画面

新しい管理ポータルの左下の「NEW」から「VIRTUAL MACHINES⁠⁠、⁠CREATE A VIRTUAL MACHINE⁠⁠、⁠FROM GALLARY」を選択すると図1になりますので、そのままCentOS 6.2を選び「→」を押します。図4の画面になります。

図4 CentOS 6.2を作成
図4 CentOS 6.2を作成

続いて、Virtual Machineの名前(ホスト名⁠⁠、ユーザー名、パスワードを入力して「→」を押します。

図5 Virtual MachineのDNSなどを設定
図5 Virtual MachineのDNSなどを設定

続いて、URLとなる「DNS NAME⁠⁠、ストレージアカウントなどを入力して「→」を押します。

図6 Virtual Machineのオプションを設定
図6 Virtual Machineのオプションを設定

そのまま、チェックボタンをクリックして終了です。5分程度でVirtual Machineが作成され、次のような画面になると思います。

図7 Virtual Machineの一覧画面
図7 Virtual Machineの一覧画面

Virtual Machineの名前「centos」をクリックすると、図8のような設定画面に移動します。

図8 Virtual Machineの設定画面
図8 Virtual Machineの設定画面

ここでCPU、ディスクの使用状況や各種設定を確認することができます。ディスクやネットワークは自動的に作成され、すでにSSHでアクセスできる状態になっています。

Virtual Machineの作成は以上です。なお、Virtual MachinesとWeb Sitesはプレビュー版なるので初回時に利用登録が必要で、これには少し時間がかかります。

SSHでVirtual Machineにアクセス

では次にSSHでアクセスしてみましょう。クライアントとしては、Macのターミナル.appを利用することにします。下記のように、先ほど作成した情報を使ってアクセスします。

$ ssh centossample.cloudapp.net -l user01

初回は、CentOSを普通にインストールしたときのようにknown hostsとして追加するかどうかの確認がでますのでyesとします。続いて、ログインパスワードが促されますので、先に登録したパスワードでログインします。図9のようにログインできるはずです。

図9 SSHでCentOSにログイン
図9 SSHでCentOSにログイン

基本的には以上です。ログイン後は、sshd_configを編集して、パスワードログインを禁止したり、公開鍵認証を行うための作業を行って、より安全にSSHアクセスできる環境しておきます。この辺りはLinuxと同じです。

参考までに、以下にインストール直後の各種情報を載せておきます。インスタンスは「ExtraSmall(Shared Core, 768 MB Memory⁠⁠」で作成しています。

mount -lの結果
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /mnt/resource type ext4 (rw)
dfの結果
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      28455944   1771988  25238480   7% /
tmpfs                   375504         0    375504   0% /dev/shm
/dev/sda1               495844     65023    405221  14% /boot
/dev/sdb1             20640380    176064  19415844   1% /mnt/resource
hdparm -t /dev/sdb1の結果
/dev/sdb1:
 Timing buffered disk reads:  944 MB in  3.00 seconds = 314.44 MB/sec
chkconfig --listの結果
abrt-ccpp       0:off   1:off   2:off   3:on    4:off   5:on    6:off
abrt-oops       0:off   1:off   2:off   3:on    4:off   5:on    6:off
abrtd           0:off   1:off   2:off   3:on    4:off   5:on    6:off
acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off
certmonger      0:off   1:off   2:off   3:off   4:off   5:off   6:off
cgconfig        0:off   1:off   2:off   3:off   4:off   5:off   6:off
cgred           0:off   1:off   2:off   3:off   4:off   5:off   6:off
cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
cups            0:off   1:off   2:on    3:on    4:on    5:on    6:off
haldaemon       0:off   1:off   2:off   3:on    4:on    5:on    6:off
hv_kvp_daemon   0:off   1:off   2:off   3:on    4:off   5:on    6:off
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
irqbalance      0:off   1:off   2:off   3:on    4:on    5:on    6:off
kdump           0:off   1:off   2:off   3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
matahari-broker 0:off   1:off   2:off   3:off   4:off   5:off   6:off
matahari-host   0:off   1:off   2:off   3:off   4:off   5:off   6:off
matahari-network        0:off   1:off   2:off   3:off   4:off   5:off   6:off
matahari-service        0:off   1:off   2:off   3:off   4:off   5:off   6:off
matahari-sysconfig      0:off   1:off   2:off   3:off   4:off   5:off   6:off
mcelogd         0:off   1:off   2:off   3:on    4:off   5:on    6:off
mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
messagebus      0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
nfs             0:off   1:off   2:off   3:off   4:off   5:off   6:off
nfslock         0:off   1:off   2:off   3:on    4:on    5:on    6:off
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
ntpdate         0:off   1:off   2:off   3:off   4:off   5:off   6:off
oddjobd         0:off   1:off   2:off   3:off   4:off   5:off   6:off
portreserve     0:off   1:off   2:on    3:on    4:on    5:on    6:off
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off
psacct          0:off   1:off   2:off   3:off   4:off   5:off   6:off
qpidd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
quota_nld       0:off   1:off   2:off   3:off   4:off   5:off   6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
rngd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
rpcbind         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rpcgssd         0:off   1:off   2:off   3:on    4:on    5:on    6:off
rpcidmapd       0:off   1:off   2:off   3:on    4:on    5:on    6:off
rpcsvcgssd      0:off   1:off   2:off   3:off   4:off   5:off   6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
smartd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
sssd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
waagent         0:off   1:off   2:on    3:on    4:on    5:on    6:off
ypbind          0:off   1:off   2:off   3:off   4:off   5:off   6:off

MicrosoftによるOSSサポート

このようなIaaS上でLinuxを動作させるメリットとしては、スケールアップやスケールアウトが容易であることが挙げられます。AzureのVirtual Machinesでも、CPUやディスクのスケールアップは管理ポータルから可能です。また、スケールアウトについても、複数のVirtual Machineを稼働させ、ロードバランスさせることで対応できます。

これら以外にも、MacやLinux向けのAzure SDKの配布、gitによるデプロイなど、OSSのサポートという点で多くの改善が加えられました。少なくともこれまでのようにムリをしながらLAMP環境を作る必要はなくなりました。自社でどのような活用できるか検討してみてはいかがでしょうか。

おすすめ記事

記事・ニュース一覧