はじめに
今回は、前回 作成したアプリケーションを実際に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プロジェクト
上図の下の方のプロジェクトがWindows Azureプロジェクトです。
このプロジェクトでは作成したロール(今回はWebロール1個)とWindows Azureに配置する際に必要になる設定ファイルを管理します。
cscfgファイル(クラウドサービス構成ファイル)とcsdefファイル(クラウドサービス定義ファイル)がソリューションエクスプローラで確認できます。
アプリケーションをパッケージ化する
次に、アプリケーションをパッケージ化します。Windows AzureはVisual Studio 2010で開発したアプリケーションを1つのファイルにパッケージ化して、そのファイルをWindows Azureにデプロイします。また、デプロイの際にはcscfgファイル(クラウドサービス構成ファイル)も一緒に指定します。
それではアプリケーションをパッケージ化していきます。「 GihyoAzureSampleGame01」プロジェクトを右クリックして「Package」を選択します。
図2 Windows Azureアプリケーションのパッケージ化
ここではサービスの設定をCloud用かLocal用かを選べます。また、デバッグビルドかリリースビルド化の選択も行えます。CloudがWindows Azureで、LocalがローカルのWindows Azureエミュレーション環境(「 開発ファブリック」と呼ばれる)です。
今回はデフォルトのCloud設定でReleaseビルド設定を選択した状態で「Package」ボタンをクリックします。
しばらくするとエクスプローラが開き、パッケージ化されたアプリケーションと設定ファイルが保存されたフォルダが開きます。GihyoAzureSampleGame01.cspkgとServiceConfiguration.Cloud.cscfgが作成されていることが確認できます。
図3 パッケージ化されたアプリケーションとそのcscfgファイル
Windows Azureのアプリケーションはcspkgファイル(クラウドサービスパッケージファイル)というファイルにパッケージングされます。それが前者です。後者がアプリケーションの設定ファイルです。この設定ファイルはアプリケーションをWindows Azure上にデプロイ後も編集でき、環境に依存する設定等を記述しておくことが可能です。
これらファイルをWindows Azure管理ポータル経由でWindows Azureにデプロイしていきます。
Windows Azure 管理ポータルにアクセスする
Windows Azure管理ポータルにアクセスするには、下記URLにアクセスします。
すると図4 のような画面が表示されます。
図4 Windows Azure管理ポータル
ホステッドサービスの作成
今回はアプリケーションをホストするサービスであるホステッドサービスを作成する事にします。このホステッドサービスはアプリケーションをデプロイするサーバーのようなもので、ホステッドサービスの作成の際に先ほど作成したアプリケーションのパッケージファイルをアップロードします。
Windows Azure管理ポータルのTOPページの左側のメニューの「ホステッドサービス、ストレージアカウント、CDN」を選択します。
次に、左側の一覧から「ホステッドサービス」を選択します。
すると図5 のような画面が表示されます。
図5 ホステッドサービス一覧画面
この画面で上部のリボンから「新規ホステッドサービス」を選択します。すると、「 ホステッドサービスの新規作成」ダイアログが開きます。
図6 ホステッドサービス新規作成画面
ここでアプリケーションに関する情報を入力し、クラウドサービスパッケージファイルとクラウドサービス構成ファイルを指定していきます。
サービス名
ここにはWindows Azureにデプロイするアプリケーション名等を入力します。ここでは「GihyoAzureSampleGame01」としています。
サービスURL
アプリケーションのURLを入力します。他のアプリケーションとURLが一致しない必要があります。ここでは「gihyo-azure-sample-game01」としています。
地域
ここではデプロイ先を「東アジア」( 香港)データセンターとしています。
デプロイオプション
「運用環境にデプロイ」をチェックします。「 ステージング環境にデプロイ」はテスト用の環境にデプロイする場合などに利用します。
デプロイ名
ここには適当なルールで「このデプロイ作業そのものに関する名前」をしています。本記事ではデプロイした日付「GihyoAzureSampleGame01_20120201」を指定しています。
パッケージの場所
先ほどパッケージ化したcspkgファイルをローカルから参照して指定します。
構成ファイル
先ほど作成されたcscfgファイルをローカルから参照して指定します。
以上を指定したら、OKボタンをクリックしてデプロイを開始します。
ただ、初期設定だと必ず以下の警告が表示されます。
図7 デプロイ開始時の警告
これはWebロールのインスタンスを2個以上して高可用性を提供できるようにしてください、という警告です。今回は「はい」をクリックして、デプロイ作業を続行します。
しばらく待つと、図8 のような状態になりアプリケーションがデプロイされ準備完了状態になります。
図8 デプロイの完了
最後にアプリケーションにアクセスしてみます。上記の画面で種類が「デプロイ」の行を選択すると、右のプロパティペインに「DNS名」という項目が出てきます。これをクリックすると、アプリケーションのインデックス画面が表示されます。表示された画面のURLの後ろに「/GameService/getcard」を追加すると、前回同様カードの数字がランダムに選択される機能が呼び出せます。
最後に
今回は前回作成したアプリケーションを実際にWindows Azure上にデプロイしてみました。いよいよそのアプリケーションにアクセスするWindows Phoneアプリケーションを作成してみたいと思います。