はじめに
Windows Azure Virtual Machineは、2012 spring release(2012年春のリリース)で、発表されたサービスの一つです。2012 spring releaseでは、AzureでIaaSサービスを提供するVirtual Machine、簡単にすぐにサイトを立ち上げることができるWeb Sites、Azureのネットワーク機能を大幅に拡張するvirtual networkが発表されました。
これまで、Windows AzureのIaaSサービスであるWindows Azure Virtual Machineの基本的な使用方法について見てきました。最後に、Windows Azure Virtual Machineの活用例として、SQL ServerやMongoDBを使用する方法を説明します。
対象読者
- Windows Azureに興味のある方
- Windows Serverを使用している方
- IaaSサービスを検討している方
- サーバー管理者、開発者
必要な環境
- WindowsかMac用のリモートデスクトップクライアント
- Windowsアカウント
- Windows Azureサブスクリプション
Azure VMのケーススタディ
Windows Azure Virtual Machineのケーススタディとして、SQL ServerとMongoDBについて説明します。マイクロソフトが特にWindows Azure Virtual Machine上でSQL Serverを動かすメリットについて強調していますので、メリット・使用方法・留意点について説明します。MongoDBについては、Windows Azure Virtual Machine上に簡単に構築できるMongoDB Installer for Windows Azureの使用方法について紹介します。
Windows Azure Virtual MachineでSQL Serverを使用するメリット
Windows Azure Virtual Machineの使用例として最有力なのがSQL Serverを使用することです。Windows Azure Virtual Machine上でSQL Serverを使用するメリットは次の4点です。
(1)既存アプリケーションの再利用
既存のアプリケーションを修正することなく、そのまま使用することができます。SQL Serverがインストールされた仮想マシンがギャラリーで提供されているので、すぐに使用をはじめることができ、SQL Serverのライセンス費は仮想マシンの使用時間に応じて課金されます。
Azure SQL Databasesは、SQL Serverとの高い互換性はあるものの一部のデータ型/ビューがサポートされていなかったり、コネクションの再接続処理を組み込む必要があったりと多少のコード変更が必要になります。課金は使用時間ではなく、保存データ量に応じて課金されます。
(2)SQL Serverのすべての機能を使用可能
SQL Serverで提供されている機能をすべて使用することができます。例えば高可用性やセキュリティ機能(データの暗号化や監査)、すべてのビジネスインテリジェンス機能など、Windows Azure SQL Databasesでは提供されていない機能を使用できます。
(3)柔軟性と管理
クラウド上で提供される仮想マシンなので、すぐに使い始めることができます。仮想マシンの完全な管理ができ、Active Directoryに参加できる柔軟性を持っています。
(4)管理されたインフラ基盤
マイクロソフトがインフラ基盤の管理を担当し、仮想マシンのSLA(Service Level Agreement)は99.9%となっています。ハードウェア構築やハードウェア故障対応をユーザーで実施する必要がありません。
Windows Azure Virtual MachineでSQL Serverをデプロイする方法
Windows Azure Virtual Machine上でSQL Serverをデプロイする方法として、自分自身でイメージを用意する方法とギャラリーで提供されているイメージを使用する方法の2通りあります(表1)。
ユーザーがイメージを用意する | ギャラリーのイメージを利用する | |
---|---|---|
イメージを準備する方法 |
ローカルで準備した VHDのアップロード |
マイクロソフトがギャラリーに 提供しているVHD |
イメージへのパッチ適用 |
ユーザーがパッチを 適用する必要がある |
1か月ごとにイメージのリフレッシュを マイクロソフトが実施 |
デプロイ後のパッチ適用 | ユーザーがパッチ適用する | ユーザーがパッチ適用する |
利用できるSQL Serverの種類 | SQL Server 2008以降 | SQL Server 2012 Evaluation(注1) |
ライセンス形態 |
ソフトウェアアシュアランスの ライセンスモビリティ |
仮想マシンの使用時間に応じて時間課金 |
ユーザーがSQL ServerをインストールしたVHDをアップロードして使用することができます。その場合、SQL Server 2008以降のバージョンがサポートされます。SA(Software assurance)契約についているライセンスモビリティを使用すると既存のライセンスをWindows Azure Virtual Machine上に移行することができます。
一方で、ギャラリーで提供されているSQL Serverがインストールされたイメージを使用することもできます。Preview版の現時点では、Windows Server 2008 R2 SP1上にSQL Server 2012 Evaluationエディションがインストールされたイメージが提供されています。正式リリース時には、複数エディションの提供が予定されており、ライセンス費は使用料に含まれ、使用した分だけが課金されます。
ギャラリーのイメージは、1か月ごとにパッチの適用などが実施されリフレッシュされます。ギャラリーから一度デプロイすると、以後はユーザー自身でパッチ適用をする必要があります。
Windows Azure Virtual Machine上でのSQL Serverの想定使用シナリオは、クラウド単独での利用と、クラウドとオンプレミス両方で使用するハイブリッド形式です。
クラウド単独で利用する場合には、同じアベイラビリティ・セット(注2)に複数の仮想マシンを作成し、AlwaysOn(注3)で接続することが考えられます(図1)。
アベイラビリティ・セットを使用すると、仮想マシンはデータセンター内で物理的に分かれたラック上に配置され、ホストOSのアップグレード時に、同時にすべてのVMがアップグレードでメンテナンスダウンしないよう管理されます。
SQL Server AlwaysOnは、データベースの可用性を高める機能で、SQL Server 2012から新たに提供された機能です。詳細については、『柔軟で確実な高可用性を実現するSQL Server 2012の「AlwaysOn」機能』を参照してください。
すでにオンプレミスでSQL Serverを使用している場合には、Windows Azure Virtual Machine上に複製することで可用性を高めることができます(図2)。その場合、Windows Azure Virtual Networkingを使用してオンプレミスとクラウドをVPNで接続する必要があります。VPNで接続すれば、ミラーリング、ログシッピング、トランザクションレプリケーション、AlwaysOnなどを使用して複製することができます。
Windows Azure Virtual Machine上に複製するメリットは、VHDを格納しているWindows Azure Storageがジオ・レプリケーション機能を提供しているので、簡単に大規模災害対策をとることができることです。現時点では、AlwaysOnに対応していませんが、正式リリース時にはサポートされる予定です。