【Azure for IT Pro】自動更新がホストサービスに与える影響について

*** IT Pro のための Windows Azure 運用管理ガイド 1.0 公開 ***
IT Pro (IT 担当者) のための Windows Azure Platform 運用管理ガイド 1.0

*** 6/15 Windows Azure Platform 最新情報 をお届けする 無償セミナー***
Windows Azure Platform 最新情報 2011 年 6 月版 & そろそろリアルな運用についても考えてみよう

***7/9 女子限定 クラウド勉強会***
Azure 女子部 勉強会 申込み

Windows Azure を使用したことがある方であればご存知の通り、Windows Azure には展開したホストサービスに自動的に修正プログラムを適用する機能が用意されています。

以下の画面は、Windows Azure の管理ポータルで、ホストサービスの「Configure OS」を開いたところです。OS Version が [Automaric] に設定されていることがわかります。

image

ただし、オンプレミスにおける Windows Update とは仕組みが全く異なる点に注意しなければなりません。

オンプレミスでは、修正プログラムは以下のように適用されます。当たり前ですよね。誰でも知ってます。

image

では、Windows Azure ではどのように修正プログラムが適用されるのか...。図にすると、以下のような感じです。

image

修正プログラムが適用される...というよりも、「修正プログラムが適用されたOSに置き換えられる」と言ったほうが正確でしょう。Windows Azure 管理ポータルで「Configure OS」の OS Version をプルダウンすると、以下のようにGuest OSに多くのバージョンが用意されていることがわかります。それぞれの違いは、修正パッチやインストールされているSDKのバージョンです。

 image

上の図では、アプリケーション部分がそのまま「横滑り」するようなイメージで書かれていますが、実際にはこれまでの Guest VM が破棄され、新しい「OSイメージ」と「アプリケーションイメージ」が再展開されます。

以下をご覧ください。これは、Guest VM を構成している VHD です。Guest VM を構成する VHD は全部で3つあり、OS 本体はD:ドライブに、開発したアプリケーションは E: ドライブにマウントされています。C:ドライブには構成情報や診断ログ等が格納されています。

image

これら 3つの VHD にはいずれも差分VHDが設定されており、運用中に発生した変更は差分VHDに書き込まれます。

ここで、Guest VM の OS バージョンをアップグレード(またはダウングレード)したとしましょう。古いOSイメージ(VHD)は破棄され、新しい OSイメージがファブリックコントローラーから Guest VM の領域に複製されてきます。さらに、アプリケーションが格納されている E: ドライブも同時に破棄され、キャッシュされているアプリケーションイメージが再展開されます。つまり、D: ドライブと E: ドライブに書き込まれた情報は、この時点ですべて廃棄されます。ただし、C: ドライブは差分VHDも含め、そのまま維持されます。

image

こうした動作を抑えておくことは、IT Pro にとっても開発者にとっても、非常に重要です。

アプリケーションを展開した後、リモートデスクトップで入り込んで OS の設定を変更したとしても、OS がアップグレードされると変更点はきれいさっぱり無くなります。アプリケーションの Web.config ファイルも同様です。

こうした仕様に対処するため、「スタートアップタスク」と呼ばれる仕組みが用意されています。スタートアップタスクについては、IT Pro (IT 担当者) のための Windows Azure Platform 運用管理ガイド 1.0 をご覧ください(6月10日公開予定です!)。