Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Linux仮想マシンをWindows Azure上で動かそう!

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/03/27 14:00

 本稿では、Windows Azure仮想マシン上でLinuxを動作させる方法について解説します。Windows Azureと聞くと、Windows系OS専用のクラウドサービスと思われるかもしれませんが、実はLinux系OSも動作可能なのです。無料評価版も用意されているので、このチャンスを利用してWindows Azure上でLinuxを動かしてみませんか。

対象読者

 今回の対象読者は下記のとおりです。

  • クラウドサービスに興味のある方
  • Linuxに関する基本的な知識

必要な環境

  • Windows Azureサブスクリプション
  • ターミナルソフト(TeraTerm、PuTTY)など

Windows Azure仮想マシンとは

 2010年2月にWindows Azureが正式にサービスインしてから4年が経とうとしています。サービスイン当初は、PaaS色を全面に押しだし、利用できるOSもWindowsサーバーOSに限られていました。この時のイメージが強いせいでしょうか、まだまだWindows Azure上でIaaSの機能が利用でき、なおかつLinuxが動作可能であることを知らない方も多いでしょう。

 Windows AzureではこのIaaS機能を、Windows Azure仮想マシン(以下、仮想マシン)と呼びます。本稿では、Windows Azure仮想マシン上でLinuxを動作させる手順をステップバイステップで解説していきます。

利用できるディストリビューション

 現在、仮想マシン上で利用可能なイメージが提供されているLinuxディストリビューションは以下のとおりです。

  • Ubuntu 12.04 LTS/12.10/13.10/14.04 LTS
  • Open Logic CentOS 6.5
  • openSUSE 13.1
  • SUSE Linux Enterprise Server 11 SP3
  • ORACLE Linux 6.4

 これ以外にも、WindowsサーバーのHyper-V上で作成したイメージをアップロードして利用することができます。

仮想マシンのサイズについて

 後ほど説明する手順で、仮想マシンのサイズを選択する場面が出てきますが、先に仮想マシンのサイズについて説明しておきます。仮想マシンのサイズとは、言うなればサーバーの性能に相当するものです。Windows Azureでは仮想マシンのサイズを、下表の8種類から選択できます(※リージョンによって価格が異なります。下表は東アジア太平洋地域リージョンの場合)。

仮想マシンのサイズ
サイズ コア数 メモリ 1時間あたりの料金
A0 共有 768MB ¥2.04
A1 1 1.75GB ¥9.18
A2 2 3.5GB ¥18.36
A3 4 7.0GB ¥36.72
A4 8 14GB ¥73.44
A5 2 14GB ¥40.80
A6 4 28GB ¥81.60
A7 8 56GB ¥163.20

 A0~A4までを標準インスタンスと呼びます。この中でもA0インスタンスはCPUが他と共有され、メモリサイズも少なめとなっています。これはテストやデバッグなどの用途に利用されることを想定したものです。通常はA1サイズを基点にCPU、メモリ、ネットワークの使用量を考慮して、サービスに適したサイズを選択します。

 A5~A7はメモリ集中型インスタンスと呼ばれ、2013年4月頃、新たに追加されたものです。標準インスタンスよりもメモリが潤沢に扱えることが特徴で、例えばデータベースなどに利用されることを想定しています。

仮想マシンを利用する

 それでは早速、Windows AzureでLinuxを動作させる手順を解説していきます。

Windows Azure無料評価版を利用する

 Windows Azureを評価するために、1か月の無料評価版が利用できます。すべての機能を利用でき、なおかつ約20,500円分までの課金分が無償で利用できます。

 Windows Azureサブスクリプションを契約するには、マイクロソフトアカウント(旧Live ID)が必要です。お持ちでない場合は、「Microsoftアカウント登録手続き」からアカウントを作成してください。

 マイクロソフトアカウントを取得した後に、「Windows Azureサブスクリプション申し込みStep by Step」を参考に、サブスクリプションを申し込んでください。特に課金枠を外す操作をしなければ、無償枠をオーバーして課金されることがないため、心配することはないでしょう。

