Windows Azure 用アプリケーション開発 Step-by-Step チュートリアル ガイド第 2 章 簡単なサンプルを用いた Azure アプリケーションの開発 (1)目次2.1 開発環境の構築 ‣ 2.1.1 Windows 7 Enterprise 評価版のインストールと IIS の追加インストール 2.2 ローカルでの Web アプリケーション開発 ‣ 2.2.1 Web アプリケーション プロジェクトの作成 2.3 クラウド サービス プロジェクトの追加 ‣ 2.3.1 クラウド サービス プロジェクトの役割
それでは、Azure 用のアプリケーションを開発していきましょう。 2.1 開発環境の構築Windows Azure 上で動作するアプリケーションを開発するためには、Windows Azure 用の SDK が必要となります。本ガイドでは、Windows Azure SDK 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 7 Enterprise 評価版」をインストールします。以下のリンクから ISO ファイルをダウンロードし、ご自分の端末にインストールしてください。
Windows Azure SDK を使用するためには、IIS 7.0 以上のインストールと、オプションとして [ASP.NET] と [WCF 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 を利用すると、データベース サービスを管理できます。以下のリンクよりダウンロードし、インストールしてください。なお、インストール時にはすべてデフォルトのオプションを利用してください。
ページのトップへ 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 をインストールします。以下のリンクよりダウンロードし、インストールしてください。
インストールすると、同時に 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 からサンプル データベースをダウンロードし、インストール ウィザードに従いインストールしてください。
インストールすると、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 つの作業を行うためのプロジェクトです。
後者は次章で解説しますので、前者についてこれから解説していきます。 ページのトップへ 2.3.2 クラウド サービス プロジェクトの追加まず、Visual Studio のソリューション ファイルに対して、クラウド サービス プロジェクトを追加します。そして、先ほど作成した Web アプリケーション プロジェクトを追加し、Web アプリケーションが Windows Azure 上に展開されるようにします。具体的には以下のようにします。 A. プロジェクトの追加
B. Roles へのプロジェクトの追加次に、追加したクラウド サービス プロジェクトへ、Web Role として、先程作成した Web アプリケーションを追加します。具体的な追加手順は、以下のようになります。
以上の作業により、[Roles] フォルダの中に、[WebApplication1] プロジェクトが追加されます。これにより、この [WebApplication1] プロジェクトが Web ロール サーバー上に展開され、実行されるようになります。 ページのトップへ 2.3.3 複数の Web アプリケーションを同時に展開する場合1 つの Web ロール サーバー上には、1 つの Web アプリケーションのみが展開 (インストール) 可能です。複数の Web アプリケーションを、同一の Web ロール サーバー上に展開して実行することはできません。複数の Web アプリケーションを同時に展開したい場合には、下図のように、複数の Web ロール サーバーを使用する必要があります (※ 1 つの Web アプリケーションにまとめ直して、Web Role サーバー上に展開するという方法もあります)。 ページのトップへ 2.3.4 クラウド サービス プロジェクトの構成設定次に、各ロール (サーバー) の構成設定を行います。クラウド サービス プロジェクトの [Roles] 下にある各ロールをダブルクリックすると、構成設定画面が現れます。こちらを使うと、以下のような項目が設定できます。
構成設定画面から構成設定を修正すると、その設定は "ServiceConfiguration.cscfg" と "ServiceDefinition.csdef" の 2 つの XML ファイルに反映されます (※ 直接 XML ファイルを修正することもできます)。 ここでは、もっとも簡単な設定として、[WebApplication1] プロジェクトを動作させる仮想マシンを、3 つに変更しておきます。 Note: 実際の運用環境に配置する場合には、インスタンス数や仮想マシンのサイズをむやみに引き上げないようにしてください。むやみに引き上げると、その分だけ課金が増えることになります。 |
ページのトップへ