Worker RoleでWebアプリケーションを動かしてみよう
Visual Web Developerから配置
[田口] Visual Web Developerから配置を行う設定をしましょう。最初の設定がちょっと面倒ですが、2回目以降の配置は楽になりますよ。
[小木] 配置は繰り返し行う操作なので、楽になるのは大歓迎!早くやりましょう。教えてください!
Visual Web Developerで発行を選択し[クラウド サービスの発行]ダイアログを表示します(画面12)。
画面12:クラウドサービスの発行 |
[クラウドサービスを Windows Azure に配置します]を選択、資格情報で[<追加...>]を選択します。[証明書の作成] ダイアログが表示されますので、名前を入力し[OK]をクリックします(画面13)。
画面13:証明書の作成 |
[クラウドサービス管理認証]ダイアログが表示されますので、2にある[完全パスのコピー]をクリックして、クリップボードにコピーします(画面14)。
画面14:クラウドサービス管理認証 |
デベロッパーポータルにアクセスし、プロジェクト名をクリック、[Account]をクリックしてアカウントページを表示し、[Manage My API Certificates]をクリックします(画面15)。
画面15:アカウントページ(クリックで拡大) |
API Certificatesページが表示されたら[Upload Certificate]に、先ほどコピーした値を設定し、[Upload]をクリックします(画面16)。
※そのままペーストは出来ないので、参照をクリックしてクリップボードにあるパスを選択する必要があります。
画面16:証明書選択(クリックで拡大) |
登録が終わると[Installed Certificates]にアップロードした証明書が表示されます(画面17)。
画面17:証明書登録完了(クリックで拡大) |
サブスクリプションIDを使いますので、アカウントページに戻り(Accountをクリック)一番下にある[Subscription ID]の値をコピーしておきます(画面18)。
画面18:サブスクリプションID確認(クリックで拡大) |
Visual Web Developer に戻り、[クラウドサービス管理認証]ダイアログに先ほどコピーしたサブスクリプションIDを貼り付けて、[OK]ボタンをクリックします(画面19)。
画面19:クラウドサービス管理認証(サブスクリプションID貼り付け後) |
[クラウドサービスの発行]ダイアログに戻りますので、配置先を「Production」に変更して、[OK]をクリックすると、ビルドから配置、開始までが自動的に行われます(画面20)。
画面20:クラウドサービスの発行(準備完了) |
[小木] ビルド始まりました!後は待つだけですね。最初の設定は面倒と言っても、全部GUIから出来るし、意外と簡単でしたね。
[田口] まあ、難しくはないですね。パッケージの作成が終わって配置が始まるとWindows Azureのアクティビティ・ログで配置の状態がわかりますので、状態が完了済みになったらWordPressのインストールを続けてください(画面21)。
画面21:配置の状態 |
[小木] 状態が完了済みになったのでインストール作業を続けますね。ブラウザでWordPress(http://xxxxxx.cloudapp.net/wordpress)にアクセスしてインストールっと・・・。今回も何の問題もなく完了!(画面22)
画面22:WordPress画面 |
[小木] そういえば、Visual Web Developerから削除もできますか?
[田口] いえ、停止や削除などの操作は、デベロッパーポータルから行うことになりますね。
[小木] なるほど、やはり手動も必要なんですね。では、デベロッパーポータルにアクセスして、削除、削除っと。
なぜWorkerロールでWebアプリケーション?
[小木] 素朴な疑問があるのですが、いいですか?確かにコードを1行も書かずにHWCの上にWordPressをインストール出来たので簡単だったのですが・・・。でも、コードを見るといろいろな処理を行っているみたいなんですよね。わざわざWebアプリケーションをWorkerロールで動かす必要ってあるのですか?
[田口] ソースを見るほど成長したとは・・・(感動)。WebロールはWorkerロールに比べて制約が多いですからね。現時点では、既存のWebアプリケーションを動かそうとすると、ストレージなどの問題でAzureに乗せるのが大変なアプリは多いと思いますよ。
そのため何らかの理由があり、Azureで既存のアプリを動かす必要がある場合は、WorkerロールでHWCを使うケースは多いのではないかな。
[小木] 何らかの理由ですか・・・。あと、「現時点では」っていうと?
[田口] 今後、新しいロールであるVMロールや、Full IIS と呼ばれる機能などが追加されていく予定なので、既存のアプリケーションを動かすためでもWorkerロールでHWCを使うケースは減るかもしれませんね。まあ、今日はこの辺にしましょう(※2010年11月8日現在)。
[小木] おつかれさまでした~。今日で山は越えた感じがします。あとはストレッチしてクールダウンって感じですね。では、ゆっくりお茶でも飲みましょっか。今日はスイートポテトもあるんですよ!あ、1個しかないんですけどっ。
[田口] (私の分はないんですね・・・)
【参考文献】
Windows Azure Hosted Web Core Worker Role - MSDN Code Gallery(アクセス:2010/11)