スマホ×Windows Azure開発講座(Windows Phone編)

第4回アプリケーションのWindows Azureへのデプロイ

はじめに

今回は、前回作成したアプリケーションを実際にWindows Azureへデプロイ(アップロードして動かせる状態にする)したいと思います。本記事では『Windows Azure 管理ポータル』経由でアプリケーションをWindows Azureにデプロイする方法に関して述べていきます。

※スマホ×Windows Azure開発講座(iOS編)第4回でVisual Studio 2010のみでアプリケーションをWindows Azureにデプロイする手順に関して取り上げていますので、そちらもチェックしてみてください。

本記事のデプロイ作業を行うには、Windows Azureの無料お試しのアカウントをご用意して頂く必要があります。

Windows Azureプロジェクト

前回作成したアプリケーションが入っているプロジェクト(Webロールプロジェクト)の方ではない、⁠Windows Azureプロジェクト』を中心にWindows Azureへのデプロイする(配置する。アップロードして動作するようにする)作業を行っていきます。

今回のサンプルアプリケーションでは「GihyoAzureSampleGame01」という名前にしたプロジェクトがWindows Azureプロジェクトです。

図1 Windows Azureプロジェクト
図1 Windows Azureプロジェクト

上図の下の方のプロジェクトがWindows Azureプロジェクトです。

このプロジェクトでは作成したロール(今回はWebロール1個)とWindows Azureに配置する際に必要になる設定ファイルを管理します。

cscfgファイル(クラウドサービス構成ファイル)とcsdefファイル(クラウドサービス定義ファイル)がソリューションエクスプローラで確認できます。

アプリケーションをパッケージ化する

次に、アプリケーションをパッケージ化します。Windows AzureはVisual Studio 2010で開発したアプリケーションを1つのファイルにパッケージ化して、そのファイルをWindows Azureにデプロイします。また、デプロイの際にはcscfgファイル(クラウドサービス構成ファイル)も一緒に指定します。

それではアプリケーションをパッケージ化していきます。⁠GihyoAzureSampleGame01」プロジェクトを右クリックして「Package」を選択します。

図2 Windows Azureアプリケーションのパッケージ化
図2 Windows Azureアプリケーションのパッケージ化

ここではサービスの設定をCloud用かLocal用かを選べます。また、デバッグビルドかリリースビルド化の選択も行えます。CloudがWindows Azureで、LocalがローカルのWindows Azureエミュレーション環境(⁠⁠開発ファブリック」と呼ばれる)です。

今回はデフォルトのCloud設定でReleaseビルド設定を選択した状態で「Package」ボタンをクリックします。

しばらくするとエクスプローラが開き、パッケージ化されたアプリケーションと設定ファイルが保存されたフォルダが開きます。GihyoAzureSampleGame01.cspkgとServiceConfiguration.Cloud.cscfgが作成されていることが確認できます。

図3 パッケージ化されたアプリケーションとそのcscfgファイル
図3 パッケージ化されたアプリケーションとそのcscfgファイル

Windows Azureのアプリケーションはcspkgファイル(クラウドサービスパッケージファイル)というファイルにパッケージングされます。それが前者です。後者がアプリケーションの設定ファイルです。この設定ファイルはアプリケーションをWindows Azure上にデプロイ後も編集でき、環境に依存する設定等を記述しておくことが可能です。

これらファイルをWindows Azure管理ポータル経由でWindows Azureにデプロイしていきます。

Windows Azure 管理ポータルにアクセスする

Windows Azure管理ポータルにアクセスするには、下記URLにアクセスします。

すると図4のような画面が表示されます。

図4 Windows Azure管理ポータル
図4 Windows Azure管理ポータル

ホステッドサービスの作成

今回はアプリケーションをホストするサービスであるホステッドサービスを作成する事にします。このホステッドサービスはアプリケーションをデプロイするサーバーのようなもので、ホステッドサービスの作成の際に先ほど作成したアプリケーションのパッケージファイルをアップロードします。

Windows Azure管理ポータルのTOPページの左側のメニューの「ホステッドサービス、ストレージアカウント、CDN」を選択します。

次に、左側の一覧から「ホステッドサービス」を選択します。

すると図5のような画面が表示されます。

図5 ホステッドサービス一覧画面
図5 ホステッドサービス一覧画面

この画面で上部のリボンから「新規ホステッドサービス」を選択します。すると、⁠ホステッドサービスの新規作成」ダイアログが開きます。

図6 ホステッドサービス新規作成画面
図6 ホステッドサービス新規作成画面

ここでアプリケーションに関する情報を入力し、クラウドサービスパッケージファイルとクラウドサービス構成ファイルを指定していきます。

サービス名

ここにはWindows Azureにデプロイするアプリケーション名等を入力します。ここでは「GihyoAzureSampleGame01」としています。

サービスURL

アプリケーションのURLを入力します。他のアプリケーションとURLが一致しない必要があります。ここでは「gihyo-azure-sample-game01」としています。

地域

ここではデプロイ先を「東アジア」⁠香港)データセンターとしています。

デプロイオプション

「運用環境にデプロイ」をチェックします。⁠ステージング環境にデプロイ」はテスト用の環境にデプロイする場合などに利用します。

デプロイ名

ここには適当なルールで「このデプロイ作業そのものに関する名前」をしています。本記事ではデプロイした日付「GihyoAzureSampleGame01_20120201」を指定しています。

パッケージの場所

先ほどパッケージ化したcspkgファイルをローカルから参照して指定します。

構成ファイル

先ほど作成されたcscfgファイルをローカルから参照して指定します。

以上を指定したら、OKボタンをクリックしてデプロイを開始します。

ただ、初期設定だと必ず以下の警告が表示されます。

図7 デプロイ開始時の警告
図7 デプロイ開始時の警告

これはWebロールのインスタンスを2個以上して高可用性を提供できるようにしてください、という警告です。今回は「はい」をクリックして、デプロイ作業を続行します。

しばらく待つと、図8のような状態になりアプリケーションがデプロイされ準備完了状態になります。

図8 デプロイの完了
図8 デプロイの完了

最後にアプリケーションにアクセスしてみます。上記の画面で種類が「デプロイ」の行を選択すると、右のプロパティペインに「DNS名」という項目が出てきます。これをクリックすると、アプリケーションのインデックス画面が表示されます。表示された画面のURLの後ろに「/GameService/getcard」を追加すると、前回同様カードの数字がランダムに選択される機能が呼び出せます。

最後に

今回は前回作成したアプリケーションを実際にWindows Azure上にデプロイしてみました。いよいよそのアプリケーションにアクセスするWindows Phoneアプリケーションを作成してみたいと思います。

おすすめ記事

記事・ニュース一覧