Windows AzureのIaaS機能でSQL Serverを使ってみよう
この度、新しい仮想マシンおよび仮想ネットワーク機能を含むWindows AzureのIaaS機能が一般公開(日本語訳はこちら)されました。Windows Azure 仮想マシンではオンプレミスの SQL Server をそのまま利用することが出来ます。(注意:制限事項・ポイントがあります。このBlogで後述します。)そこで、簡単に簡易作成画面のリストから選択可能なSQL Serverが含むイメージを使って仮想マシンを作成し、外部からWindows Azure上に構成したSQL Server に接続する方法を紹介します。
このBlogでは以下の内容を説明します。
1. SQL Serverが含まれる仮想マシンの作成方法
2. 仮想マシンにリモートデスクトップ(RDP)接続する方法
3. 仮想マシンのSQL Serverに外部のコンピュータから接続する方法
4. 仮想マシンのモニタリング・サイズ変更
5. 仮想マシン上でSQL Serverを利用する際の制限事項やポイント
前提
Windows Azureアカウントをすでにお持ちで、Windows Azure管理ポータルにアクセスできることが作業の前提となります。
なお、まだWindows Azureアカウントをお持ちでなければ、無償トライアルにサインアップして、すぐにお試し頂けます。ぜひご活用ください
それでは、順番に説明します。
1.SQL Serverが含まれる仮想マシンの作成方法
Windows Azure 管理ポータルにアクセスし、「仮想マシン」をクリックし、左下に表示される「+新規」 のマークをクリックします。
表示された以下のメニューで「簡易作成」をクリックします。
DSN名を入力します。ここではSQLTESTJPを指定して作成しています。また、「イメージ」のドロップダウンリストボックスをクリックして表示される一覧から、「SQL Server 2012 SP1 Standard On Windows Server 2008 R2 SP1」を選択します。
ここではサイズは「S(1コア、1.75 GBメモリ)」を指定しています。(SQL Server Enterprise Editionを使用する場合、仮想マシンのサイズとしてL以上が推奨されます。SQL Server BI 配置では、XL の仮想マシン サイズが推奨されます。詳細は 5.仮想マシン上でSQL Serverを利用する際の制限事項やポイント をご覧ください。)
次にユーザー名、パスワードを指定します。ここではユーザー名に 「SQLTESTJP」 を指定しています。また、作成するデータセンターの地域を指定します。ここでは「東アジア」を指定しています。
すべての項目が設定できたら、設定内容を確認し、「仮想マシンの作成」をクリックし、仮想マシンを作成します。
仮想マシンの作成が開始され、状態欄に「開始中(プロビジョニング)」と表示されます。DNS名欄には SQLTESTJP.cloudapp.net が表示されています。こちらは後ほど使用するので、必要に応じてメモをとっておきます。
プロビジョニング中に次の画面が表示されます。仮想マシンを利用するための情報がまとめられています。
プロビジョニングが終了すると、状態欄に、「実行中」と表示され、使用する準備ができたことがわかります。
2.仮想マシンにリモートデスクトップ(RDP)接続する方法
それでは実際に接続してみましょう。作成した仮想マシン「SQLTESTJP」をクリックし、左下に表示される「接続」のアイコンをクリックします。
SQLTESTJP.rdpを開くか保存するように求めるポップアップが表示されるので、「Open」または「Save」をクリックします。
Remote Desktop Connectionのダイアログが表示されます。Remote Computerの名前が先ほどのDNS名になっていることを確認し、「Connect」をクリックします。
次に認証情報を求められます。仮想マシン作成時に設定した認証情報を入力し、「OK」をクリックします。
正しく認証が行われると、次の画面が表示されるので「YES」をクリックします。
仮想マシンのリモートデスクトップの画面が開きます。
スタートメニューから「SQL Server Management Studio 」を開きます。
Server Nameに「SQLTESTJP」(ローカル)が指定されていることを確認し、Connectをクリックします。
仮想マシン上にインストールされた SQL Server 2012 SP1 に接続することができました。
3.仮想マシンのSQL Serverに別のコンピュータから接続する方法
別のコンピュータから接続するには以下の設定が必要です。(今回のようにドメイン環境が構成されていない場合 ※)
・ 仮想マシン上のTCPエンドポイントの設定 ー1433ポートを追加する
・ SQL Server の認証モードを Windows認証モードから混合モード認証に変更する
・ 仮想マシン上のWindows FirewallにてIncomingのTCPポート 1433を許可する
※ Windows Azure の SQL Server 仮想マシンを、Windows Azure 仮想ネットワークを通じて、Windows Azure またはオンプレミスで運用しているドメイン環境に追加できます。ドメイン環境がない場合、SQL Server データベース エンジンで Windows 認証を使用することはできません。別のコンピューターからデータベースエンジンに接続するには、混合モード認証用に SQL Server を構成します。詳細は以下のサイトをご覧ください。
Windows Azure 仮想マシンにおける SQL Server の接続に関する考慮事項
http://msdn.microsoft.com/ja-jp/library/dn133152.aspx
まず、仮想マシン上のTCPエンドポイントの設定ー1433ポートを追加します。
Windows Azure ポータル画面から、「仮想マシン」 - 「sqltestjp」をクリックし、表示されるメニューから「エンドポイント」をクリックします。(既定でRemoteDesktop用のエンドポイントが設定されています。)
次に画面左下に表示される「エンドポイントの追加」ボタンをクリックします。
エンドポイントの追加が選択された状態で「次へ」ボタンをクリックします。
エンドポイントの名前を指定し(ここではSQLとします)、プロトコルはTCP、ポートは1433を指定し、「次へ」をクリックします。
操作の状況が表示され、エンドポイントが追加されます。
次に、仮想マシン上においてSQL Server の認証モードを Windows認証モードから混合モード認証に変更する設定を行います。先ほどのリモートデスクトップ画面上で実行中のSQL Server Management Studio から、サーバーを右クリックし、「Properties」をクリックします。左ペインのメニューから「Security」をクリックし、「SQL Server and Windows Authentication mode」を選択し、OKをクリックします。
SQL Server の再起動が必要であることを示すダイアログ ボックスが表示されるのでそちらも「OK」をクリックします。
SQL Serverを再起動します。
次に、SQL Server認証ログインを設定します。ここではSQL Server認証ログインとしてsa ログインを使用します。インストール中に 「Windows 認証モード」が選択された場合、sa ログインは無効となっています。sa ログインを有効にするには、SQL Server Management Studioのサーバーを展開し、「Security」- 「Logins」の順に展開、「sa」を右クリックして「Properties」を表示します。「Status」ページから、「Login」- 「Enabled」を選択し、「OK」をクリックします。
上記の操作の詳細は下記のサイトの「セキュリティ認証モードを変更するには」と「saログインを有効にするには」をご覧ください。
サーバーの認証モードの変更
http://msdn.microsoft.com/ja-jp/library/ms188670.aspx
最後に仮想マシン上のWindows FirewallにてIncomingのTCPポート 1433を許可する設定を行います。Windows Firewallから「New Inbound Rule Wizard」を実行します。「Port」を選択し、「Next」をクリックします。
「TCP」を選択し、「Specific Local ports」に1433を指定します。「Next」をクリックします。
���可するコネクションの種類、 ルールの名前(ここではSQLと指定)を設定して「Finish」をクリックします。
詳細は下記をご覧ください。
[INF] ファイアウォール経由での SQL Server との通信に必要な TCP ポートhttp://support.microsoft.com/kb/287932/ja
それでは、別のマシンにあるSQL Server Management Studio から接続をしてみましょう。
まずDNS名を再度Windows Azureポータル画面のダッシュボード - 概要の欄から確認します。今回 sqltestjp.cloudapp.net が設定されています。
SQL Server Management Studio からデータベースエンジンの接続を行います。上記のDNS名をサーバー名に指定し、sa でログインとパスワードを入力し、「接続」をクリックします。
sqltestjp.cloudapp.net データベースエンジンのツリーが表示され、接続できました。
4.仮想マシンのモニタリング・サイズ変更
Windows Azure ポータル画面から、現在以下の仮想マシンの監視項目(メトリック)をモニタリングできます。
また、仮想マシンのサイズは「構成」画面から変更可能です。
5.仮想マシン上でSQL Serverを利用する際の制限事項やポイント
・仮想マシン上に SQL Server を配置した場合の制限事項
現時点では、SQL Server 2012 の新機能である AlwaysOn の Availability Group リスナー (仮想名) をサポートしていません。この機能は将来的に対応する予定です。リスナーを利用するには、1 つまたは複数の Floating IP を必要としますが、現時点の Windows Azure ではサポートされていないことが理由です。
詳細は下記をご覧ください。
Windows Azure 自習書シリーズ - 仮想マシン (IaaS) 編
・パフォーマンスに関するベスト プラクティスについて
こちらも上記自習書をご覧ください。
・IaaS上でサポートされるSQL Serverについて
64-bit バージョンのMicrosoft SQL Server 2008 以降となります。詳細は下記のサイトをご確認ください。
Microsoft server software support for Windows Azure Virtual Machines
ハードウェア仮想化環境で実行している Microsoft SQL Server 製品のサポート ポリシー
※ IaaS上でサポートされるSQL ServerはKB2721672の内容が優先されます。
・Windows Azure 仮想マシン ギャラリーで使用可能な SQL Server イメージについて
下記をご覧ください。
Windows Azure 仮想マシンギャラリーで使用可能な SQL Server イメージ
なお、テンプレートのイメージギャラリーに現在存在していないイメージについてはVHDイメージをアップロードすることでそこからVMを作成可能です。方法は、下記自習書の「2.4 仮想マシンのアップロード」をご覧ください。
Windows Azure 自習書シリーズ - 仮想マシン (IaaS) 編
・オンプレミスのデータベースのバックアップファイルを利用して仮想マシン上にデータベースを復元する方法について
下記のサイトの「Windows Azure 仮想マシンにデータベース スキーマとデータ ファイルを移動する方法」にWindows Azure 仮想マシンにファイルを移動するときに使用できる一般的な転送方法がまとめられています。この転送方法を利用してオプレミスのデータベースのバックアップファイルを仮想マシン上に転送し、復元することが可能です。
Windows Azure 仮想マシン内の SQL Server への移行
・Reporting Services, Analysis Services に関して
下記をご覧ください。
SQL Server 仮想マシン ギャラリー イメージにインストールされている BI 機能の一覧・一般的な推奨事項とベストプラクティス
※ 2013 年 4 月 28 日現在の情報です。仕様については変更される可能性があります。
--
SQL Server / Windows Azure SQL Database Support
Kayoko Gray