しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

Windows Azure 仮想マシンで CentOS を動かしてみた

Spring Release で追加された仮想マシン。こいつを使えば CentOS などを簡単に Windows Azure 上で動かすことできるという。

果たしてそれは本当なのだろうか、ということで実際に試してみました。まずは管理ポータル(プレビュー版)から仮想マシンを作っていきます。

基本は新ポータル左下にある +NEW ボタンから始めればいいです。

今回は CentOS を使うので「OpenLogic CentOS 6.2」を選びました。

仮想マシンの名前、管理者のユーザー名とパスワード、インスタンスのサイズを選びます。必要であれば SSH のキーをアップロードできますが、X.509 形式で作成しないといけないので、大半の作成済みの cer や pem を指定すると失敗します。

今回はスタンドアローンの VM を作成するので、ラジオボタンは変更なし、DNS Name はユニークなものであれば問題なしです。ストレージアカウントは自動で、リージョンは東アジアにしておけば、まあ問題はないでしょう。

しばらく待てば仮想マシンが作成されて自動的に立ち上がります。

このままだと SSH だけは通りますが、仮想マシンに HTTP サーバが動いていないのと、80 番ポートが開いていないのでエラーになります。まずは 80 番ポートを開けておきます。

設定は管理ポータルの Endpoints から行います。

今は SSH 用の 22 番ポートだけが開いてるので、80 番ポートの設定を追加します。画面下に Add Endpoint というボタンがあるので、そこから追加が可能です。

ボタンをクリックするとダイアログが表示されますが、今回はロードバランシングを行わないので何もせずに次へ進みます。

わかりやすい画面なので説明はいらないと思いますが、名前は HTTP、プロトコルは TCP、パブリックポート・プライベートポートともに 80 と入力すれば問題ないです。

あとは SSH で仮想マシンに接続して HTTP サーバを立ち上げるだけですが、今回は普通に Apache をインストールして立ち上げてみます。とりあえず PuTTY などの SSH クライアントを使って仮想マシンにログインします。

su になった後は以下のコマンドを入力するだけで Apache のインストールと起動が完了します。

# Apache のインストール
yum install httpd

# 再起動時に httpd が自動起動するように設定
chkconfig --add httpd
chkconfig httpd on

# httpd を起動
service httpd start

これで http://*****.cloudapp.net/ にアクセスすると Apache デフォルトの画面が表示されます。

あっさりと Apache が起動して Web サーバとして動かすことが出来ました。

Azure のインスタンスはロードバランサーの後ろにいるので、インスタンスを追加しての負荷分散も簡単にできるようになってますが、それは別で書きたいと思います。