仮想マシンを作成する

 Windows Azureの操作は管理ポータルから行います(*1)。「管理ポータル」にアクセスしサインインします。管理ポータル画面がWindows Azureの各種操作を行う画面です。

*1

 Webからの管理以外にも、PowerShellやAzure Command Line Toolsなどコマンドラインの管理ツールも利用できます。なかでもAzure Command Line Toolsは、LinuxやMac OSなどWindows以外のプラットフォームでも動作します。

 管理ポータルの左ペインから[仮想マシン]を選択します(図1)。仮想マシンの管理画面になります。ここで、[仮想マシンを作成する]をクリックします。

図1:仮想マシンの管理画面
図1:仮想マシンの管理画面

 新規作成メニューが表示されます。仮想マシン作成には、簡易作成とギャラリーからの作成の2種類がありますが、ここではギャラリーからを選択します。

図2:仮想マシンの作成
図2:仮想マシンの作成

 イメージの選択画面が表示されます(図3)。左ペインからUBUNTUを選択すると、利用可能なUbuntu Linuxメージ表示されます。ここでは、最新版の13.10を選択し、下部の[→]ボタンをクリックします。

図3:イメージの選択画面
図3:イメージの選択画面

 続いて、仮想マシンの構成画面(1/3)が表示されます。

図4:仮想マシンの構成画面1
図4:仮想マシンの構成画面1

 以下に従って、内容を設定してください。

仮想マシンの構成1
項目 内容
バージョンのリリース日 同一イメージに複数のリリースが存在します。
特に問題がなければ最新日付を選択します。
仮想マシン名 仮想マシンの名前を指定します。サーバー名として利用されます。
サイズ 仮想マシンのサイズを選択します。ここでは、標準のSサイズを選択します。
新しいユーザー名 管理者となるユーザー名を指定します。
root、adminといった名前は許可されません。
認証 SSHでの接続方法を指定します。
鍵交換またはパスワードにより認証を選択できます。
ここでは、パスワードの指定を選択し、パスワードを入力します。

 仮想マシンの構成(2/3)画面が表示されます(図5)。

図5:仮想マシンの構成画面2
図5:仮想マシンの構成画面2

 以下に従って、内容を設定してください。

仮想マシンの構成2
項目 内容
クラウドサービス 仮想マシンを格納するコンテナーです。
ここでは新しいクラウドサービスを作成します。
クラウドサービスのDNS名 このクラウドサービスに対するDNS名を割り当てます。
Windows Azureサービス中で一意の必要があります。
地域/アフィニティグループ/
仮想ネットワーク
クラウドサービスを提供する場所を選択します。
ここでは、日本から近い東アジアを選択します(*2)。
ストレージアカウント 仮想マシンで作成されるイメージを格納するための、
ストレージアカウントを設定します。
ストレージアカウントとは、Windows Azureで利用できる
クラウドストレージです。
この中でも作成されたイメージは、BLOB(ブロブ)と呼ばれる、
バイナリを格納するのに適したストレージに格納されます。
可用性セット 可用性セットを定義すると、同一のマシンに配備されないことや、
同時にホストOSのメンテナンスで停止されないことを保証できます。
ただし、複数のインスタンスでの起動のときにのみ有効なので、
ここでは「なし」のままにしておきます。

 仮想マシンの構成画面(3/3)が表示され、ここではエンドポイントを構成します(図6)。Windows Azureでは、外部に開くポートをあらかじめ定義しておく必要があります。また起動後に変更することもできます。

*2

 東日本/西日本リージョンが2月26日から利用可能になりました。

図6:仮想マシンの構成画面3
図6:仮想マシンの構成画面3

 SSH(ポート22番)はデフォルトで構成されているため、ここでは後でWebサーバーを起動し接続確認するために、HTTP(ポート80番)を構成します。コンボボックスから、HTTPを選択すると、プロトコル、ポートは自動で設定されます。

 最後に[レ]ボタンをクリックすると仮想マシンの作成と配置が開始します。管理ポータルから状態を確認し、実行中になれば配置完了です(図7)。

