Windows Azure 用アプリケーション開発 Step-by-Step チュートリアル ガイド

第 2 章 簡単なサンプルを用いた Azure アプリケーションの開発 (1)

目次

2.1 開発環境の構築

‣ 2.1.1 Windows 7 Enterprise 評価版のインストールと IIS の追加インストール
‣ 2.1.2 Visual Studio 2010 Ultimate 評価版のインストール
‣ 2.1.3 SQL Server 2008 R2 Management Studio Express のインストール
‣ 2.1.4 Windows Azure Tools for Microsoft Visual Studio Version 1.3 のインストール

2.2 ローカルでの Web アプリケーション開発

‣ 2.2.1 Web アプリケーション プロジェクトの作成
‣ 2.2.2 1 つ目の Web ページの作成
‣ 2.2.3 2 つ目の Web ページの作成
‣ 2.2.4 ASP.NET 開発サーバー上での動作確認

2.3 クラウド サービス プロジェクトの追加

‣ 2.3.1 クラウド サービス プロジェクトの役割
‣ 2.3.2 クラウド サービス プロジェクトの追加
‣ 2.3.3 複数の Web アプリケーションを同時に展開する場合
‣ 2.3.4 クラウド サービス プロジェクトの構成設定


 

それでは、Azure 用のアプリケーションを開発していきましょう。

2.1 開発環境の構築

Windows Azure 上で動作するアプリケーションを開発するためには、Windows Azure 用の SDK が必要となります。本ガイドでは、Windows Azure SDK 1.3 を用いて開発するため、以下のような環境をセットアップする必要があります。なお、以下は全て一般に入手可能な評価版、またはフリーのツールになっています。

種類 製品
OS Windows 7 Enterprise 評価版
開発ツール Visual Studio 2010 Ultimate 試用版
Management Studio Microsoft SQL Server 2008 R2 RTM - Management Studio Express
その他 Windows Azure Tools for Microsoft Visual Studio Version 1.3

以下の手順で環境をセットアップします。

2.1.1 Windows 7 Enterprise 評価版のインストールと IIS の追加インストール

Windows Azure SDK 1.3 に対応する OS は、2010 年 6 月 25 日時点で以下の 4 つとなります。Visual Studio 自体は Windows XP や Windows Server 2003 でも動作しますが、Windows Azure SDK が対応していないため、Windows XP などでは Window Azure 上で動作するアプリケーションを開発することはできません。

  • Windows Vista SP 1 以降
  • Windows 7
  • Windows Server 2008
  • Windows Server 2008 R2

今回は「Windows 7 Enterprise 評価版」をインストールします。以下のリンクから ISO ファイルをダウンロードし、ご自分の端末にインストールしてください。

ダウンロード サイト
https://technet.microsoft.com/ja-jp/evalcenter/cc442495.aspx

Windows Azure SDK を使用するためには、IIS 7.0 以上のインストールと、オプションとして [ASP.NET] と [WCF HTTP Activation] の有効化が必要となります。以下の手順で追加インストールしてください。

  • コントロール パネルの [プログラムと機能] を開き、左端のペインから [Windows 機能の有効化または無効化] を選択します
  • ツリー ビューの [インターネット インフォメーショ ン サービス] をチェックします
  • 「インターネット インフォメーション サービス」を展開し、「ASP.NET」をチェックしてください
  • また、「Microsoft .NET Framework 3.5.1」を展開し、「Windows Communication Foundation HTTP Activation」をクリックしてください


(図をクリックすると拡大図が表示されます)

これで IIS の追加インストールは終了となります。

ページのトップへ


2.1.2 Visual Studio 2010 Ultimate 評価版のインストール

次に開発ツールをインストールします。Windows Azure SDK 1.3 は、Visual Studio 2008 SP1 にも対応していますが、今回は Visual Studio 2010 Ultimate 試用版を用いて開発します。以下のリンクからダウンロードし、インストールしてください。なお、インストール時にはすべてデフォルトのオプションを利用してください。

Note: Visual Studio 2008 SP1 に Windows Azure SDK 1.3 をインストールして開発する場合、Windows Azure SDK 1.3 のすべての機能を使うことができません。このため、Visual Studio に関しては、2010 を利用することを推奨します。

