特集:Windows Azure SDK 1.3の新機能(後編)

すべてが自由自在なクラウド環境「仮想マシン・ロール」

株式会社 ビービーシステム 亀渕 景司
2011/02/15
Page1 Page2

仮想マシン・ロールを利用する

仮想マシン・ロールの作成

 次に、仮想マシン・ロール・プロジェクトを以下の手順で作成する(図11参照)。

(1)Visual Studio 2010を管理者として起動し、メニューバーから[ファイル]−[新規作成]−[プロジェクト]を選択する。

(2)[新しいプロジェクト]ダイアログの[プロジェクトの種類]から[Visual C#]−[Cloud]を選択する。

(3)[テンプレート一覧]から「Windows Azure プロジェクト」を選択する。

(4)[名前]/[場所]/[ソリューション名]に任意の値(例:VMRoleTest)を入力する。

(5)[OK]ボタンをクリックする。

図11 [新しいプロジェクト]ダイアログの例

(6)プロジェクトが作成されると、次に[新しい Windows Azure プロジェクト]ダイアログが表示されるが、[Windows Azure ソリューション]一覧は空欄のまま[OK]ボタンをクリックする。

図12 [新しい Windows Azure プロジェクト]ダイアログの例

 プロジェクトの作成が完了すると、[ソリューション エクスプローラー]にWindows Azureプロジェクトが表示されるので、そのプロジェクト項目(例:VMRoleTest)の右クリック・メニューから[追加]−[新しい仮想マシン ロール]*3を選択する(図13参照)。

図13 仮想マシン・ロールの追加([ソリューション エクスプローラー])

*3 [新しい仮想マシン ロール]メニューは、仮想マシン・ロールのベータ・プログラムがアクティブになった際に送られるメールの本文に記載されているレジストリ・キーをダウンロードし、レジストリに登録しなければ、表示されない。

仮想マシン・ロールの各種設定

 Windows Azureプロジェクトに仮想マシン・ロールが正しく追加されると、仮想マシン・ロールのプロパティ・ページが表示されるので、図14の設定例を参考に[仮想ハード ディスク]タブと[エンドポイント]タブで必要な各種設定を行う。

図14 仮想マシン・ロールのプロパティ設定例(上:[仮想ハード ディスク]タブ、下:[エンドポイント]タブ)
Windows Azureプロジェクトに仮想マシン・ロールが正しく追加されると、このような仮想マシン・ロールのプロパティ・ページが表示される。
  [Windows Azure アカウントの資格情報を選択または作成します]コンボボックス …… 先ほどアップロードしたWindows Azureアカウント(例:YourAzureAccount)を選択する。
コンボボックスの一覧に適切なアカウントが表示されない場合、一覧より「<追加>」を選択し、前回のリモート・デスクトップ接続で作成している手順を参考にWindows Azureアカウントを作成する。
  [Windows Azure ストレージ アカウントから仮想マシン ロールの VHD を選択します]コンボボックス …… 先ほどアップロードしたVHDファイル(例:VMRoleTest.vhd)を選択する。
  [エンドポイントの追加]ボタンをクリックする。
  仮想マシン・ロールが利用するネットワークのエンドポイントが1つ追加される。
  データセンター外から仮想マシン・ロールへの接続が行えるように、[種類]コンボボックスの一覧より「Input」を選択する。
  本稿で作成した仮想マシンはIISを使用してWebページを公開するので、[プロトコル]コンボボックスの一覧より「http」を選択する。
  [パブリック ポート]欄には、HTTP標準のポート番号である「80」を指定する。

 仮想マシン・ロールでは、動作するアプリケーションの設定などはすべて事前に作成したOSイメージに含まれている。Windows Azure SDK 1.3またはVisual Studioを使用して作成する仮想マシン・ロールは、どのOSイメージ(VHDファイル)を使用するかなど、Windows Azure上で稼働させるのに必要な設定のみを行えばよい。

【コラム】Visual Studioを利用せずに仮想マシン・ロールを利用する方法

 Visual Studioにより仮想マシン・ロールが構成されると、サービス定義ファイル(=.csdefファイル)およびサービス設定ファイル(=.cscfgファイル)に変更が加えられる。Visual Studioを利用しない場合は、(それらのファイルの)以下の要素を手動で追加・編集することで、仮想マシン・ロールが利用可能だ。

図15 仮想マシン・ロールの設定個所(上:サービス定義ファイル、下:サービス設定ファイル)
Visual Studioを利用しない場合は、サービス定義ファイルとサービス設定ファイルを手動で編集することで、仮想マシン・ロールが利用可能。
  サービス定義ファイル(=.csdefファイル)に<InputEndPoint>要素を追加する。
  サービス設定ファイル(=.cscfgファイル)に<OsImage>要素を追加し、使用するVHDファイルをhref属性に設定する。

 なお、本稿では記載していないが、仮想マシン・ロールに対してもリモート・デスクトップ接続を行える。もし、Windows Azure上で稼働している仮想マシン・ロールのインスタンスに対し、リモート・デスクトップ接続を構成する場合は、前回のリモート・デスクトップ接続の構成手順を参考に同様の設定を行っておく。

 以上で仮想マシン・ロールの準備は整った。

仮想マシン・ロールの配置

 最後に、Windows Azureプロジェクトのサービス・パッケージを作成し、Windows Azure上へ配置する。

(1)[ソリューション エクスプローラー]にて先ほど作成したWindows Azureプロジェクトの項目(例:VMRoleTest)を右クリックし、(表示されるコンテキスト・メニューから)[発行]メニューを選択する(図16参照)。

図16 サービス・パッケージを作成するための[発行]メニューの実行([ソリューション エクスプローラー])
Windows Azure上に展開するサービス・パッケージを作成するために、[発行]メニューを実行すると、[Windows Azure プロジェクトの配置]ダイアログが表示される。
  [ソリューション エクスプローラー]でWindows Azureプロジェクト項目(例:VMRoleTest)を右クリックする。
  [発行]メニューを選択する。

(2)[Windows Azure プロジェクトの配置]ダイアログにて、図17の設定例に従い、各項目を入力し、[OK]ボタンをクリックする。

図17 [Windows Azure プロジェクトの配置]ダイアログ
[Windows Azure プロジェクトの配置]ダイアログで、サービス・パッケージを作成するための各種設定を行う。
  [Windows Azure プロジェクトを Windows Azure に配置します]を選択する。
  [資格情報]コンボボックス …… 資格情報(例:YourAzureAccount)を選択する。
資格情報がない場合、前回のリモート・デスクトップ接続での発行手順を参考に作成していただきたい。
  [配置先となる配置環境]コンボボックス …… Windows Azure上のプロダクション環境またはステージング環境のどちらか(例:Your Hosted Service - Production)を選択する。
  [配置に使用するストレージ アカウント]コンボボックス …… 事前準備にて作成した配置用のWindows Azureストレージのアカウント(例:yourdeploystorage)を選択する。

(3)[Windows Azure プロジェクトの配置]ダイアログにて[OK]ボタンをクリックすると、ソリューションのビルドが行われ、入力された内容を基にWindows Azure上へサービス・パッケージの配置が行われる。配置に関する状況はVisual Studio上に表示される[Windows Azure のアクティビティ ログ]ウィンドウまたはWindows Azure Platform管理ポータルを参照することで把握することが可能だ。

図18 [Windows Azure のアクティビティ ログ]ウィンドウの表示例

 配置がすべて完了すると、[Windows Azure のアクティビティ ログ]ウィンドウに「完了しました。」のメッセージが表示される。

仮想マシン・ロールで動作するWebアプリの動作確認

 仮想マシン・ロールが正常に配置された後、Webブラウザを使用してサービスのURL(例:「http://yourhostedservice.cloudapp.net/」)へ接続すれば、作成したアプリケーションが稼働していることを確認できる。図19はその確認の例である。

図19 アプリケーションの稼働を確認している例

 これまで解説したように、仮想マシン・ロールは、OSの構成やインストール、開発者が提供するサービス、アプリケーションの追加など、広範囲にわたり独自に構成することができる。

 ただし、WebロールやWorkerロールと異なり、Windows Updateなどによるパッチの適用なども開発者側で行う必要があるなど、開発者・利用者側で管理しなければならない範囲が増えている点は注意が必要だ。本稿で記載した単体のVHDファイルだけでなく、差分VHDファイルを組み合わせ、仮想マシン・ロールの更新にかかわる運用負荷を軽減することも検討してほしい。

まとめ

 中編と後編では、Windows上ではすでに一般的となっているリモート・デスクトップ接続や仮想マシンをWindows Azure上でどのように扱うかについて解説した。Windows Azure上で利用するに当たり、考慮する点は多いものの、現在幅広く利用されている技術をそのまま流用できる部分が多いことが理解していただけただろうか。

 本稿を機会に実際にWindows Azure上でリモート・デスクトップ接続と仮想マシン・ロールを利用していただき、開発・運用時の利便性の向上や、新たなサービスの可能性について検証していただきたい。

 また、本稿がWindows Azure SDK 1.3の新機能を利用する開発者にとって、少しでもお役に立っていれば幸いである。end of article

 

 INDEX
  特集:Windows Azure SDK 1.3の新機能(前編)
  Windows Azure 1.3の新機能の概要
    1.Windows Azureの新機能とSDK 1.3
    2.新しい管理ポータル/そのほかのアップデート
 
  特集:Windows Azure SDK 1.3の新機能(中編)
  Windows Azure実行環境へのリモート・デスクトップ接続
    1.リモート・デスクトップ接続の概要/事前準備
    2. リモート・デスクトップ接続を利用する
 
  特集:Windows Azure SDK 1.3の新機能(後編)
  すべてが自由自在なクラウド環境「仮想マシン・ロール」
    1.仮想マシン・ロールの概要/仮想マシンを準備する
  2. 仮想マシン・ロールを利用する


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間