意外と知られていないがWindows AzureはLinuxでIaaSとしても使える。Ubuntu ServerとApache、PHP、MySQL、phpMyAdmin環境を構築してみた。
マイクロソフトのクラウドプラットフォームサービスである「Windows Azure」。WindowsプラットフォームをベースにしたPaaSという印象が強いが、いまや仮想マシンから構築できるIaaSとしての機能も備わっている。さらに仮想マシンとしてWindowsサーバだけではなく、Linuxも利用できる。
本稿では、このWindows AzureのLinux仮想マシン上で、手軽にLAMP環境を構築する方法を解説する。
Windows Azureを使い始めるには、まずサインアップが必要となる。サインアップはMicrosoftアカウントにサインインをするところから始まるが、本稿ではMicrosoftアカウントの取得については省略し、サインイン後から解説を進めていく。
まだ取得していない場合は、記事「Windows 8で必要となるMicrosoftアカウントを作成する」や「ISPや会社のメール・アドレスでMicrosoftアカウントを作成する」などを参照してほしい。
Windows Azureにサインインすると、サインアップがまだの場合はサインアップ画面となり、本人の実在確認のための電話番号の入力を求められる(図1)。入力した電話番号あてのSMSまたはコールバックによって確認コードが伝えられるので、それを入力しなければならない。携帯電話か、自分が直接着信できる電話回線を準備しておこう。
この画面、少々分かりにくいのが、先頭の0を除いた電話番号を入力する点と、次の画面に進むのではなく、この画面の中で確認コード入力まで行う点だ。
電話番号を入力したら、フォームの右側にある「テキストメッセージを受信」ボタンを押すと、すぐにSMSかコールバックが来るので、伝えられた確認コードを新たに表れたフォームに入力する。確認コードを入力したら再び右側にあるボタンを押してコードの確認を行う。
コードの確認がうまくいくと、支払情報のフォームが現れるはずだ。2013年11月の原稿執筆時点では1カ月間の無料評価期間があるが、そうであっても身元確認のためということでカード情報と住所の入力が必須となっている。ここまで入力するとサインアップが可能となるので「サインアップ」をクリックする。
しばらく待ってサインアップが完了したら、右上の「ポータル」をクリックして先に進もう。次の画面、「管理ポータル」は、次回以降Windows Azureにサインインした直後の画面となる(図2)。
サインアップが済んだら早速、仮想マシンを作成してみよう。左下の「+新規」ボタンをクリックし、「コンピューティング」→「仮想マシン」→「簡易作成」と選んでいくと、作成する仮想マシンの情報を入力するフォームが表示される(図3)。
上から順に見ていくと、「DNS名」は作成した仮想マシンにアクセスするために必要になる名前だ。「cloudapp.net」ドメイン配下で名付ける。仮に独自ドメインを使いたい場合であっても必要で、この名前がいわば本名のようになる。
「イメージ」では仮想マシンの種類を選ぶ。Linuxの場合、執筆時点ではSUSE、Ubuntu、CentOS、Oracle Linuxといったディストリビューションから選択できる。クラウドサービスによっては、インストーラから任意のOSを導入できるものもあるが、Windows Azureでは用意されたものの中から選択する。Windows Azureでは用意されているものから選択となる。その代わり、Windows Azure向けのカスタマイズがなされていて、すぐに使うことができるようになっている。
今回はパッケージ管理に優れているUbuntu Serverを選んで進めていこう。執筆時点では、いくつかのバージョンが選択できる。UbuntuのバージョンにはLTS(Long Term Support)という長期サポートのバージョンがあり、最新バージョンが必須という事情でもない限り、サーバとしてはLTSを使うのをお勧めしたい。従って、ここでは「Ubuntu Server 12.04 LTS」を選択する。
次の「サイズ」は、仮想マシンのコア数やメモリといった性能を決めるものだ。料金は、このサイズに従ってアップするので、準備段階やテストや開発目的であれば「XS」や「S」でよいだろう。もちろん、後から変更することもできる。
「地域/アフィニティ グループ」は仮想マシンが配置される物理的な場所を指定するパラメータだ。インターネットは世界中とつながっているといっても、物理的に近い方が、速度や遅延の点で有利になる。ここでは地域として「東アジア」を選択しよう。
また、複数のサーバで協調して動作させるような場合、例えばDBとWebといったような構成では、サーバ間の遅延を抑えないと性能が出にくくなる。こういった目的のために、同一地域内でさらにサーバ同士を近くに配置するための機能が「アフィニティグループ」だ。アフィニティグループは事前に定義することで使えるようになるが、詳しくはWindows Azureのドキュメントを参照してほしい。
すべて入力したら「仮想マシンの作成」をクリックして、しばらく待てば作成が完了する。そのまま仮想マシンは起動中の状態となる。
仮想マシンが起動したら、次はsshでサーバにログインして設定を行おう。sshクライアントの使い方や接続方法などについては、記事「インターネットごしにsshでサーバ管理をしてみよう」などを参考にしてほしい。
sshの接続先はダッシュボードから確認できる。左側の「仮想マシン」を選択して作成済みの仮想マシンをリストアップしよう。接続したい仮想マシンを選択し、さらに「ダッシュボード」タブを選ぶと、仮想マシンの状態や負荷などのグラフを表示できる。
この画面を下の方にスクロールしていくと「SSHの詳細」という項目があり、ここに接続先が「ホスト名:ポート番号」という形で記されている(図4)。
基本的に接続先は作成した時のDNS名とssh標準のポート番号22のはずだが、もし異なっていれば表示されているものを使おう。ログインする際のユーザー名は仮想マシン作成時に示されたもの(今回は「azureuser」)を、パスワードは入力したものを用いる。接続、ログインが成功すればコマンドプロンプトが表示されるはずだ。
ログイン後は一般ユーザーの状態だが、設定などでroot権限が必要になる場合はsudoコマンドを用いる。執筆時点では、rootアカウントのパスワードは無効化されていてrootとしてログインできないようになっている。一般ユーザーでは、もう1つ、「ubuntu」というアカウントが有効になっているが、こちらは念のためパスワードを変更しておこう。
また、sudoの実行時にパスワード不要な設定になっているが、「/etc/sudoers.d/90-cloud-init-users」ファイルにある「NOPASSWD:」を消去すれば変更できる。
Windows Azureの仮想マシンは、sshのポートを除き、そのままではインターネットに公開された状態にはならない。Webサーバを公開するためにはポートを開放する設定をしなければならないが、これを「エンドポイント」という。エンドポイントの設定は仮想マシンを選択した後の「ダッシュボード」の隣にある(図5)。
エンドポイントを追加するには、下部中央にある「追加」をクリックする。負荷分散する場合オプションもあるが、単一サーバなので「スタンドアロンエンドポイントの追加」を選ぶ。次の「名前」では「HTTP」を選択し、チェックマークのボタンをクリックすれば、しばらく後に作成が完了する。
Copyright © ITmedia, Inc. All Rights Reserved.