仮想マシン シリーズ: Windows Azure 仮想マシンで SQL Server を実行する
このポストは、6 月 21 日に投稿された Virtual Machines Series: Running SQL Server in a Windows Azure Virtual Machine の翻訳です。
2012 年 6 月 6 日、マイクロソフトは Windows Azure の優れた新機能をいくつか発表しました。新しい Windows Azure 仮想マシンもその 1 つであり、プレビュー版として提供されています。Windows Azure 仮想マシンの大きな特長は、ストレージ アカウントの機能を利用できることにあります。つまり、既定で OS およびディスク ドライブが Windows Azure 内に自動的に永続化されるほか、地理的レプリケーションの使用を選択することができます。このことから Windows Azure 仮想マシンは、修正を加えることなくオンプレミスデータベース アプリケーションを Windows Azure に移行することができる、理想的なソリューションとなっています。またこのプレビュー版では、一部の新機能 (後述) を除く SQL Server 2012 のすべての機能を仮想マシン内で使用できます。Windows Azure 仮想マシンは SQL Server のあらゆる機能をサポートする、以下を始めとするデータベースシナリオに最適なソリューションです。
- 既存のオンプレミス SQL Server アプリケーションを移行する
- 新しいデータベース アプリケーションを迅速かつ低コストで開発、テストする
- Windows Azure ストレージにオンプレミスの SQL Server データベースまたはオンプレミスの仮想マシン全体をバックアップし、Windows Azure 仮想マシンを使ってスピーディに復元する
- オンプレミスデータベースアプリケーションを Windows Azure に拡張する– Windows Azure の仮想マシン上で稼働するアプリケーションやデータの一部の拡張や、コンプライアンスを目的したコア オンプレミス アプリケーションやデータへの再接続
プレビュー期間中、SQL Server 2012 の評価版でGalleryのイメージを使用し、Windows Azure 仮想マシンで SQL Server の実行をお試しいただくことができます。またこのプレビュー期間中は、データベース ミラーリング、ログ配布、トランザクションレプリケーション、バックアップ/復元機能がサポートされますが、SQL Server 2012 AlwaysOn 可用性グループおよびクラスタリングはサポートされません。AlwaysOn 可用性グループは、仮想マシンがプレビュー版から一般提供 (GA: General Availability) 版に移行するまでにはサポートされる予定です。これにより、Windows Azure 仮想マシンの一般提供版では、フェールオーバー クラスタリング インスタンスを除く SQL Server 2012 の全機能が使用可能になる予定です。
では次に、Windows Azure 仮想マシン内で SQL Server を実行する、4 つの主なシナリオを紹介します。
1. 既存のオンプレミス SQL Server アプリケーションを移行する
マイクロソフトの企業顧客の皆様の中にも、まだ仮想化していないアプリケーションをお持ちで、これを仮想化してしまいたいと考えている方は少なくないのではないでしょうか。既存のアプリケーションの移行は、各部署のティア 2 およびティア 3 アプリケーションから着手されることをお勧めします。アプリケーションの仮想化がお済みでない場合は、System Center 2012 を使用していただくことでアプリケーションを Windows Server Hyper-V .vhd 形式に仮想化できます。別の仮想化技術を使って既にアプリケーションを仮想化している場合でも、System Center 2012 を使って Windows Server Hyper-V .vhd 形式に変換することが可能です。いずれの場合も System Center 2012 を使えば仮想化はとても簡単です。アプリケーションを適切な形式に変更したら、データベースのみ、またはオンプレミス VHD 全体を Windows Azure 仮想マシンに移行します。
データベースのみの移行は、以下の手順で行います。
- 手順 1: 無料キットである Microsoft Assessment and Planning (MAP) Toolkit を使用して移行するデータベースを特定し、Windows Azure 管理ポータル プレビューで SQL Server イメージの 1 つを使用して、新しい仮想マシンをプロビジョニングします。
- 手順 2: SQL Server Management Studio を使用してオンプレミス データベースのデータベース配置パッケージを作成するか、あるいはデータベースのエクスポート/インポート ウィザードを使用してデータベースを Windows Azure 仮想マシンの SQL Server に移動します。
- 手順 3: Windows Azure 管理ポータル プレビューのエンドポイントのセキュリティを構成し、仮想マシンの Windows ファイアウォールの着信ポートを設定します。配置パッケージまたはデータベースのエクスポート/インポート ウィザードを使用して、データベースをインポートします。
- 手順 4: 以上で、Windows Azure 管理ポータル プレビューを使用して仮想マシンを監視し、SQL Server Management Studio を使用して SQL Server アプリケーションを監視できるようになります。
VHD 全体の移行は、以下の手順で行います。
- 手順 1: 無料ツールキットである Microsoft Assessment and Planning (MAP) Toolkit を使用して、移動するデータベースを特定します。
- 手順 2: データベース アプリケーションを Hyper-V .vhd 形式に変換します。System Center Virtual Machine Manager により、物理から仮想 (P2V: Physical to Virtual)、または仮想から仮想 (V2V: Virtual to Virtual) に変換できます。次に、csupload、vhdctrl などの一般提供されている Windows Azure ストレージ エクスプローラー ツールを使用して、VHD を Windows Azure ストレージにアップロードします。必ず事前に VHD のリモート デスクトップを有効にし、VHD を容量固定 VHD に変換し、ページ BLOB としてアップロードします。
- 手順 3: アップロードした VHD を使用して仮想マシンを作成します。Windows Azure 管理ポータル プレビューのエンドポイントのセキュリティを構成し、仮想マシンの Windows ファイアウォールの着信ポートを設定します。
- 手順 4: 以上で、Windows Azure 管理ポータル プレビューを使用して仮想マシンを監視し、SQL Server Management Studio を使用して SQL Server アプリケーションを監視できるようになります。
2. 開発とテスト
Windows Azure 仮想マシンで開発およびテストを行うには、使い慣れたオンプレミスの SQL Server Data Tools を使用してアプリケーションを開発し、データベースアプリケーションを仮想マシンにアップロードし、この仮想マシンを展開してアプリケーションのテストを行います。アプリケーションは後から修正を加えることなくオンプレミス環境に戻すことができます。
新しいアプリケーションの開発とテストは、以下の手順で行います。
- 手順 1: Windows Azure 管理ポータル プレビューで SQL Server イメージの 1 つを使用して、新しい仮想マシンをプロビジョニングします。
- 手順 2: SQL Server Data Tools を使用して、新しいアプリケーションを開発します。次に、SQL Server Management Studio を使用してオンプレミス データベース用のデータベース配置パッケージを作成するか、またはデータベースのエクスポート/インポートウィザードを使用して Windows Azure 仮想マシンの SQL Server にデータベースを移動します。
- 手順 3: Windows Azure 管理ポータル プレビューのエンドポイントのセキュリティを構成し、仮想マシンの Windows ファイアウォールの着信ポートを設定します。配置パッケージまたはデータベースのエクスポート/インポート ウィザードを使用して、データベースをインポートします。
- 手順 4: 以上で、Windows Azure 管理ポータル プレビューを使用して仮想マシンを監視し、SQL Server Management Studio を使用して SQL Server アプリケーションを監視できるようになります。
3. オンプレミスの SQL Server データベースまたはオンプレミスの仮想マシン全体をバックアップする
データベースまたは仮想マシン全体をクラウドにバックアップするには、SQL Server Management Studio を使用してバックアップ ファイルを作成し、そのバックアップファイルを Windows Azure 管理ポータル プレビューを使用して Windows Azure ストレージに転送します。手順はとても簡単です。
バックアップの実行方法は次のとおりです。
- 手順 1: バックアップするデータベースを特定します。Windows Azure 管理ポータルを使用して、新しい Windows Azure ストレージ アカウントを用意します。
- 手順 2: SQL Server Management Studio を使用してバックアップ処理を実行します。
- 手順 3: csupload や CloudXplorer などの一般提供されている Windows Azure ストレージ エクスプローラー ツールを使用して、すべてのバックアップ ファイルを Windows Azure ストレージにアップロードします。
- 手順 4: 以上が、SQL Server Management Studio を使用して定期のバックアップ メンテナンス作業を実行する方法です。
4. オンプレミスデータベースアプリケーションを Windows Azure 仮想マシンに拡張する
オンプレミス アプリケーションを、Windows Azure 仮想マシンで実行するアプリケーションに拡張するには、新しい Windows Azure 仮想ネットワーク機能を利用できます。この機能を使えば、仮想マシンが稼働する Windows Azure ネットワークをオンプレミス ネットワークに安全にドメイン参加できます。これにより、既存のオンプレミス Active Directory の ID ストアを使用した、シームレスなエンドユーザー認証が実現します。Windows Azure の優れたグローバル性と費用対効果を活用しながら、同時に現地の業界、企業のデータコンプライアンスを確保できます。
アプリケーションを拡張するには、以下の手順を実行します。
- 手順 1: Windows Azure 仮想ネットワークを使用して、オンプレミス環境と Windows Azure 間の VPN 接続を確立します。Windows Azure 管理ポータル プレビューで SQL Server イメージの 1 つを使用し、新しい仮想マシンをプロビジョニングします。
- 手順 2: SQL Server Data Tools を使用して、Windows Azure 仮想マシンの SQL Server を参照するようにアプリケーションを修正します。次に、SQL Server Management Studio を使ってオンプレミス データベースのデータベース配置パッケージを作成するか、あるいはデータベースのエクスポート/インポートウィザードを使用して、データベースを Windows Azure 仮想マシンの SQL Server に移動します。
- 手順 3: Windows Azure 管理ポータル プレビューのエンドポイントのセキュリティを構成し、仮想マシンの Windows ファイアウォールの受信ポートを設定します。配置パッケージまたはデータベースのエクスポート/インポート ウィザードを使用してデータベースをインポートします。
- 手順 4: 以上で、Windows Azure 管理ポータル プレビューを使用して仮想マシンを監視し、SQL Server Management Studio を使用して SQL Server アプリケーションを監視できるようになります。
SQL Server 2012 の評価版は Windows Azure 仮想マシンのプレビュー版でご提供しているのでぜひご利用ください。新しい Windows Azure 仮想マシンの詳細については、こちらをご覧ください。Windows Azure 仮想マシンでの SQL Server の実行については、以下のガイドも役立ちます。
SQL on VM MSDN フォーラム (英語) もご覧ください。
投稿者 - Ramnik Gulati (SQL Server、シニア プロダクト マーケティング マネージャー)