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

Publishing Azure package may stuck in 95% upload status when using new Azure Portal and Chrome Browserの内容を簡単に意訳した投稿です。

Google Chormeで、新しいWindows Azure Portalを使用すると問題が発生することに気が付きました。Windows Azure PortalにGoogle Chormeでログインし、Azure サービスパッケージを公開すると95%のところで固まってしまいます。ブラウザのサイズを変更しようとすると、Google Chormeが異常終了してしまいます。

1

これは既知の問題で、Azure Portalチームがこの問題を解決するために動いています。現時点での回避策は、IEを使用することです。

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分近く時間が短縮できるのではないだろうか。

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

Windows Azure

Windows Azureにデプロイするためのベース イメージを準備します。

  1. Hyper-Vサーバーで、新しい仮想マシンを作成し、Windows Server 2008 R2をデフォルトインストールします。仮想マシンを起動後、ログインし、必要なOSの役割をインストールし設定し、Windows Azure VM Role統合コンポーネントをインストールします。より現実的なシナリオでは、現時点では、基本的な追加ソフトをインストールすることです。
  2. インストールし、必要なソフトウェアの準備をしたら、一般的なイメージを作成するために、System Preparation Tool (sysprep.exe) を適用し、シャットダウンし、Windows Azureにアップロードします。
  3. 次に、サービスモデルを作成し、デプロイしたイメージを使用するための設定をし、サービスパッケージを作成し、Windows Azure Platform Management Portalを使用してサブスクリプションにデプロイします。

 

1. 仮想マシンイメージの作成

Hyper-Vを使用して、Windows Server 2008 R2 Enterpriseをインストールする。

  • 名前:VM Role
  • メモリ:2048MB
  • NW:ローカルエリア接続 – 仮想ネットワーク
  • 仮想HDサイズ:30GB
    →サイズは、選択するVM Roleと同じサイズでなければならない。
    Small Roleにデプロイするので30GB

(12/2修正/この作業はオプションです。)
VM Roleは、ブートパーティションが正しければ複数パーティションでも問題ない。リカバリパーティションを作成したいときは、インストールするディスク選択画面でコマンド操作をする。

  1. Shift + F10を押す
  2. 次のコマンドを実行する
    diskpart
    select disk 0
    create partition primary
    exit

2.デプロイするためのベースイメージの準備

次の役割を追加する

  • Web Servers(IIS)

次の機能を追加する

  • .NET Framework 3.5.1

Windows Update の設定を変更する

  • 更新を確認しない(非推奨)

Windows Updateを手動実行する

3.Windows Azure VM Role統合コンポーネントのインストール

Hypaer-Vの接続コンソールから、DVDのイメージを追加する。

  • VM Role統合コンポーネントのイメージファイル:wavmroleic.iso
  • 追加したDVDドライブをエクスプローラーで開き、WaIntegrationComponents-x64.msi を実行する。

インストールし、再起動後sysprepを実行する。

  • スタートから%windir%\system32\sysprep\sysprep.exeを開く。
  • “Enter System Out-of-Box Experience (OOBE)” を選択
  • ラベルは、Generalize
  • シャットダウンオプションは、シャットダウンを選択

4.Windows Azureにディスクイメージをアップロードする

Windows Azure SDK Command Promptを開く

次のコマンドを実行する。

csupload Add-VMImage -Connection "SubscriptionId=<YOUR-SUBSCRIPTION-ID>; CertificateThumbprint=<YOUR-CERTIFICATE-THUMBPRINT>; ServiceManagementEndpoint=https://management.core.windows.net/" -Description "Base image Windows Server 2008 R2" -LiteralPath "<PATH-TO-VHD-FILE>" -Name baseimage.vhd

<YOUR-SUBSCRIPTION-ID>

Windows AzureサブスクリプションID

<YOUR- CERTIFICATE-THUMBPRINT>

証明書の拇印

<PATH-TO-VHD-FILE>

ディスクイメージファイルを選択する。

ダイアログが表示されて、VHDをマウントさせる。

20101201040547

Management Portalにアクセスし、Hosted Service→Storage Account & CDNタブを選択し、VM Imageを選ぶ。ステータスを確認できる。

20101201040745

アップデートが完了すると次のようになる。

20101201040829

5.サービスモデルの作成

12/02追記

VM Roleは、まだβプログラムなので、利用するには、まずβプログラムに参加登録が必要です。Windows Azure Platform PortalのAzure Connectからプログラムに申込みします。使用可能になった際に、VM RoleをVS2010で扱えるようにする方法の案内が来ます。

デフォルトの状態では、「New Virtual Machine Role」メニューが表示されないようになっています。

Visual Studio 2010を開き、Windows Azureプロジェクトを新規作成する。

ロールを何も選択しないで、OKを押す。

20101201040959

ソリューションに、VM Roleという名前の新しい仮想マシンRoleをプロジェクトに追加する。

20101201041150

新しいロールのプロパティを開き、Virtual Hard diskタブを選択。

Azure証明書を追加し、仮想ハードディスクを選択する。

20101201041509

Endpointsタブを選択し、エンドポイントを追加する。

  • 名前:HttpIn
  • タイプ:Input
  • Protocol:http
  • 両ポート:80

20101201041649

リモートデスクトップの設定をする。

ソリューションエクスプローラーで、MyVMRoleを選択し、右クリックからPublishを選択する。

ダイアログで、Configure Remote Desktop connectionsを選択する。

20101201042227

リモート接続ダイアログが開くので、Enable connections for all rolesにチェックをいれる。

期限と、ユーザID、パスワードを設定する。

20101201042433

Create Service Package Onlyにチェックをいれ、パッケージを作成する。

20101201042625

6.ホストサービスを作成し、パッケージをデプロイする

パッケージをデプロイする。

成功すると、homeタブにURLが表示される。

20101201042924

アクセスするとVM Role上で動作しているWindows Server 2008 R2 のIIS画面が表示される。

参考情報

Download details: Windows Azure Platform Training Kit – November Updateで公開されている2010年11月版のトレーニングキットで新たに追加されたVirtual Machine Roleのトレーニングのレッスン1をもとに作成した投稿です。