クラウド特捜部

Windows AzureからMicrosoft Azureへ

IaaS部分の機能拡張

 ここからは、Azureの機能拡張に関して、IaaS、PaaS、インフラの3つのポイントで解説していく。

今回は、IaaS、PaaS、クラウドインフラの3つを解説。プログラミングランゲージやツールなどは別の機会に説明する

 今回リリースされたVisual Studio 2013 Update2とAzure SDK 2.3では、Visual StudioとMicrosoft Azureの統合が行われている。Visual Studioのユーザーインターフェイスから、Microsoft Azureの仮想マシンを作成したり、管理したりできるようになった。

 これにより、Visual Studioで開発したコードをMicrosoft Azureにアップロードし、クラウドで動作している仮想マシン上にデバッグコードを置いて、オンラインでコードをデバッグすることが可能になった。IaaSレイヤにおいて開発ツールと統合された環境は、開発者の負担を大幅に減らすことになるだろう。開発したコードを実行環境においてすぐデバッグできるというのは、今までできなかったことだ。

Visual StudioからMicrosoft Azureのイメージを選択して、仮想マシンを作成することができる。もちろん、Visual Studioで開発したコードをAzureにアップロードして、リモートからコードをデバッグすることもできる

 仮想マシンのイメージバックアップに関しても大きな変更が行われた。今までMicrosoft Azureでは、OSを含んだOSイメージとストレージなどは、別々にバックアップやイメージが作成されていた。

 今回は新たにVMイメージという機能が追加された。VMイメージでは、OSイメージだけでなく、データが入ったストレージを含め、すべてをイメージとして保存することになる。OSイメージ部分はプロビジョニング(Windows OSにおけるSysprep)などを自動的に行うことも可能。また現在動作している仮想マシンとストレージを、そのままスナップショットすることができる。このため、いったんシステムをシャットダウンして、静的な状態にしてからコピーをとるという必要がなくなる。

 ローカルサーバーで動作しているHyper-Vのように、スナップショットが頻繁にとれるため、開発したシステムのテストを行うときなどで、もしトラブルが起こった時に、以前の状態に簡単に戻すことができる。さらに、PowerShellからVMイメージのキャプチャや展開が行えるようになっている。

VMイメージでは、OSイメージだけのスナップショットを取るのではなく、ストレージを含めたスナップショットを行う

 今回のMicrosoft Azureの機能拡張では、DevOpsツールのPuppetとChefが標準でサポートされた。この2つは、仮想マシンのデプロイやプロビジョニングを自動的に行ってくれるシステムだ。

 多くのシステムでは、1つの仮想マシンにデータベースやアプリケーションなどを置くのではなく、3階層モデル(Web、アプリケーションサーバー、データベース)のように、複数のサーバーを階層化してシステムが構築されている。これによりシステム自体をスケーラブルにして、クラウドなどで大規模なユーザーに対応できるようにしているわけだ。

 しかし今までのMicrosoft Azureでは、機能の異なる複数の仮想マシンを自動デプロイする機能が弱かった。例えば、フロントのWebサーバーを何台拡張すると、ミドルティアのアプリケーションサーバーを拡張する必要がなるのか、ネットワークの設定をどうしていくのかなど、システムをスケーラブルにしていくには、手動で設定しないといけないことが多かった。

 これを解決するのがPuppetだ。Puppetは、Puppetマスターにシステムをデプロイするための情報が用意されており、スケールする場合は、Puppetマスターが各仮想マシンに必要な情報を送って拡張していける。PuppetとChefは、Linuxだけでなく、Windowsもサポートされている。

Puppetを使えば、Puppetマスターに記述された形で、各サーバーの設定を自動的に行える。これにより、システムを拡張していく場合に、必要なサーバーを必要なだけ起動していける。IPアドレスやセキュリティ設定などもPuppetに記述するため、管理者の手を煩わすことはない
Puppetマスターの管理画面を見れば、システムの状態を簡単にチェックすることができる

 このほか仮想ネットワーキングにおいては、Point to SiteのVPN、Dynamic Routing、Subnet Migration、Static Internal IPなどの機能が追加された。

今回、Microsoft AzureのIaaSに追加された新機能

(山本 雅史)