Windows Azure

も~い~くつ寝ると~お正月~♪ お正月には、VM Roleいじって~♪
てなわけで、未だにWindows Azure VMがPending状態のアカウントしか手元に無い綾貴でございます。
仕方ないので、Blogベースで予習しておきたいと思います。

関連投稿としては、などがあるので、参考にしてください。

VM Roleが使用できるようになると来るメール

βプログラムのVM Roleに申込みをして、有効になると、「Welcome to the Windows Azure VM Role Beta program!」という件名のメールと下のメールを受信することになります。

Your subscription is now enabled to use the VM Role feature in Windows Azure.


If you have not installed the latest version of the Windows Azure Tools (which includes the SDK), please install it from here.


After you have installed the Windows Azure Tools, please run this additional script to enable the VM Role features in the Visual Studio development environment: 32-bit or 64-bit. <—— この投稿では、リンクは削除してます。


Please note this is not a monitored alias. For additional questions or support please use the resources available here.


As a reminder, your use of the Windows Server 2008 R2 software in the Windows Azure VM Role Beta Program is governed these license terms.


Privacy Statement


Thank you,

The Windows Azure Team.

メールの中ほどに、Visual StudioでVM Role機能を有効にする追加スクリプトを入手する為の、リンク先が記載されています。スクリプトをダウンロードして、実行すればVS2010でVM Role関連機能が有効化され、次の画像のように選択できるようになります。

いつ自分のアカウントは有効化されるんでしょうか・・・年明けかな?(涙

参考情報

この投稿の元ネタは、

Windows Azure VM Role: Instruction to enable "New Virtual Machine Role" in VS2010 are in the VM Role confirmation email

で、あります。こちらの内容を元に、大胆に意訳してありますので、あしからず。

Windows Azure

SDK 1.3で、CloudDrive.InitializeCache() とCloudDrive.Mount() が、たまにERROR_UNSUPPORTED_OSで失敗するとの報告を受けました。
Azure CloudDrive サービスのOSが起動する前に、CloudDrive API を呼び出した時に、このエラーが発生します。旧バージョンのSDKでは、アプリケーションの開始が遅かったので、Azure CloudDrive サービスが起動しきった後に、起動していました。

この問題は将来バージョンで修正する予定です。修正するまでは、CloudDrive API を呼び出したときに、問題が発生した場合は、リトライすることを推奨します。CloudDrive.InitializeCache()を以下のサンプルコードのようにリトライします。
CloudDrive.CreateやCloudDrive.Mount、CloudDrive.GetMountedDrivesを含むCloudDrive APIsを最初に呼び出したときに、ループを回すようにします。

For (int i = 0; i < 30; i++)
{
       try
       {
           CloudDrive.InitializeCache(localCache.RootPath,localCache.MaximumSizeInMegabytes);
           break;                   
       }
       catch (CloudDriveException ex)
       {
           if (!ex.Message.Equals("ERROR_UNSUPPORTED_OS") || i == 29)
                 throw;
           Thread.Sleep(10000);
       }
}

Windows Azure

Windows Azure VM Roleの使用方法については、Virtual Machine Role利用方法 概略手順を参照していただくとして、細かい部分をいくつかMSDNライブラリから拾ってきたのでメモっておく。
尚、MSDNライブラリには、リリース前の内容を含んでいるのであしからず~っと注意書きがあるので、以下の内容も、参考程度にしてくだされ。

  1. 課金とライセンス
  2. VM Role用VHDを作成する為のホストPC要件
  3. Windows Azure統合コンポーネント
  4. Windows Azure VM Roleのテスト方法
  5. VM Roleアダプターとは

Windows Azure

今更ですが、SDK1.3で可能になったWindows Azureへのリモート接続をやってみました。

その際に参照したサイトを正真正銘、自分専用の備忘録としてメモ。

Windows Azure

Windows Azureにリモートデスクトップで接続できるようになったことは、周知のとおりである。接続方法については、IT Proエヴァの安納さんが「【Azure for ITPro】Widnows Azure にリモートデスクトップで入り込むための手順 (1)」気合を入れて紹介されている。

興味の中心がWindows Azure Platformの中でもSQL Azureにだいぶ偏っている為か、リモートデスクトップで接続できることのメリットが今一つ見えていなかった。「Debug and redeploy your web applications quickly」を読むことで、素晴らしい世界の一部を垣間見た。

アプリケーションの問題は何か?

Windows AzureにデプロイしたWebアプリケーションで問題が発生した。デバッグするには、どうするか?リモートデスクトップでWindows Azureに接続し、IIS Managerを開く。そして、問題が発生しているサイトを開く。

右側のリンクをクリックすることで、Internet ExplorerでURLを開くことができる。すると、ASP.NETをローカル環境で開いた時のように、エラー詳細が表示される。

今回はアセンブリ不足でエラーが発生している。Visual Studioでコンパイルする際に、アセンブリのコピー設定が間違っていて、アセンブリが不足していてエラーとなった。

素早く再デプロイ

すごいのが、ここからである。従来であれば、VSの設定を変更し、コンパイルしたものを再度時間をかけてデプロイし直さなければならなかった

しかし、リモートデスクトップで接続できるようになった今は違う!

リモートデスクトップで接続し、エクスプローラーで開く。

approotの下にあるbinフォルダーに直接アセンブリファイルをコピーしてあげれば、再デプロイ完了である。

10分近く時間が短縮できるのではないだろうか。

今回のような、軽いしょーもないミスで、時間をかけてデプロイしなおしていたのは昔の話となり、今後は、コピーしてやれば良いとは・・・・リモートデスクトップ恐るべし。