.NET TIPS

[Azure]Windows Azureアプリケーションを開発するには?(環境設定)[3.5、4、C#、VB]

山田 祥寛
2010/06/17

 Windows Azure Platform(以降、単に「Azure」)は、マイクロソフトが提供するクラウド・サービス・プラットフォームである。クラウドOSであるWindows Azureを中核として、データベース・サービスであるSQL Azure、サービス・バス、アクセス・コントロールなどを含むWindows Azure platform AppFabricなどから構成される。Windows Azureに関する詳細は、Inside.NETでもすでにさまざまな記事が提供されているので、併せて参照していただきたい。

 本稿では、Windows Azureアプリケーション(以降、Azureアプリケーション)を開発するための環境整備からプロジェクトの作成までを解説する。

 Windows Azureによる開発を始めるのは、さほどハードルの高いことではない。すでにASP.NET開発の造詣がある諸氏であれば、さほど迷うところはないはずだ。

●前提環境

 Visual StudioでAzureアプリケーションを開発するには、Windows Azure Tools for Microsoft Visual Studio(以降、Azure Tools)をインストールしておく必要がある。Azure Toolsは、Azureアプリケーションの作成から設定、デバッグ、デプロイまでをサポートするVisual Studioのアドオンである。ソフトウェア開発キットであるWindows Azure SDKも同梱している。

 Azure Toolsのインストールに必要な環境は、以下のとおりである。

  • Windows 7、Windows Server 2008/2008 R2、Windows Vista SP1以降(Windows XPは不可)
  • IIS 7.0以降
  • Visual Studio 2008 SP1、Microsoft Visual Studio 2010(Express Editionを含む)
  • SQL Server 2005 Express Edition以降*1
*1 SQL Serverが必要なのは、Azureストレージ・サービスのシミュレーション環境である開発ストレージが、SQL Server上で動作しているため。

 IIS 7を有効にするには、コントロール・パネルから[プログラム]−[プログラムと機能]−[Windowsの機能の有効化または無効化]を選択する。

[Windowsの機能]ダイアログ

 上の画面の[Windowsの機能]ダイアログが開くので、ツリーを展開し、以下の機能を有効にする。

Microsoft .NET Framework 3.5.1
    ┃
    ┗━ Windows Communication Foundation HTTP Activation

インターネットインフォメーションサービス
    ┃
    ┗━ World Wide Webサービス
      ┃
      ┣━━━ HTTP共通機能
      ┃  ┗━━━ 静的コンテンツ
      ┃
      ┗━━ アプリケーション開発機能
          ┣━━━ ASP.NET
          ┗━━━ CGI(任意)
[Windowsの機能]ダイアログで有効にすべき機能

●Azure Toolsのインストール

 以上で必要な環境が準備できたので、Azure Toolsのインストールを行う。Azure Toolsの入手先は以下のとおりである。

 インストールには、ダウンロードしたVSCloudService.exeファイルをダブルクリックし、起動したウィザードの指示に従うだけでよい。ウィザードの操作については、特に迷うところはないだろう。次の画面は、そのウィザードの最初のページ。

Azure Toolsのインストール・ウィザード

 また、興味のある方は、Windows Azure Platform Training Kit(英語)もダウンロードしておくとよい。Training Kitには、さまざまなハンズオン・ラボやプレゼンテーション、デモが含まれており、Azure開発を新たに始める諸氏の学習の手掛かりとなるはずだ。

●新規プロジェクトの作成

 環境の準備ができたところで、さっそくアプリケーションを作成してみよう。なお、Azureアプリケーションを開発するには、Visual Studioを管理者権限で起動する必要がある。仮想実行環境である開発ファブリック(後述)などを起動するのに、管理者権限を求められるためだ。

1. 新規プロジェクトを作成する

 Azureアプリケーションを開発するには、[新しいプロジェクト]ダイアログから[Visual C#](または[Visual Basic])−[Cloud]−[Windows Azure Cloud Service]を選択すればよい。

[新しいプロジェクト]ダイアログ

 プロジェクト名は「AzureTest」としておく。[新しいプロジェクト]ダイアログの[OK]ボタンをクリックすると、次の画面の[New Cloud Service Project]ダイアログが起動するので、サービスに含めるロールを追加する。

[New Cloud Service Project]ダイアログ

 選択できる主なロールの種類は、以下のとおりである。

分類 ロールの種類 概要
Web ASP.NET Web Role 標準的なWebフォームに対応したWebロール
ASP.NET MVC 2 Web Role ASP.NET MVC 2対応のWebロール
WCF Service Web Role WCFサービス対応のWebロール
CGI Web Role FastCGI対応のWebロール
Worker Worker Role バックグラウンド・プロセスを実行するためのWorkerロール
利用できる主なロールの種類
Visual Studioのバージョンや開発言語によって、選択できるロールは異なるので注意してほしい。この表は、Visual Studio 2010のVisual C#やVisual Basicの場合に選択できるロールの種類。

 ざっくりといってしまうならば、WebロールとはWebアプリケーションのこと、Workerロールとはバックグラウンドで実行される(いうなれば)Windowsサービスに相当するアプリケーションのこと。1つのサービスには、1つ以上のロールを含めることができる。ここでは「TestUI」という名前で「ASP.NET Web Role」を追加しておこう。

 ロールを追加するには、ダイアログの左ペインでロールの種類を選択し、[>]ボタンをクリックすればよい。ロールの名前はダイアログ右からボタンをクリックすることで編集できる。

2. ソリューションの内容を確認する

 [New Cloud Service Project]ダイアログの[OK]ボタンをクリックすると、ソリューションの配下に2つのプロジェクトが作成されることが確認できるはずだ(次の画面を参照)。1つはソリューション名と同名のAzureTestプロジェクトで、もう1つはロールとして追加したTestUIプロジェクトである。

ソリューションの内容を確認(ソリューション・エクスプローラ)

 AzureTestプロジェクトは、クラウド・サービス・プロジェクトとも呼ばれ、Azureアプリケーションの構成情報を管理するためのプロジェクトである。配下に配置されている「ServiceDefinition.csdef」(サービス定義ファイル)、「ServiceConfiguration.cscfg」(サービス設定ファイル)が、Azureアプリケーションの構成を表す設定ファイルである。

 アプリケーション本体を表すファイルは、ロール・プロジェクト(ここではTestUI)に含まれており、内容を見ても分かるように、通常のASP.NETアプリケーションとほぼ同じ構成となっている。

3. 開発ファブリックで実行する

 それではさっそく、ASP.NET Web Roleに含まれるサンプル・アプリケーションをそのまま実行してみよう。デバッグ実行すると、通常のASP.NETアプリケーションであれば、開発サーバが起動するところであるが、AzureアプリケーションではWindows Azure Simulation Environmentと呼ばれる開発用のシミュレーション環境が起動する。

 Windows Azure Simulation Environmentには、ロールを実行するための「開発ファブリック」と、ストレージ・サービスをシミュレートするための「開発ストレージ」が含まれる。初回起動時には開発ストレージを初期化するために、以下のような[Development Storage Initialization]ダイアログが表示されるので、初期化の成功を確認できたら、ダイアログを閉じる。

[Development Storage Initialization]ダイアログ

 ブラウザが起動し、アプリケーションのトップ画面が表示されれば、アプリケーションは正しく動作している*2

*2 意図したように動作しない場合には、クラウド・サービス・プロジェクト(本稿ではAzureTestプロジェクト)がスタートアップ・プロジェクトとして設定されているかを確認されたい。

アプリケーションのトップ・ページ

 なお、この状態で、Windowsタスクバーのタスクトレイ上のアイコンを右クリックし、表示されたコンテキスト・メニューから[Show Development Fabric UI]/[Show Development Storage UI]を選択すると、開発ファブリック/開発ストレージの管理画面を確認できる。次の画面は開発ファブリックの管理画面の例。

開発ファブリックの管理画面

 開発ファブリックの管理画面からはAzureアプリケーションの動作状況やログ情報の確認、開発ストレージの管理画面からはストレージの起動/停止、初期化などの操作を行える。利用方法の詳細については、今後、.NET TIPSの中で徐々に紹介していく予定だ。End of Article

利用可能バージョン:.NET Framework 3.5
利用可能バージョン:.NET Framework 4
カテゴリ:Azure 処理対象: Windows Azure

この記事と関連性の高い別の.NET TIPS
[Azure]Windows AzureアプリケーションをVisual Studioからデプロイするには?
[Azure]Windows Azureアプリケーションをポータル・サイトからデプロイするには?
[Azure]Windows Azureアプリケーションをアップグレードするには?
VS 2005やIISを使用せずにWebアプリケーションを実行するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


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 記事ランキング

本日 月間