VMロールプロジェクトの変更と実行確認
前回使用したVMロールプロジェクトを開きます。[ロール]-[VMRole1]をダブルクリックし、VMロールのプロパティエディタを開き「仮想ハードディスク」タブを選択します。先ほどアップロードした差分イメージ「Diff.vhd」が選択可能となっているため、それを選択します(図9)。
VMロールを配置し、ブラウザでアクセスし、変更後の画面で表示されれば正常に動作しています(図10)。
VMロールTips
ここからはWebやBlogなどの情報をもとにいくつかのTipsなどを紹介したいと思います。
利用するWindows Azure SDKは統一する
Windows Azure SDK 1.3に含まれる統合コンポーネントを利用して作成したVMロールを、SDK 1.4の環境から配置すると、正しくリモートデスクトップ接続できない場合があります。回避方法は、「MSDNフォーラム」にまとめられていますので、参考にしてください。いずれにしろ、利用するWindows Azure SDKは統一したほうが問題が少ないでしょう。
べからず集
べからず集として、「MSDN Blobs Avkash Chauhan's Blog」より以下を紹介します。いずれも仮想マシンの設定変更はせず、既定を維持することを勧めています。自由度が高いVMロールにおいても、このような制約があることに留意してください。
- ファイアーウォールの設定は変更せず、デフォルトを維持すること。
- タイムゾーンは変更せず、UTCを維持すること。
- 統合コンポーネントによって正しく設定されている、リモートアクセスとリモートフォワーダーの設定は変更しないこと。
- Windows Azure SDKを仮想マシンにインストールしないこと。
USBカードリーダーが接続されているとcsuploadコマンドが失敗する
これは筆者の環境で発生した事象です。csuploadコマンドは、VHDファイルを検証するためローカルPCにマウントします。このとき、USBカードリーダーが接続されており、多数のリムーバブルドライブが存在すると、検証に失敗することがあるようです。同様の現象が発生した方は、USBカードリーダーを外して試してみてください。
また、csuploadコマンドには検証を省略する「-SkipVerify」オプションが用意されています。最終的に問題を回避できない場合はこのオプションを利用することができます。
Sysprepコマンドについて
Sysprepコマンドの実行回数は制限されており、今回紹介した方法で一般化を繰り返すと、3回は実行可能ですが、4回目でエラーが発生し、一般化できなくなってしまいます。これを回避するには、一般化していないVHDイメージをバックアップして使い回したりする必要がありますが、残念なことに、マイクロソフトからはVMロール運用のベストプラクティスといった情報は発信されていません。運用にあたっては、検証を繰り返し自分たちに合った運用方法を探す必要がありそうです。
まとめ
今回は差分ディスクを利用したVMロールの利用方法について説明しましたが、まだまだ簡単には運用できない部分が多いことが理解いただけたでしょうか。VMロールの今後のさらなる機能アップに期待しましょう。


