このページの本文へ

Windows Azureでクラウドをはじめよう第5回

開発環境は無料で提供!

Azureならではの開発手法、導入方法を見てみよう

2011年05月11日 06時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

Windows Azureは、オンプレミスのWindows環境に似た面も多いが、クラウドならではの違いも多い。Windows Azureを使ったアプリケーションの開発や登録はどのように行なうのか。情報収集の方法も含めて紹介していこう。

Windows Azureの使い方

 Windows Azureは、オンラインで申し込めば、いつでも利用開始できる。2011年6月30日までは、一定の条件以下であれば、無償で利用できるトライアルが行なわれている(画面1)。制限以上のアクセスやストレージの利用があった場合には、超過分に標準料金が適用される。このため無償トライアルだが、クレジットカードの登録が必要となる。

Windows Azureのトライアル条件

 なお、現在国内では、東北関東大震災支援のため、Azure Platformの無償90日トライアルをクレジットカードなしで行なっている。被災者支援のサイト構築を考えている人は、利用してみるとよいだろう。

 Windows Azureを使うには、利用申し込みまたは無償トライアルなどでAzureアカウントを取得し、開発環境を整える必要がある。なお、いずれの場合にも、Azureのアクセスには、Windows Live IDが必要になるので事前に取得しておく。

Azureの情報を収集する

 Azureの最新の情報を得るには、まずはマイクロソフトのWebサイトにある「Windows Azureのホームページ」から見るのがお勧めだ。英語版のサイトのほうが、情報量も多く、更新も早い。そのため、時々は英語ページもチェックすべきだろう。

 基本的にはここが一次情報であり、あとは検索などでインターネットから情報を収集することになる。また、開発を始めるなら、MSDNライブラリなども参照する必要がでてくる。

開発環境を整える

 Windows Azureの開発は、基本的にローカルマシンで行なう。必要なのは、SDKを含んでいる「Windows Azure Tools for Microsoft Visual Studio」と「AppFabric SDK」、そして統合開発環境となる「Visual Studio 2010(以下、VS2010)」もしくは「Visual Web Developer Express(以下、VWDE)」のどちらかである。旧バージョンである「Visual Studio 2008」も利用可能だが、機能制限がある。なお、Windows Azure SDKは、Windows Vista SP1/Windows Server 2008以降にしか対応しないため、Windows XPでは開発できない

 Windows Azure ToolsとAzure SDKについては、マイクロソフトのダウンロードセンターで同時にダウンロードが可能だ。AppFabric SDKについても米国のダウンロードセンターで入手できる。このほか、マイクロソフトからは、「Windows Azure Platform トレーニングキット」や「Windows Azure MMC」などが提供されている。

 Windows Azure SDKを使うためには、開発用マシンにIIS 7.0以降が必要になる。IISは、Windows Serverには標準で入っている。また、Windows 7などにも標準でインストールはされていないものの、IISは同梱されている。

開発の概略

 開発環境をインストールし、その後「Windows Azure Tools for Microsoft Visual Studio」をインストールすれば、Windows Azure用のテンプレートやデバッグ環境が入る。開発を行なう前にやっておくべきことだが、いくつかポイントがある。

  1. IISをインストールし、WCFの設定を行なう。
  2. IISの動作を確認しておく
  3. SQL Server 2008 Express(VWDEのインストール時に一緒にインストールされる。Visual Studioの場合には別途入手)を動作できるようにしておく

 まず①だが、先述の通り、IISはWindows 7には含まれているものの標準ではインストールされていない。そのため、これをインストールして動作可能にする必要がある。コントロールパネルの「プログラムと機能」を開き、左側にある「Windowsの機能の有効化または無効化」をクリックして、以下の項目をオンにする(画面2)。

Microsoft .NET Framework 3.5.1
 ∟Windows Communication Foundation HTTP activation

インターネットインフォメーションサービス
 ∟World Wide Webサービス
   ∟アプリケーション開発機能
    ∟ASP.NET

画面2 必要なコンポーネントを有効にする

 インストールが終わったら動作確認だ。これは、インストールしたPCのWebブラウザで「http://127.0.0.1」にアクセスし、画面3が表示されれば完了だ。

画面3 IIS 7.0の初期画面。これが表示されればIISが動作していることになる

 次にSQL Serverの「構成マネージャ」を1回起動する。SQL Serverはインストール後、一回起動させるためにはスタートメニューからツールを起動する必要がある。この時、確認のダイアログボックスが表示されるので、「OK」で閉じる。一度起動すれば、構成マネージャも終了させてよい。

 これで、ローカル環境でのデバッグが可能になる。正しく動いていれば、VS/VWDEからデバッグを開始すると、Azureのエミュレーションが行なわれ、Webブラウザが起動して該当のページを表示する。

開発を行なうには

 ここでは、実際のプログラムの作り方には触れないが、VWDEを使った開発の手順を簡単に解説しておく。なお、VWDEでデバッグを行なう場合には、管理者権限で起動する必要がある。これは、Azureのエミュレータの起動に管理者権限が必要になるためだ。デバッグしない時には、管理者権限は不要である。

 VWDEを起動し、Visual BASICまたはVisual C#にある「Cloud」テンプレートを選択すると、中に「Windows Azure Project」があるので、これを選択してソリューションを作る(画面4)。続いて、プロジェクトに入れるロールを選択する。Webページのみならば「ASP.NET Web Role」、通常のWorkerロールならば「Worker Role」を選択する。最低限、Webロールは1つ必要となる。

