2011/03/10

Windows Azure VM Role の評価には Windows 7 64ビット環境を

とある案件で、現在、Windows Azure の VM Role (Beta) を評価中。VM Role 用の VHD のアップロードやサービスの構成のためには、Windows Azure の Web ロールや Worker ロールのアプリケーション開発環境と同じ、Windows Azure SDK v1.3 & Windows Azure Tools v1.3 & Visual Studio 2010 の環境が必要です。基本的に、32 ビット環境でも 64 ビット環境でもよいのですが、VM Role Beta の評価には 64 ビット環境を強くお勧めします。32 ビット環境を準備して評価していると、肝心の VHD のアップロードで悲しい思いをします。


VHD を Windows Azure Blob Storage にアップロードするための csupload ツールが、Windows Azure SDK v1.3 付属のものは 32 ビット環境で動きません。

csupload ツールが呼び出す VHD Preparation Tool (csvhdprep.exe) が、“An unexpected error occuurred: 間違ったフォーマットのプログラムを読み込もうとしました。(HRESULT からの例外: 0x8007000B) Cannot prepare VHD filename.vhd”というつれない答えを返してきます。

以下のブログによると、VM Role の Beta 段階では csupload ツールは 64 ビット OS でしかサポートされないとのこと。将来のバージョンでは 32 ビット サポートが提供されるらしいです。

MSDN Blogs > Avkash Chauhan's Blog > Windows Azure Platform Training Kit - February Update
http://blogs.msdn.com/b/avkashchauhan/archive/2011/02/06/windows-azure-vm-role-csupload-exception-system-badimageformatexception-an-attempt-was-made-to-load-a-program-with-an-incorrect-format.aspx


さて、 この問題に遭遇してしまった場合ですが、64 ビット環境 (Windows 7 64 ビットまたは Windows Server 2008 R2) に Windows Azure SDK v1.3 & Windows Azure Tools v1.3 & Visual Studio 2010 の環境をもう一度用意するのは面倒です。代替案としては、Windows 7 64 ビットまたは Windows Server 2008 R2 に IIS 7.5 をインストールして (ASP.NET と IIS 管理ツールを有効にして) 、Windows Azure SDK v1.3(WindowsAzureSDK-x64.exe) だけをインストールする方法があります。VHD を作成するための Hyper-V 環境を利用するとよいでしょう。このとき、Windows Azure Account の証明書を作成した Visual Studio の環境から、Windows Azure Account の証明書をエクスポート(.pfx) して、Windows Azure SDK v1.3 をインストールしたコンピューターにインポートします。これで、csupload ツールを実行する環境を準備できます。

0 件のコメント: