SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

VM Role にゲスト OS を展開

leave a comment

ここまでで作成したゲスト OS を Windows 7 + VWD + Azure SDK 1.3 の環境を使用して VM Role に展開したいと思います。

引き続き、[蒼の王座] さんと [ブチザッキ] さんのブログを参考にさせていただいています。

手順としては [Windows Azure Platfor Traning Kit ? December Update] の流れで実施していきたいと思います。

■サブスクリプション ID の確認


VM Role にゲスト OS を展開する際に Windows Azure のサブスクリプション ID が必要となるので確認をしておきます。

  1. [Management Portal] にアクセスします。
    # Silverlight がインストールされていない場合はインストールする必要があります。
    image
  2. [Hosted Services, Storage Account & CDN] をクリックし、[Subscriptions] をクリックします。
    image
  3. アカウント名が表示されるのでクリックすると右の [Properties] に [Subscription ID] が表示されるので、その ID をコピーしておきます。
    image

取得したサブスクリプション ID は展開時に必要となります。

■証明書の作成 / 登録

VM Role にゲスト OS (VHD) を展開する際には、[csupload] というコマンドを使用するのですが、この際に、[CertificateThumbprint] を指定する必要があります。

これは証明書の拇印になりますので、元になる証明書を作成して、Management Portal から登録をしておく必要があります。
証明書の作成ですが makecert を使用する方法 (PowerShell で始める Windows Azure アプリケーション管理) や発行時の資格情報の追加で作成する方法があるかと思いますが、今回は VWD で発行時に作成される証明書で作業をしていきたいと思います。

  1. VWD を起動します。
  2. 新しい Windows Azure プロジェクト を作成します。
    image
  3. ロールは何も追加をせずに、[OK] をクリックします。
    image
  4. ソリューション エクスプローラーからソリューション名を右クリックして、[発行] をクリックします。
    image
  5. [資格情報] のプルダウンをクリックして [<追加…>] をクリックします。
    image
  6. 証明書の名前を入力して [OK] をクリックします。
    image
    [OK] をクリックしたタイミングで個人用の証明書として登録がされます。
    image
  7. [完全パスのコピー] のリンクをクリックします。
    image
  8. [OK] をクリックします。
    image
  9. クリップボードに証明書のファイルのパスがコピーされていますので、スタートの検索のテキストに貼り付けて、[.cer] ファイルをコピーして、適当な場所にファイルとして貼り付けておきます。
    # VWD を閉じてしまうと cer ファイルが消えてしまうので VWD は開いたままにしておきます。
    image
  10. Management Portal にアクセスをして、[Hosted Services, Storage Account & CDN] をクリックします。
  11. [Management Certificates] をクリックします。
    image
  12. [Add Certificate] をクリックします。
    image
  13. [Browse] をクリックして先ほどコピーした証明書を選択して [開く] をクリックします。
    image
  14. [Done] をクリックします。
    image
  15. 証明書がアップロードされました。 [Thumbprint] が必要になりますのでコピーしておきます。
    # ここでもサブスクリプション ID 確認できるので、最初の手順で行っているサブスクリプション ID の確認はここで実施しても問題ありません。
    image
  16. VWD の画面に戻り、サブスクリプション ID を入力して、[OK] をクリックして資格情報を保存しておきます。
    image

作業が終了したら、VWD は一度閉じておきます。

■VHD のアップロード