画面4 Visual Web Developer Expressで「Cloud」テンプレートから「Windows Azure Project」を選択

 各ロールは、基本のテンプレートに従って作られるので、これを書き換えてアプリケーションを作成する。

 デバッグは、VS/VWDEの「デバッグ」メニューの「デバッグ開始」で行なう。すると、自動的にWebブラウザが起動し、Webロールによる作られたページが起動する。なお、環境によっては、Webブラウザが起動するまで数分かかることもある。また、エミュレータの状態は、Windowsのデスクトップ右下の「通知領域」にある青いWindowsの旗アイコンを右クリックしてメニューを開き「Show Compute Emulator UI」(画面5)または「Show Storage Emulator UI」でそれぞれ確認できる。

画面5 Webロールによるページ(背面)と、デバッグ画面(前面)

 開発が終了したら「発行」だ。VS2010/VWDEからは、パッケージの作成だけを行なうことも可能だが、Azureへの転送も同時に行なえる。ここでは、Azure側の手順を説明するため、パッケージのみを作成する。

 最初はテストとなるため、インスタンスは1つのみ。VMサイズは「Extra Small」とする。Azureプロジェクトから各ロールを選択すると、左側の領域が設定となるので「Configuration」タブを選択して、Instancesを変更する(画面6)。VMサイズは作成したロールの規模に依存するが、Azure側で変更が可能なので、ここでは最低の設定である「Extra Small」にしておく。

画面6 インスタンスの設定

 ソリューションエクスプローラ上で、Azureのプロジェクトを選択、右クリックメニューで「発行」を選択する。表示されたダイアログボックスの上部には「Create Service Package Only」と「Deploy your Windows Azure project to Windows Azure」の2つのラジオボタンがある(画面7)。前述のように手動でAzureへアップロードするため、最初の工程である「Create~」を選択し、OKボタンを押す。パッケージが作られたら、「ServiceConfiguration.cscfg」ファイルと、プロジェクト名からなるサービスパッケージファイル「~.cspkg」が生成され、保存されたフォルダがWindowsエクスプローラーで開く。

画面7 パッケージを作成する

Azureへの転送から公開まで

 Azure自体の管理は、開発者ポータルから行なう(画面8)。Windows Azureのアカウントは、Windows Live IDに紐付けされているため、アカウント登録時に使ったWindows Live IDを使ってアクセスを行なう。なお、このDeveloperポータルはSilverlightを利用しているので、事前にインストールしておく。

画面8 専用のポータルで管理を行なう

 すでに登録を済ませていれば、開発者ポータルをWebブラウザで開けば、登録したアカウントの管理ページが開く。

 まず、最初に行なうのは、「Hosted Service」の作成である。Hosted Serviceは1つのAzureアプリケーションに対応し、URLが割り当てられる対象となる。作成時に「DNS Prefix」として決めた名前が使われる。「http://[DNS Prefix].cloudapp.net」というURLが割り当てられる。

 開発者ポータルで、左側の下の領域にある「Hosted Services,Storage Account & CDN」をクリックし、その上に表示されるHosted Servicesをクリックする。ここにサブスクリプション(Azureの契約の単位)が表示される。最初はサブスクリプションが1つで、Hosted Servicesは何もないはずなので、ページ左上の「New Hosted Service」をクリックする(画面9)。前述のように、ここでの設定項目である「DNS prefix」は、サイトをアクセスする際のURLの一部となる(画面10)。

画面9 開発者ポータルで契約状況を確認。「New Hosted Service」をクリックする
画面10 「New Hosted Service」クリック後に表示される設定画面

 このとき、テストのための「Staging Deployment」を同時に作成できる。作成したパッケージとサービスパッケージファイルを指定すれば、サイトを作成したあとアップロードしてくれる。インスタンスが1つしかないという警告が表示されるが、サービスの継続性のため2つ以上のインスタンスを用意すべきという警告であり、1つのまま強行しても問題はない。

 このStagingで仮のURLが割り当てられるので、これを使ってテストを行なう。コードの修正などがあった場合には、ツールバーの「Upgrade」を使いパッケージなどを更新する。また、Configureボタンで、インスタンス数など、サービスパッケージファイルの設定を上書き可能だ。

 コードに問題がないようなら、ツールバーの「new Production Deployment」を使って、サイトを立ち上げる。なお、ステージング、プロダクションの2つを立ち上げたあとは、ツールバーの「Swap VIP」ボタンで、両方を入れ替えることが可能だ。つまり、サイトを更新する場合には、Stagingのほうをアップグレードして、テストを行なう。問題がなければ、現在のProduction DeploymentとStaging Deploymentを入れ替えるわけだ。このようにすることで、サイトの運営中であってもStagingを使ってテストを本番環境で行なうことができる。

■関連サイト

カテゴリートップへ

この特集の記事

ASCII.jp特設サイト

クラウド連載/すっきりわかった仮想化技術

ピックアップ