Windows Azure VM Roleの5つの豆知識

Windows Azure VM Roleの使用方法については、Virtual Machine Role利用方法 概略手順を参照していただくとして、細かい部分をいくつかMSDNライブラリから拾ってきたのでメモっておく。
尚、MSDNライブラリには、リリース前の内容を含んでいるのであしからず~っと注意書きがあるので、以下の内容も、参考程度にしてくだされ。

  1. 課金とライセンス
  2. VM Role用VHDを作成する為のホストPC要件
  3. Windows Azure統合コンポーネント
  4. Windows Azure VM Roleのテスト方法
  5. VM Roleアダプターとは

1. 課金とライセンス

お財布に関わる一番気になる話ですよね。

Any instances of VM roles that run in Windows Azure are priced by the compute hour. Licensing for the VM role is included in the compute-hour price and is not related to the licensing status of the installation media that was used to create the base VHD image.
http://msdn.microsoft.com/en-us/library/gg433107.aspx

コンピューティング時間で課金をし、VHDイメージを作成するのに使用したメディアに関係なく、コンピューティング価格にライセンス料が含まれているとのこと。
メディア云々とあるのは、見た目は同じWindows Server 2008 R2のDVD(iso)でも、ボリュームライセンス版、OEM版などいくつか種類があり、種類によってライセンスNO体系も異なっているんだけど、Windows Azure VM Roleの場合には、種類を問わないってこと。
なので、気にせずにMSDNサブスクリプションのイメージを使用して構築して本番運用しても怒られないはずだけど、ライセンスはシビアな話なので、MSに各自で確認してね。

2. VM Role用VHDを作成する為のホストPC要件

VM Role用のVHDを作成するには、概略手順ではHyper-V上で構築云々と書いている。
VHDの規格は、Hyper-VでもVirtual PCでも、同じものが採用されていると聞いたことがあるのだが、少なくともMSとしては以下の要件をホストOSに要求している。

  • Windows Server 2008 or 2008 R2(推奨)
  • IIS 7.0
  • Hyper-Vの役割インストール
  • Windows Azure SDKのインストール
  • ASP.NETの有効化

ちなみにHyper-Vを使用して仮想OSを運用する際のベストプラクティスに、安定性を確保するためにホストOSには可能な限り余計なコンポーネントをインストールしないよう要求している。
なので、開発用(VM Roleのイメージ準備用)に別途用意してねっとのメッセージかな。

3. Windows Azure 統合コンポーネント

概略手順で示した用に、VM Roleで使用するVHDにはWindow Azure 統合コンポーネントをインストールしなければならない。

  • 概略手順に記載していないのだが(汗)、統合コンポーネントをインストールする為のwavmroleic.isoファイルは、%Program Files%\Windows Azure SDK\v1.3\iso\ フォルダにあります。
    アタッチしてVM上で見ると、「WaIntegrationComponents-x64.msi」があるのでインストールすればOK。
  • Windows Azure統合コンポーネントは、Hyper-V統合コンポーネントよりも多機能みたい。
    (特に記載は無いけど、Hyper-V統合コンポーネントは入れない方が安全だね。競合しそうだし。)
  • VHDの準備タスクにsysprepの実行があり、sysprepで飛ばした環境設定を行う役割を持っているようだ。規定では、c:\unattend.xml の内容に従って、初回オンライン時に初期設定が行われる。
    設定内容は、EN-USロケーション、UTCタイムゾーン、Windows Updateの無効化、Administratorsのパスワード設定をするようになっている。
    Adminアカウントは無効化されるけど準備プロセスなどで使用するみたい。

4.Windows Azure VM Roleのテスト方法

今のところ、Windows Azure Computeエミュレーターでは、VM Roleのテストはできない。開発時にテストをするには、Windows Azureインスタンスにあげてしまうしかない。

開発したプログラムは、ローカルでコンパイルして、リモートデスクトップでバイナリファイルを配置すると良い。

参考:Testing a VM Role

5.VM Role アダプターとは

オンプレミスのWindows Server 2008 R2とWindows Azure VM Role上のWindows Server 2008 R2との一番の大きな違いは、VM Roleは動的環境にて動作することである。

サーバの負荷状況に合わせて自動的にAzureが最適化を行い、設置環境を変更する。IPやアドレスやら。そーいった動的環境でも快適に開発できるような仕組みとして提供されるのが、VM Roleアダプターのようだ。

詳細は、VM Roleを使用できるようになって実際にいじったら、書いてみる。

Developing the VM Role Adapter