今更感がありますがVisual Studioを使うと仮想マシンのデバッグとデプロイが簡単にできます。
※Visual Studio 2013 Update2以降とAzure SDK 2.3、Azure PowerShell 0.7.4(Windows PowerShell 3.0)以降が必要ですが。
具体的にどう簡単になったかというと、新規でWebアプリケーションを作成する際のダイアログで、「クラウド内のホスト」にチェックを付けて仮想マシンを選ぶと仮想マシンをデプロイしてWebDeployが有効な状態にしてくれます。
こんな感じでIISとWeb配置の有効化を行うと、IISのインストールとWebDeployの準備をしてくれます。
※「OK」ってした段階で仮想マシンが作られますので注意。
実際に作成された仮想マシンを見てみると
てな感じでWebアプリケーションで必要な設定が行われてます。
また自分だけの環境にならないように、仮想マシン作成&デプロイ用のスクリプトも生成されます。
※Webサイトにした場合もどうようのスクリプトが生成されます。
Azure Resource Managerと違いますが、設定がJSONで保存されてます。このあたり統合されていくんでしょうかね…まだわかりませんが。
さて、実際にどうやってデプロイ等しているかというと、同じく生成されるPowerShellスクリプトモジュール(.psm1)にデプロイ用のモジュールと、実際にそのモジュールを使ってデプロイするスクリプトを使います。
このスクリプトモジュール、よくできてると思うので早く本家にマージされるといいですね。
なおスクリプトに関する詳細はこちら
さて仮想マシンのデプロイが終わったら、後は通常のWebアプリケーションと同じようにWebDeployで発行できますし、Zipパッケージにして、生成されたPowerShellスクリプトを使って発行することもできます。
開発者がいちいち管理ポータルでちまちま仮想マシンやらWebサイトやら作る必要もなく、開発だけに専念して展開や本番環境の調整は別の人が行ったり、スクリプトを使って自動化したりできるのは嬉しいですね。
Azureの説明の際にどんとPaaS/IaaSといいだした背景は案外こんなところかもしれません。
デバッグ方法
そいやデバッグ方法について記載してなかった感(タイトル詐欺)。
Visual Studioのサーバーエクスプローラーから対象の仮想マシンを選択して「デバッグの有効化」を行った後、デバッガをアタッチしてデバッグしたいプロセス(w3wpとか)にアタッチするだけです。はい。
簡単ですね。