ページのトップへ


2.1.3 SQL Server 2008 R2 Management Studio Express のインストール

次に SQL Server Management Studio をインストールします。Management Studio を利用すると、データベース サービスを管理できます。以下のリンクよりダウンロードし、インストールしてください。なお、インストール時にはすべてデフォルトのオプションを利用してください。

ダウンロード サイト
https://www.microsoft.com/downloads/details.aspx?familyid=56AD557C-03E6-4369-9C1D-E81B33D8026B&displaylang=ja

ページのトップへ


2.1.4 Windows Azure Tools for Microsoft Visual Studio Version 1.3 のインストール

最後に、Visual Studio 用の Windows Azure アプリケーション開発ツールキットをインストールします。今回は、2010 年 11 月時点において最新版の、Windows Azure SDK 1.3 を含む、Windows Azure Tools for Microsoft Visual Studio Version 1.3 をインストールします。以下のリンクよりダウンロードし、インストールしてください。

ダウンロード サイト
https://www.microsoft.com/downloads/details.aspx?FamilyID=7a1089b6-4050-4307-86c4-9dadaa5ed018&displayLang=ja

インストールすると、同時に SDK もインストールされます。そして、Visual Studio で Cloud Service のプロジェクト テンプレートが追加され、Windows Azure 上で動作するアプリケーションの開発が可能となります。

ページのトップへ


2.2 ローカルでの Web アプリケーション開発

さて、いよいよ Windows Azure 用のアプリケーションを開発していきます。オンプレミス型のアプリケーションを Azure 上へ移行するというシナリオも想定し、今回は、まずローカルで通常の Web アプリケーションを開発し (本章)、それを Windows Azure 上へ展開する (次章)、という流れで作業を進めていきます。

2.2.1 Web アプリケーション プロジェクトの作成

まず、新規に .NET Framework 4.0 で [ASP.NET 空の Web アプリケーション] プロジェクト テンプレートからプロジェクトを作成します。[ASP.NET Web アプリケーション] というプロジェクト テンプレートもありますが、こちらですと、必要のないモジュールまで含まれてしまいます。そのため、今回は Web.config のみを含む [ASP.NET 空の Web アプリケーション] プロジェクト テンプレートから作成します。

今回はサンプルとして、(1) 一般的な Web ページと、(2) データベース入出力を行う Web ページの 2 つを作成します。

ページのトップへ


2.2.2 1 つ目の Web ページの作成

まず、Web プロジェクトに [Web フォーム] テンプレートから、1 つ目の Web ページ (WebForm1.aspx) ページを追加します。そして、以下のような画面とロジックを作成してください。

ページのトップへ


2.2.3 2 つ目の Web ページの作成

次に、2 つ目の Web ページを作成します。

A.  データベースの追加

Web プロジェクトにデータベース ファイルを追加します。以下の URL からサンプル データベースをダウンロードし、インストール ウィザードに従いインストールしてください。

ダウンロード サイト (英語)
https://www.microsoft.com/downloads/details.aspx?FamilyId=06616212-0356-46A0-8DA2-EEBC53A68034&displaylang=en

インストールすると、C ドライブの "SQL Server 2000 Sample Databases" フォルダに NORTHWND データベースと PUBS データベースの 2 つが作成されます。今回は PUBS データベースを使用しますので、Web プロジェクトに App_Data フォルダを追加し、さらにその App_Data フォルダに PUBS.MDF ファイルを追加してください。

Note: App_Data フォルダは [追加] → [新しいフォルダ] から "App_Data" を指定して追加できます。pubs.mdf ファイルは App_Data フォルダにドラック アンド ドロップすることで追加できます。

B.  テーブルの一覧表示をする Web ページの作成

次に、Web プロジェクトに 2 つ目の Web ページ (WebForm2.aspx) を追加してください。そして、SqlDataSource と GridView を用いて、authors テーブルを一覧表示するプリケーションを作成してください (サーバー エクスプローラーから authors テーブルをドラッグ アンド ドロップすると簡単に作成できます)。

