Worker RoleでWebアプリケーションを動かしてみよう

2010年11月24日(水)
田口 一博小木 ナツキ

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)

スカイコード株式会社

主にマイクロソフトの技術を中心としたプログラマ兼システム管理者兼コンサルタント兼雑務係として従事。Microsoft Azureで少しでもラクに楽しく生きていこうと企む毎日。基本怠け者。

株式会社タクシーサイト

タクシーサイト開発担当。業務システムの開発に4年間従事。PHP、Object Pascal、C#などでプログラムの基礎の基礎を学び、その後他業種へ転職。ブランク後現在の会社に入社し、クラウドを一から勉強中。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています