Visual Studioを使った仮想マシンのデバッグとデプロイ

今更感がありますがVisual Studioを使うと仮想マシンのデバッグとデプロイが簡単にできます。

※Visual Studio 2013 Update2以降とAzure SDK 2.3、Azure PowerShell 0.7.4(Windows PowerShell 3.0)以降が必要ですが。

具体的にどう簡単になったかというと、新規でWebアプリケーションを作成する際のダイアログで、「クラウド内のホスト」にチェックを付けて仮想マシンを選ぶと仮想マシンをデプロイしてWebDeployが有効な状態にしてくれます。

image

こんな感じでIISとWeb配置の有効化を行うと、IISのインストールとWebDeployの準備をしてくれます。

image

※「OK」ってした段階で仮想マシンが作られますので注意。

実際に作成された仮想マシンを見てみると

image

てな感じでWebアプリケーションで必要な設定が行われてます。

また自分だけの環境にならないように、仮想マシン作成&デプロイ用のスクリプトも生成されます。

image

※Webサイトにした場合もどうようのスクリプトが生成されます。

image

Azure Resource Managerと違いますが、設定がJSONで保存されてます。このあたり統合されていくんでしょうかね…まだわかりませんが。

さて、実際にどうやってデプロイ等しているかというと、同じく生成されるPowerShellスクリプトモジュール(.psm1)にデプロイ用のモジュールと、実際にそのモジュールを使ってデプロイするスクリプトを使います。

このスクリプトモジュール、よくできてると思うので早く本家にマージされるといいですね。

なおスクリプトに関する詳細はこちら

さて仮想マシンのデプロイが終わったら、後は通常のWebアプリケーションと同じようにWebDeployで発行できますし、Zipパッケージにして、生成されたPowerShellスクリプトを使って発行することもできます。

開発者がいちいち管理ポータルでちまちま仮想マシンやらWebサイトやら作る必要もなく、開発だけに専念して展開や本番環境の調整は別の人が行ったり、スクリプトを使って自動化したりできるのは嬉しいですね。

Azureの説明の際にどんとPaaS/IaaSといいだした背景は案外こんなところかもしれません。

デバッグ方法

そいやデバッグ方法について記載してなかった感(タイトル詐欺)。

Visual Studioのサーバーエクスプローラーから対象の仮想マシンを選択して「デバッグの有効化」を行った後、デバッガをアタッチしてデバッグしたいプロセス(w3wpとか)にアタッチするだけです。はい。

簡単ですね。

Azure Resource Manager

Azure Resource Managerって何ですか? というのをいつも通り適当に書いておきたいと思います。

適当は嫌じゃ、という方は //build/ 2014 と TechEd 2014 NA のセッションとかを見たほうが早いかもしれません。

続きを読む

マイクロソフト関連書 クラウドデザインパターン

「マイクロソフト関連書 クラウドデザインパターン Azureを例としたクラウドアプリケーション設計の手引き」という書籍が日経BPよりでます。6月9日。

クラウドデザインパターン Azureを例としたクラウドアプリケーション設計の手引き

翻訳本です。原書はp&pの「Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications」です。ほんのちょっとだけかかわりました。MSさん、さとうなおきさん始め他の方がたくさん頑張りました。

Azureは例として出てきますが、基本的にあまり関係なくクラウド全般の話です。

FreeBSD on Azure

ついにこの日がやってきました。

WALinuxAgent2.0がFreeBSDに公式対応したということもあり、VMDepotにFreeBSD 10 RELEASE x64なイメージが公開されています。

今のところ管理ポータル上のVMDepotの参照からは作れなさそうなのでコマンドでどうぞ。

image

VMDepotから生成スクリプト取得できるので、簡単ですね。

azure vm create <クラウドサービス名> -o vmdepot-36254-2-128 -l "East Asia" <ユーザー名> <パスワード> --ssh

という感じです。まぁイメージ名だけ間違ってなければあとはお好きなようにという感じです。

image

\ノ’∀ン ヒャッホウ

もうこれで過去やったみたいな面倒くさい手順からは解放されます!

AzureでもFreeBSDライフをお楽しみください!

Azure Updateいろいろ

しねる。

公式的にはこちらを参照

続きを読む

Azure PowerShell のあれこれ

Azure PowerShellも日進月歩な感じである意味時代の最先端(未発表機能が追加されてたり)をイッてるツールなわけですが今日はその小ネタを。

 

証明書が無いとかなんとかエラーがウザイ

%userprofile%\AppData\Roaming\Windows Azure Powershell フォルダにいろいろあるので、バッサリ消して初期化しちゃいましょう。うん。

 

Import-AzurePublishSettingsFile とか面倒くさいしウザイ

最近のバージョンでは Add-AzureAccount すればフェデレーション認証な感じでMSアカウントで認証して必要な権限をゲットできます。ほとんどのコマンドはこれだけで済むのでむっちゃ便利です。

Import-AzurePublishSettingsFile も便利なんですが、こいつに渡すファイルを Get-AzurePublishSettingsFile とかで取得するとその都度証明書作られたりウザイ。というわけでステステ。

※とはいえスクリプト内で実行する場合などは必要になるので、適宜ちゃんと作成・管理しましょう。

Import-AzurePublishSettingsFile 使わないと Add-AzureVhd でエラーになるんじゃ

clientCert cannot be null とか言うやつですね。わかります。なぜかAdd-AzureVhdだけ特殊な気が。。。

面倒くさいので New-AzureStorageContainerSASToken とかでSASを取得してアップロード先のURLにつけるといいですよ。

$sas = Get-AzureStorageContainer -Container vhds | New-AzureStorageContainerSASToken -Permission rwdl -ExpiryTime (Get-Date).AddDay(5)
$dest = "https://~~/vhds/test.vhd" + $sas

Add-AzureVhd -LocalFilePath $vhd -Destination $dest


こんな感じで。SAS便利だね☆

(5/9追記)SASの有効期間が短くてUpload中にエラーになったりするので、-ExpireTimeで長めの有効期限を渡しておきましょう。(例だと5日間)

はぁー、暇になりたい。