エクスポート (0) 印刷
すべて展開
このトピックはまだ評価されていません - このトピックを評価する

Windows Azure での Windows Azure VM ロールの使用

更新日: 2011年3月

[Windows Azure の VM ロール機能は 2013 年 5 月 15 日に廃止されます。 廃止日以降、VM ロール展開環境は削除されます。 既存のアプリケーションと共に移行するには、Windows Azure 仮想マシンを使用することができます。 アプリケーションでの仮想マシンの使用方法の詳細については、「Moving from VM Role to Windows Azure Virtual Machines (VM ロールから Windows Azure 仮想マシンへの移行)」を参照してください。

Windows Azure では、2 種類の方法で仮想マシンを使用できます。VM ロールを使用する方法と仮想マシンを使用する方法です。

  • VM ロール – VM ロールは PDC10 でリリースされ、現在もベータ版として提供されています。ユーザーからも好評を得ており、その多くは Windows Azure での新しい仮想マシンの構築に使用されています。VM ロールは本質的にステートレスであり、インストールに時間がかかったりインストールでエラーが生じやすいアプリケーションのインストール、スケールアウト クラウド パターンのサポートなどのシナリオに役立ちます。VM ロールのベータ プログラムは以前の管理ポータルで引き続き利用できます。VM ロールはベータ版であり、内容や機能が変更されることがあるため、運用環境での使用はお勧めしません。今後も Windows Azure にフィードバックを反映していくため、概念の実証や運用環境以外のサービスで引き続き VM ロールをご利用ください。

  • 仮想マシン - VM ロールのベータ版の提供開始以降に収集されたユーザーのフィードバックの多くは、新しい Windows Azure の仮想マシンの計画に関するものでした。仮想マシンは本質的に永続的であり、SQL Server や SharePoint などのアプリケーションを Windows Azure で実行できます。また、Windows Server と Linux の両方のオペレーティング システムをサポートしています。仮想マシンはプレビューとしてリリースされ、Windows Azure プレビュー機能の使用条件に準拠します。このサービスは年末までに一般公開される予定ですが、具体的な日付は未定です。この新しい機能の詳細については、www.windowsazure.com の機能領域を参照してください。

VM ロールを使用すると、カスタムの Windows Server 2008 R2 イメージを Windows Azure に配置できます。VM ロールでは、標準の Windows テクノロジを使用して使い慣れた環境でイメージの作成、そのイメージへのソフトウェアのインストール、Windows Azure へのアップロードのための準備、アップロード後の管理を行うことができます。

インストールされるオペレーティング システムは、次のいずれかです。

  • Windows Server 2008 R2 Enterprise (英語のみ)

  • Windows Server 2008 R2 Standard (英語のみ)

note
Windows Web Server 2008 R2 はサポートされていません。

VM ロールにより、仮想マシンの高度な制御ができる一方で、Windows Azure 環境内で実行することによる利点ももたらされます。たとえば、即時のスケーラビリティ、サービス ダウンタイムなしのインプレース アップグレード、サービスのその他のコンポーネントとの統合、トラフィックの負荷分散などの利点があります。VM ロールはベース仮想ハード ドライブ (VHD) と必要に応じて 1 つの差分 VHD を使用して構築されるオペレーティング システムで構成されます。VM ロールを使用するには、サービス定義ファイルおよびサービス構成ファイルも必要です。

VM ロールは Web ロールともワーカー ロールとも異なります。これらのロールでは Windows Azure によって管理されるオペレーティング システムでのコードの作成と実行に重点を置きますが、VM ロールの場合は事前に構成したオペレーティング システム イメージを指定します。開発者は、オペレーティング システム イメージを完全に制御できます。管理者は、すべてのロールの仮想マシンにリモートでアクセスして、保守やトラブルシューティングなどのタスクを実行できます。

note
コンピューティング エミュレーターでの VM ロール インスタンスの実行はサポートされていません。

オペレーティング システム、およびオペレーティング システムの更新は、VM ロールのインスタンスで制御するので、Windows Azure のクラウド サービスで実行されているその他の種類のロール インスタンスとは異なります。オペレーティング システムに長く複雑な実装がある場合または自動化できないセットアップ手順がある場合は、このロールを使用してください。

Windows Azure で実行されている VM ロール インスタンスには、オペレーティング システムの内部設置型インストールにはない特定の制限があります。ネットワーク関連の一部の機能が制限されています。たとえば、UDP プロトコルを使用するには、Windows Azure Connect も使用する必要があります。さらに、Windows Azure で実行されている VM ロール インスタンスは状態を永続化しません。BLOB または Windows Azure ドライブに書き込むことで状態を永続化するには、Windows Azure ストレージ サービスを使用してください。この操作を行う方法の例については、「Windows Azure の VM ロールのアダプターの開発」を参照してください。ローカル ストレージ リソース ディレクトリに書き込まれるデータは、サーバー インスタンスのイメージの再適用時に永続化されますが、一時的なエラーにより VM ロール インスタンスを別のハードウェアに移動しなければならない場合には失われることがあります。

次の図は、VM ロールの開発プロセスに必要な手順の概要を示しています。

VMRoleOverview

Windows Azure は、イメージの配置、VM ロール インスタンスのオンライン化、ローリング アップグレードの適用、一時的なエラーが原因で必要になった VM ロール インスタンスのイメージの再適用、ロード バランサーを使用したネットワーク トラフィックの送信などにより、VM ロール インスタンスの可用性を管理します。Windows Azure で VM ロール インスタンスを最適に管理するには、インスタンスの状態を正確に評価する必要があります。Windows Azure は、状態のポーリングにより、VM ロール インスタンスの準備状況を評価します。

VM ロール インスタンスがオンラインになるとき、つまり、VM ロール インスタンスが初めて起動され、特殊化パスを使用してオペレーティング システムを構成するとき、およびその後に自動開始するように構成された Windows サービスを開始するとき、ポーリングに対して VM ロール インスタンスは状態として Busy を返します。すべての自動開始サービスが開始されると、VM ロール インスタンスは Ready を返します。この時点で、Windows Azure は VM ロール インスタンスが実際にトラフィックを受け取る準備ができたと見なしますが、これを確認するのはユーザーの責任です。その後、VM ロール インスタンスで実行されているコードによりその状態が Busy に設定されたため、またはそのシャットダウン状態が開始されたために、インスタンスがロード バランサーのローテーションから外されるまで、Windows Azure はそのインスタンスにトラフィックを送信します。

VM ロール インスタンスがオンラインであれば、イベント ハンドラーを StatusCheck イベントに追加することにより、コードは明示的にその状態を Busy に設定できます。イベントが発行されると、イベント引数オブジェクトで SetBusy メソッドを呼び出すことができます。Windows Azure が VM ロール インスタンスをポーリングし、Busy であると判明した場合、状態として再び Ready が返されるまで、そのインスタンスへのトラフィックの送信は停止されます。再起動、またはイメージの再適用のために VM ロール インスタンスがシャットダウンされると、再び Busy が返されます。VM ロール インスタンスが再びオンラインになり、スタートアップ シーケンスを再度完了するまで、ロード バランサーからトラフィックを受け取ることはありません。

サービス レベル アグリーメントを維持するためにクラウド サービスが利用できることを確認するには、次の戦略をお勧めします。

  • 常に少なくとも 2 つの VM ロール インスタンスを配置するようにクラウド サービスを構成します。エラーまたはアップグレードのために 1 つのインスタンスがオフラインになると、両方のインスタンスが再びオンラインになるまで、もう一方のインスタンスがトラフィックの処理を続行できます。

  • アダプターが自動開始サービスである場合、VM ロール インスタンスを構成するタスクは OnStart メソッドが戻り値を返す前に完了します。OnStart メソッドが完了したら、クラウド サービスは Ready 状態になり、ローテーションから明示的に外されるまで、またはシャットダウン シーケンスが開始されるまで Ready のままです。

  • クラウド サービスを自動的に再起動することは避けてください。応答ファイルにより、Windows は Windows Update が既定でオフになるように構成されます。この設定は変更しないでください。

  • VM ロール インスタンス内からの Windows のシャットダウンは避けてください。

Windows Azure で実行される VM ロールのインスタンスは、すべてコンピューティング時間で価格が設定されます。VM ロールのライセンスは、コンピューティング時間価格に含まれており、ベース VHD の作成に使用したインストール メディアのライセンス状態には関係しません。

note
Windows Azure に配置されたアプリケーショには、それらのアプリケーションに関連するライセンス条件が適用されます。

VHD は、Microsoft Windows Server 2008 オペレーティング システムを実行しているサーバー上で Hyper-V マネージャーを使用して作成します。このドキュメントではこのサーバーをソース サーバーと呼んでいます。VM ロールの開発を開始する前に、ソース サーバーで次の操作を実行する必要があります。

  • Windows Server 2008 (Windows Server 2008 R2 推奨) オペレーティング システムのエディションをインストールし、必要な更新プログラムをすべてインストールします。

  • Hyper-V サーバー ロールをインストールします。詳細については、「Windows Server 2008 のフル インストールに Hyper-V の役割をインストールする」を参照してください。

  • Windows Azure SDK およびその必須コンポーネントをインストールします。最新バージョンをインストールする前に、必ず以前のバージョンをすべてアンインストールしてください。最新バージョンをダウンロードするには、Windows Azure のダウンロード ページにアクセスしてください。

  • Windows Server 2008 R2 のインストール メディアまたは前に作成した VHD を使用できることを確認してください。インストール メディアの一般的な形式は、ISO ファイルです。

  • (省略可能) サービス モデルの作成とパッケージの配置に役立つ Visual Studio 2010 をインストールします。

差分 VHD を使用すると、Windows Azure にアップロード済みのサーバー イメージに変更を加えることができます。詳細については、「Windows Azure での VM ロールのサーバー イメージの変更」を参照してください。

参照

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました

コミュニティの追加

表示:
© 2014 Microsoft. All rights reserved.