作成していた VHD を Azure 上にアップロードしてみたいと思います。
Windows 7 上に前回の手順で作成した VHD を保存しています。
image

  1. [スタート] → [すべてのプログラム] → [Windows Azure SDK v1.3] → [Windows Azure SDK Command Prompt] を実行します。
    image
  2. csupload を実行して VHD のアップロードを行います。
    csupload のコマンドラインに関しては以下に情報があります。
    CSUpload Command-Line Tool

    Traning Kit に記載されている内容を元に以下のコマンドでアップロードをしました。
    # 一行で入力します。

    csupload Add-VMImage -Connection "SubscriptionId=[サブスクリプション ID]; CertificateThumbprint=[証明書の Thumbprint]" -Description "Base image Windows Server 2008 R2" -LiteralPath "E:Base.vhd" -Name "baseimage.vhd" -Location "East Asia"
  3. 以下のダイアログが表示されたら [OK] をクリックします。
    image
  4. VHD がマウントされて検証されたのちに、Preped ファイルが VHD と同一のドライブに作成されます。
    # Preped ファイルの作成はコマンドのオプションで変更できるみたいですがデフォルトは同じドライブのようです。
    日本語 OS または、英語 OS に日本語の言語パックをインストールしていた場合は、[Found Windows Azure VM Role Agent] が成功しないでエラーになってしまったのですよね…。
    この辺はケースを整理して再度検証したいと思います。
    今回は英語 OS で、言語パックはインストールしていない状態の VHD を使用しています。
    image
    image
  5. Preped ファイルの作成が終了すると、ファイルのアップロードがされます。
    VHD ではなく作成された Preped ファイルがアップロードされるみたいですね。
    image
    アップロード中に Management Portal の [Hosted Services, Storage Accounts & CDN] → [VM Images] を確認すると [Pending] になっているようですね。
    image
  6. アップロードが終わると、Management Portal で Status が [Committed] になります。
    image
    csupload の結果は以下のようになりました。

    Windows(R) Azure(TM) Upload Tool 1.3.0.0
    for Microsoft(R) .NET Framework 3.5
    Copyright (c) Microsoft Corporation. All rights reserved.

    Using temporary directory E:…
    Preparing VHD E:Base.vhd…

    Windows(R) Azure(TM) VHD Verification Tool 1.3.0.0
    for Microsoft(R) .NET Framework 3.5
    Copyright (c) Microsoft Corporation. All rights reserved.

    Attached E:Base.vhd.
    Getting volume information for E:Base.vhd…
    Found Windows Azure VM Role Agent version 1.3.11122.0038
    on volume 5. Make sure volume 5 is the boot volume of E:Base.vhd.
    Detached E:Base.vhd.
    Successfully passed the verification tests.
    The mounted size of the VM image is 15 GB. This image can be used with the follo
    wing Windows Azure VM sizes: ExtraSmall, Small, Medium, Large, ExtraLarge

    Windows(R) Azure(TM) VHD Preparation Tool. 1.3.0.0
    for Microsoft(R) .NET Framework 3.5
    Copyright (c) Microsoft Corporation. All rights reserved.

    Created new VM image baseimage.vhd in location East Asia.
    Creating new page blob of size 5560584704…
    Elapsed time for upload: 00:19:51
    Successfully uploaded and committed the VM image.
    Name                  : baseimage.vhd
    Label                 : Base.vhd
    Description           : Base image Windows Server 2008 R2
    Location              : East Asia
    Status                : Committed
    Uuid                  : 423b4fcb-173c-11e0-8150-1c6f65704e1f
    Timestamp             : 2011-01-03T13:20:40Z
    MountSizeInBytes      : 16106127360
    CompressedSizeInBytes : 5560584192

■サービスモデルの作成

VM Images へのアップが完了したらサービスモデルの作成を行います。

