VHDファイルのアップロード
作成したVHDファイルをVMロールから利用するためには、Windows Azure上にアップロードする必要があり、これはcsuploadコマンドから行います。VHDファイルは、通常のBlob領域にアップロードされるわけではなく、VMロール向けの場所に格納されますが、別途使用量は課金されます。
Windows のスタートメニューから、[Windows Azure SDK 1.4]-[Windows Azure SDK Command Prompt]を開きます。以下の操作すべてを1行で実行することもできますが、今回は接続情報の設定と、アップロード処理を2回に分けて実施します。
はじめに 「csupload Set-Connection」コマンドでサブスクリプションIDと、管理API用証明書の拇印(注4)を指定します。(リスト1)。
csupload Set-Connection "SubscriptionId=<サブスクリプションID>;CertificateThumbprint=管理API用証明書 の拇印"
Visual StudioからWindows Azureへ直接配置するように構成済みであれば、管理API用証明書は管理ポータルに登録済です。証明書の拇印を確認するには、管理ポータルから、[Hosted Services, Storage Accounts CDN]‐[Management Certificates]を選択します。証明書一覧が表示されるため、プロパティの「Thumbprint」が、証明書の拇印となります。
これにより接続情報が保存され、これ以降に実行されるcsuploadコマンドは、常にこの接続情報が使われます。接続情報をクリアしたい場合は「csupload Clear-Connection」を実行してください(リスト2)。
csupload Clear-Connection
次に、「csupload Add-VmImage」コマンドでローカルPC上のVHDファイルを、Windows Azure上の任意のロケーションまたはアフィニティグループにアップロードします。
csupload Add-VmImage -LiteralPath "ローカルPC上のVHDファイルの場所" -Location "データセンターの場所" -Description "説明" -Name "アップロード後のVHDイメージの名前"
各引数の意味は、下表の通りです。
引数 | 指定する値 |
LiteralPath | ローカルPC上にあるVHDファイルの場所を指定します。 |
Location | データセンターの場所を指定します。 |
AffinityGroup | アフィニティグループを指定します。Locationもしくは、AffinityGroupを指定する必要があります。 |
Description | 説明を記述します。 |
Name | アップロード後のVHDイメージの名前を指定します。サフィックスはVHDである必要があります。 |
指定可能なLocationおよび、AffinityGroupは、リスト4のコマンドで取得できます。
csupload Get-Location csupload Get-AffinityGroup
接続情報の設定とイメージの追加を実行した時の例です(図16)。
csuploadコマンドの詳細は、「CSUpload Command-Line Tool」を参照してください。
VHDファイルのアップロードが完了すると、管理ポータルの「VM Images」から確認することができます(図17)。