【Azure】仮想マシンのマイイメージに登録したVHD削除時のエラー対応

こちらの記事で書いた通り、AzureへアップロードしたVHD仮想マシン時のマイイメージとして登録した後に、BLOBストレージからVHDを削除しようとしたところ以下のエラーが発生しました。

There is currently a lease on the blob and no lease ID was specified in the request.


Remove-AzureVMImage

AzureのマイイメージにVHDがアサインされていることが理由のようです。そこで以下のコマンドでアサインを解除してあげたところ、無事VHDを削除できるようになりました。

Remove-AzureVMImage -ImageName <MyImageName>

 


DeleteVHDオプションをつけると、VHD削除まで一つのコマンドでマイイメージからの削除とVHDの削除が可能です。

Remove-AzureVMImage -ImageName <MyImageName> –DeleteVHD 

※Remove-AzureVMImageの使い方
http://msdn.microsoft.com/en-us/library/dn495245.aspx



Remove-AzureVMImage引数に指定するImageNameがわからない場合はGet-AzureVMImageコマンドでイメージの一覧を取得できます。そのままだとAzureに元々登録されているWindowsLinuxのイメージも全て表示されてしまいます。(かなり多いです。)そこで、自分の登録したものだけを一覧したい場合は、以下のような感じで調べてみるといいかもしれないです。

Get-AzureVMImage | Where-Object{$_.Category -eq "User"}

自分のアップロードしたイメージはデフォルトでカテゴリが「User」となるので、ここではCategoryというプロパティでフィルタしてます。もちろん他のBLOBプロパティ情報をキーにして検索しても大丈夫です。

 
コマンドを実行すると、VMイメージのラベル一覧が表示されます。

AffinityGroup : MY-AG
Category : User
Location :
LogicalSizeInGB : 120<省略>
ImageName : MyImageName
OS : Windows
<省略>

ImageNameも表示されますので、これをRemove-AzureVMImageの引数として使います。