図7:起動確認
図7:起動確認

SSHによる接続

 管理ポータルから、myserver‐ダッシュボードを選択すると図8の画面になり、myserverの状況が確認できます。上部のグラフではCPU使用率やディスクIOなどが確認できて便利です。右下部に、DNS名やパブリック、プライベートIPアドレスなど詳細情報を確認できるでしょう。SSHの情報もここにDNS名とポートが表示されているので、ターミナルソフトで接続します。

図8:ダッシュボード
図8:ダッシュボード

 ターミナルソフトはPuTTYやTeraTermなどで構いません。ここではTeraTermから接続してみましょう。

 TeraTermを開き、ホスト名に「クラウドサービス名.cloudapp.net」を指定し、サービスにはSSHを選択します。ポートが22番になっていることを確認し、[OK]ボタンをクリックします(図9)。

図9:TeraTermによる接続
図9:TeraTermによる接続

 引き続き、ユーザー名とパスワードを入力すれば仮想マシン上で起動したUbuntuサーバーにログインできるでしょう(図10)。

図10:サーバーへのログイン
図10:サーバーへのログイン

 ログイン後は、普通のLinuxサーバーと何ら変わることはありません。サービスに必要なセットアップを行うことができます。

HTTPサーバーの起動と接続

 仮想マシンの構成で、80番ポートを開く設定をしました。ここでは、Apache HTTPサーバーをインストールして、80番ポートが開放されているか確認してみましょう。HTTPサーバーは、apt-getコマンドでインスールします(リスト1)。

[リスト1]Apache Httpサーバーのインストール
$ sudo apt-get install apache2

 インストールが完了したらブラウザから、クラウドサービスのURLを開きHTTPサーバーが起動していることが確認します。

図11:Httpサーバーへの接続確認
図11:Httpサーバーへの接続確認

仮想マシンの停止と削除

 仮想マシンの停止はサーバー上からではなく、管理ポータルから行います。シャットダウンボタンをクリックすると、シャットダウンが行われ、利用されていたIPアドレス等のリソースが開放されます。この状態では、仮想マシンの課金は行われません。

 ただし、仮想マシン上からシャットダウンした場合は、引き続きWindows Azure上のリソースが確保されたままになるため、課金が発生することに注意してください。

 停止済み(割り当て解除済み)と表示されていれば、課金は発生しません。

図12:停止確認
図12:停止確認

 すべてのリソースを削除するには、引き続き[削除]ボタンをクリックします。接続されたディスクを削除、保持するポップアップが表示されます。引き続き仮想マシンを利用しなければ、削除を選択して操作を続行します。仮想マシンの一覧から表示されなくなれば削除完了です。

 また、仮想マシン作成時にクラウドサービスとストレージアカウントも同時に作成されているはずです。各々の管理画面から削除を選択すれば、リソースの削除を終了です。

BLOBの課金

 BLOBの課金について補足しておきます。作成されたイメージはBLOBに格納されると説明しましたが、1GB当たり約7円課金されます。余程大きなデータでないと、大きな課金額になることはないでしょう。またディスクの読み書きで、トランザクションと呼ばれる課金が発生します。10万トランザクションあたり、¥0.51円です。どの程度のトランザクションが発生するかについては提供するサービスにもよるため、一概にはいえません。検証などを通してコスト設計する必要があります。

まとめ

 Windows Azure仮想マシンを利用すると、簡単な操作でLinuxサーバーが利用できることがお分かり頂けたでしょうか。Windowsという名が冠してあるため、まさかLinuxが動作するなんて、と感じた方も、多かったのではないかと思います。

 もちろん現時点において、本格的な運用を行うために考慮が必要な点もいくつかあるのですが、ぜひこの機会に、無料評価版を利用してみてください。また、マイクロソフトでは随時無料の「Windows Azureトレーニング」を実施しています。もっと詳細な利用方法を習得したい場合は、こちらを活用することも可能です。

 2月26日には東日本/西日本リージョンも開設されました。今後はWindows Azureをもっと身近な物として利用することができるでしょう。

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト statemachine(statemachine)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5