normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

Windows Azure Cmdlets 2.0 を利用する

PowerShell Advent Calendar 2011 12/20日版である今回は、MS謹製の運用ツールである Windows Azure Cmdlets 2.0 を紹介したいと思う。Windows Azure Cmdlets が 1.0 から 2.0 へバージョンアップされ、かなりの機能が追加されたのだがあまり記事が存在しない。簡単な利用方法とはまりどころを紹介したいと思うので、ぜひ参考にしていただきたい。

Windows Azure Cmdlets のインストール

まずは CodePlex サイトである http://wappowershell.codeplex.com/ からインストールパッケージである WAPPSCmdlets.exe を取得してほしい。WAPPSCmdlets.exeからインストーラが起動してパッケージをインストールすると、以下のようにエクスプローラが起動する。

この時点では Windows Azure Cmdlets 2.0 のインストールは完了していないため、 startHere.cmd をダブルクリックして以下のウィンドウを起動する*1

指定された必須コンポーネントをインストール後、以下の質問に両方「y」を入力してインストールを進める。

Did the Content Installer finish installing the required dependencies? (Y / N):y

Do you want to install the Windows Azure PowerShell Cmdlets? (Y / N): y

Windows Azure Cmdlets のインストール方式を Snap-in 形式か Module 形式で選択可能だが、今回は「1」を選択する。

====================================================
Installing Windows Azure Platform PowerShell Cmdlets
====================================================

Please select how you wish to install the Windows Azure Platform PowerShell Cmdlets:
1. Install as a PowerShell Snap-in
2. Install as a PowerShell Module
Please select an option:

最後に、インストールの完了を確認するため、[スタートメニュー]-[すべてのプログラム]-[アクセサリ]-[Windows PowerShell]-[Windows PowerShell]を管理者権限で起動する*2。起動したコンソールに対し、「Get-PSSnapin -register」コマンドを入力し、「WAPPSCmdlets」が表示されればインストール完了だ。

PS C:\Windows\system32> Get-PSSnapin -register

Name        : SqlServerCmdletSnapin100
PSVersion   : 2.0
Description : This is a PowerShell snap-in that includes various SQL Server cmdlets.

Name        : SqlServerProviderSnapin100
PSVersion   : 2.0
Description : SQL Server Provider

Name        : WAPPSCmdlets
PSVersion   : 2.0
Description : Windows Azure Platform PowerShell Cmdlets

Windows Azure Cmdlets の簡単な利用

上記までの手順を実施することで Windows Azure Cmdlets 2.0 がインストールされたが、簡単なコマンドの利用方法を紹介する。また、Windows Azure ポータルサイトの操作を行うには証明書を利用するが、手順が若干煩雑なのでこちらでまとめて記述する。
最初にWindows Azure Cmdletsで利用する証明書を取得する。まず、ポータルサイト http://windows.azure.com にアクセスし、ホスティッドサービスタブを選択する。さらに、Windows Azure Cmdletsで操作するサービスの証明書を選択し、当該証明書のサムプリント値を記憶する*3

次に Visual Studio を起動し、以下の[発行]ダイアログから[Settings]-[Common Settings]タブを選択して[Settings...]リンクを謳歌する。

次に、[More Options]ボタンを押下してリモートデスクトップ用の証明書を選択可能とする。さらに、ホスティッドサービス側とサムプリント値が同一の証明書を選択するため、プルダウンメニューを押下する。

証明書の一覧が表示されるため、ホスティッドサービス側とサムプリント値が同一の証明書を選択し、[View]ボタンを押下する。

以下のような[証明書]ダイアログが起動するため、以下の画像例に従って証明書のコピーを設定する。

最後に、ファイルの配置場所(今回は C:\tmp\NormalianRemoteAccess2.cer )を入力して証明書をコピーする。

証明書の準備が完了したので、PowerShellのウィンドウに以下のコマンドを入力し、normalian-feasibili-testt のデプロイ情報を取得する。

PS C:\Windows\system32> Add-PSSnapin  WAPPSCmdlets

PS C:\Windows\system32> Get-Deployment -Certificate C:\tmp\NormalianRemoteAccess2.cer -ServiceName normalian-feasibilit-test -SubscriptionId XXXXXXXXXXXXXXXXXXXXXXX -Slot production


Slot               : production
Name               :
Url                :
Status             :
RoleInstanceList   :
Configuration      :
DeploymentId       :
Label              :
OSVersion          :
RolesConfiguration :
SubscriptionId     : XXXXXXXXXXXXXXXXXXXXXXX
Certificate        : [Subject]
                       CN=Windows Azure Tools

                     [Issuer]
                       CN=Windows Azure Tools

                     [Serial Number]
                       YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

                     [Not Before]
                       2011/10/29 9:22:36

                     [Not After]
                       2012/10/29 9:32:37

                     [Thumbprint]
                       <NormalianRemoteAccess2.cer の Thumbprint>

ServiceName        : normalian-feasibility-test
OperationId        :

細かい説明は不要だと考えているが、図示すると以下になるので参考にしていただきたい。

*1:64bit版 の Windows Azure Cmdlets をインストールする場合にはコツが必要であるため、1.0版の記事となるが id:waritohutsu:20110430:1304110844 を参照してほしい

*2:この時点では管理者権限で起動する必要はないが、後半の説明のため

*3:コピペの方がベター