サービスモデルの作成は Windows 7 + VWD の環境で実施しています。

  1. [Microsoft Visual Web Developer 2010 Express] を実行します。
    image
  2. 新しいプロジェクトで [Windows Azure プロジェクト] を選択して、[OK] をクリックします。
    image
  3. ロールは追加せずに [OK] をクリックします。
    image
  4. ソリューション エクスプローラーで [ロール] を右クリックして [追加] → [新しい仮想マシン ロール] をクリックします。
    image
  5. [Windows Azure アカウントの資格情報を選択または作成します] からアカウントを選択して、[Windows Azure ストレージ アカウントから仮想マシン ロールの VHD を選択します] から先ほどアップしたイメージを選択します。
    # 資格情報は証明書を作成する際に作成したものが選択できるはずです。
    image
  6. 今回は Extra Small を使用するので、[構成] から VM サイズを [極小] に設定しています。
    # 特別導入プランの場合はデフォルトの [小] になります。
    image
  7. [エンドポイント] を選択して、[エンドポイントの追加] をクリックします。
    image
  8. エンドポイントとして以下の設定を追加します。
    追加が終わったら FD マークをクリックしてここまでの設定を保存しておきました。
    image
  9. ソリューションエクスプローラーでソリューション名を右クリック [発行] をクリックします。
    image
  10. [リモート デスクトップ接続の構成] をクリックします。
    # この画面の前にダイアログが表示された場合は [OK] をクリックします。
    image
  11. [すべてのロールの接続を有効にする] を有効にして、プルダウンから [作成] をクリックします。
    image
  12. 証明書の名前を入力して、[OK] をクリックします。
    image
  13. リモートうせr接続で使用するユーザー名とパスワードを入力して、[OK] をクリックします。
    image
  14. [サービス パッケージだけを作成] を選択して、[OK] をクリックします。
    image
  15. パッケージが作成されます。
    image

 

■パッケージのアップロード


作成したパッケージを Management Portal からアップします。

  1. Management Portal にアクセスします。
  2. [Hosted Services, Storage Accounts & CDN] → [Hosted Services] をクリックします。
  3. [New Hosted Service] をクリックします。
    image
  4. [Enter a name for your service] [Enter a URL prefix for your service] を入力して、[Choose a Region] からデプロイ先を選択し、[Do not deploy] を選択して、[OK] をクリックします。
    デプロイ先ですが今回は、[East Asia] を選択しています。
    image
  5. [Certificates] を選択して、[Add Certificate] をクリックします。
    image
  6. リモートデスクトップの設定時に作成した証明書を参照します。
    証明書のエクスポートは、発行時の [リモート デスクトップ構成] から [表示] をクリックして、
    image
    [詳細] の [ファイルにコピー] を選択します。
    image
    秘密キーをエクスポートする形でファイルにコピーをします。
    image
  7. [Browse] をクリックしてエクスポートした証明書を選択して、エクスポート時に入力したパスワードを設定し、[Create] をクリックします。
    image
  8. [Hosted Service] 名をクリックして、[New Production Deployment] をクリックします。
    image
  9. [Deployment name] を入力して、[Package locati
    on] [Configuration file] を [Browse Loccaly] から先ほど作成したパッケージを選択して、[OK] をクリックします。
    image
  10. [Yes] をクリックします。
    image
    1 インスタンスなので SLA の基準を満たせないというメッセージになります。
    image
  11. デプロイが完了するまで待ちます。
    VHD は、Sysprep をかけた状態でアップしていますが、Sysprep の進捗状態は [VM instance] の [Status] に表示されるので興味深く眺めていました。
    image

デプロイが完了すると Status が [Ready] となります。
image

 

[Connect] からリモートデスクトップで接続することもできました。
# 接続に使用するユーザーは、[Administrator] ではなく、VWD で設定したユーザーになります。
オンプレミスの状態では起動していなかった [Windows Azure ~] のサービスも VM Role で展開すると起動しているのが確認できます。
image

ライセンス認証も KMS で行われているようですね。
image

VM Role 上にインストールした IIS にもアクセスができています。
image

VWD という開発ツールを少しだけ使いますが、手順が分かっていれば私のような開発を行わない IT Pro でも VM Role の展開はできると思います。

あとはこの VM Role をどのように活用できるかを考えないといけないですね。

Share

Written by Masayuki.Ozawa

1月 4th, 2011 at 2:12 am

Posted in Windows Azure

Tagged with ,

Leave a Reply