ページのトップへ


2.2.4 ASP.NET 開発サーバー上での動作確認

以上の作業が終了したら、Ctrl + F5 キーでアプリケーションを起動し、実行してください。すると、ASP.NET 開発サーバーが起動し、下図のようにアプリケーションが動作します。

ページのトップへ


2.3 クラウド サービス プロジェクトの追加

それでは引き続き、このアプリケーションを Azure 用 (Web Role サーバー用) に修正していきます。

2.3.1 クラウド サービス プロジェクトの役割

Window Azure Tools (開発ツールキット) によりインストールされるクラウド サービス プロジェクトは、簡単に言うと、以下の 2 つの作業を行うためのプロジェクトです。

  • 開発用 PC の中で、開発用ファブリック (Windows Azure エミュレータ) を起動し、その上でアプリケーションを実行・デバッグする
  • 作成したアプリケーションのファイルを、Windows Azure 本番環境へアップロードできるようにパッケージ化する

後者は次章で解説しますので、前者についてこれから解説していきます。

ページのトップへ


2.3.2 クラウド サービス プロジェクトの追加

まず、Visual Studio のソリューション ファイルに対して、クラウド サービス プロジェクトを追加します。そして、先ほど作成した Web アプリケーション プロジェクトを追加し、Web アプリケーションが Windows Azure 上に展開されるようにします。具体的には以下のようにします。

A.  プロジェクトの追加

  • ソリューションに対して、[Windows Azure Cloud Service] プロジェクトを追加する。

  • 次の [New Cloud Service Project] の画面で、何も選択せずに [OK] ボタンをクリックする。
    ※ 先ほど作成した Web アプリケーション プロジェクトを追加するため、ここでは何も選択しません。

B.  Roles へのプロジェクトの追加

次に、追加したクラウド サービス プロジェクトへ、Web Role として、先程作成した Web アプリケーションを追加します。具体的な追加手順は、以下のようになります。

  • クラウド サービス プロジェクト内の [Roles] フォルダを右クリックし、[Add] → [Web Role Project in solution…] をクリックする
  • 追加するプロジェクトとしては、先ほど作成した [WebApplication1] プロジェクトを指定する

以上の作業により、[Roles] フォルダの中に、[WebApplication1] プロジェクトが追加されます。これにより、この [WebApplication1] プロジェクトが Web ロール サーバー上に展開され、実行されるようになります。

ページのトップへ


2.3.3 複数の Web アプリケーションを同時に展開する場合

1 つの Web ロール サーバー上には、1 つの Web アプリケーションのみが展開 (インストール) 可能です。複数の Web アプリケーションを、同一の Web ロール サーバー上に展開して実行することはできません。複数の Web アプリケーションを同時に展開したい場合には、下図のように、複数の Web ロール サーバーを使用する必要があります (※ 1 つの Web アプリケーションにまとめ直して、Web Role サーバー上に展開するという方法もあります)。

ページのトップへ


2.3.4 クラウド サービス プロジェクトの構成設定

次に、各ロール (サーバー) の構成設定を行います。クラウド サービス プロジェクトの [Roles] 下にある各ロールをダブルクリックすると、構成設定画面が現れます。こちらを使うと、以下のような項目が設定できます。

  • 利用する仮想マシン (VM) のサイズ (仮想マシンに割り当てる CPU やメモリ リソースのサイズ)
  • 利用する仮想マシンのインスタンス数
  • CAS (Code Access Security) の設定
  • 利用する通信の種類 (エンド ポイントの定義)

構成設定画面から構成設定を修正すると、その設定は "ServiceConfiguration.cscfg" と "ServiceDefinition.csdef" の 2 つの XML ファイルに反映されます (※ 直接 XML ファイルを修正することもできます)。


(図をクリックすると拡大図が表示されます)

ここでは、もっとも簡単な設定として、[WebApplication1] プロジェクトを動作させる仮想マシンを、3 つに変更しておきます。

Note: 実際の運用環境に配置する場合には、インスタンス数や仮想マシンのサイズをむやみに引き上げないようにしてください。むやみに引き上げると、その分だけ課金が増えることになります。

ページのトップへ