1
更新履歴
• 以下の日付でドキュメントを更新、確認しています。
2
バージョン
1.00 2014/6/30 ・初版リリース
1.10 2014/9/30 ・2014年9月現在の情報に更新。
1.20 2015/1/31 ・2015年1月現在の情報に更新。
目次
• SQL Server の利用方法と特徴
• ギャラリーから仮想マシンを作成( SQL Server インストール済み)
• 可用性の考慮
• ディスクアクセスの最適化
• 仮想マシンのスケールアップ
• バックアップ
3
4
SQL Server を Microsoft Azure で利用
SQL ServerをAzureで利用する場合、以下の2種類の利用形態がある
IaaS ( Infrastructure as a Service )で利用
• 仮想マシン + SQL Server
PaaS ( Platform as a Service )で利用
• SQL Database
5
利用形態による特徴• 利用形態に応じた特徴は以下のようになる
6
1 : Basic / Standard / Premium エディションの場合2 : Web / Business エディションの場合3 : SQL Server 2014 で BLOB にデータベースを保存する機能を使用した場合は 16TB 以上のデータを格納することができる4 : 2015年1月現在、廃止予定
仮想マシン + SQL Server SQL Database
リソースの利用方法 占有 共有
リソースの使用状況の制御 リソースガバナーの機能を使用して任意に設定スロットリング機構による制御DTU(Database Throughput Units)に応じたパフォーマンス目標1
機能上の制限 なし SSRS / SSAS / SSIS / SQL Server Agent が使用できない
冗長構成 SQL Sererの機能を使用して個別に構成既定で3重化されている他リージョンを利用した障害復旧も可能1
バックアップ SQL Server標準のバックアップ機能を利用
データベースコピーを使用したデータベースの複製手動でBACPAC形式でデータベースをエクスポート自動エクスポート機能2を利用してBACPAC形式でデータベースをエクスポートセルフサービスの復元のために自動的に取得されたバックアップ1
リストア SQL Server標準のバックアップ機能を利用データベースコピーにより複製したデータベースをリネーム自動/手動エクスポート機能によりエクスポートしたBACPACをインポートセルフサービスの復元の機能を利用1
データベースの最大サイズ 16TB3 5GB(Web4)/150GB(Business4)/2GB(Basic)/250GB(Standard)/500GB(Premium)
OS / インスタンスの設定変更 可能 不可
基本的なスケーリング方法 スケールアップスケールアウトエディション/パフォーマンスレベルの変更によるスケールアップ1
料金体系 仮想マシン利用料 + SQL Server ライセンスデータベースの保存容量2
利用日数1
更新プログラムの適用 手動 自動
仮想マシンで SQL Server を使用するメリット
SQL Database と比較した場合、以下のようなメリットがある
SQL Server のフル機能が利用できる• データベースエンジン• レポーティング : SQL Server Reporting Services ( SSRS )• ETL : SQL Server Integration Services ( SSIS )• OLAP/データマイニング : SQL Server Analysis Services ( SSAS )• 定期的なジョブ実行 : SQL Server Agent
既存の SQL Server からの移行も容易• 既存環境で取得したデータベースのバックアップをリストアすることが可能
SQL Database へ移行する場合の対応が不要• クエリ改修(例:日付のUTC対応)が不要• スロットリング機構による切断に対してのリトライ対応が不要• その他 SQL Database の制限事項が当てはまらない1
71 :ガイドラインと制限事項 (Windows Azure SQL データベース) http://msdn.microsoft.com/ja-jp/library/ff394102.aspx
仮想マシンでサポートされているバージョン
• 2015年1月現在、仮想マシンは、以下の OS / SQL Server をサポート
8
Windows Server 2008 R2Windows Server 2012Windows Server 2012 R2
Windows Azure 仮想マシン用のマイクロソフト サーバー ソフトウェアのサポート http://support.microsoft.com/kb/2721672/ja
SQL Server 2008SQL Server 2008 R2SQL Server 2012SQL Server 2014
仮想マシンで SQL Server を使用する場合のライセンス体系
• 仮想マシンで SQL Server を使用する場合のライセンス体系はインストール方法に応じて以下の2種類がある
• ギャラリーから仮想マシン( SQL Server インストール済み)を利用1
仮想マシン(SQL Serverインストール済み)は分単位の課金で利用可能
• 仮想マシンに手動で SQL Server をインストール2
SA (ソフトウェア アシュアランス)で SQL Server を別途購入し、ライセンス モビリティ特典を使用する必要がある
91 : 仮想マシンの料金詳細 http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/#sql-server2 : 仮想マシンのライセンス FAQ http://azure.microsoft.com/ja-jp/pricing/licensing-faq/
10
ギャラリーから利用可能な SQL Server
• 2015年1月時点では、ギャラリーから以下のバージョンのSQL Serverが利用可能
• SQL Server 2008 R2 (English)• Edition : Web / Standard / Enterprise• OS : Windows Server 2008 R2
• SQL Server 2012 SP1 (English)• Edition : Web / Standard / Enterprise• OS : Windows Server 2012
• SQL Server 2012 SP2 (English)• Edition : Web / Standard / Enterprise• OS : Windows Server 2012
• SQL Server 2014 (English)• Edition : Web / Standard / Enterprise• OS : Windows Server 2012 R2
11
仮想マシン( SQL Server インストール済み)の作成方法
• ギャラリーからSQL Serverインストール済みのイメージを選択し、仮想マシンを作成することで、すぐに SQL Server を利用可能
12
ギャラリーのイメージを使用した場合の言語について
• ギャラリーでは日本語版のイメージが提供されていないため、英語版のOS / SQL Server がインストールされた状態となる
• OS は言語パックを適用することで日本語化することができる• SQL Server インストール済みのイメージをギャラリーから展開し、日本語版
の SQL Server の評価版を展開したイメージに含まれるプロダクトキーを使用してインストールすることで、日本語版の環境を時間課金で利用可能
13
ギャラリーのイメージを使用した場合のサービスの初期状態
• SQL Server のすべての機能(データベースエンジン/ SSRS / SSAS / SSIS )がインストールされている状態となる
• 不要なサービスを停止することで、ハードウェアリソースを有効に活用できる
14
ギャラリーのイメージを使用した場合のタイムゾーン
• デフォルトではタイムゾーンがUTCに設定されている1
• タイムゾーンの変更はOSレベルで設定する• 日本のタイムゾーンの場合は[(UTC+09:00) Osaka, Sapporo, Tokyo]を設定
151 : PowerShellで仮想マシンを作成した場合はタイムゾーンを指定することが可能
16
仮想マシンのSLAについての注意
• 仮想マシンのSLAでは、同じ可用性セットかつ同じ負荷分散セットにデプロイした2つ以上のインスタンスがある場合に限り、外部接続可能な状態が99.95%を下回ると返金対象となる
• 可用性セットに1台のみデプロイした構成でも動作させることは可能であるが、この構成で利用した場合はSLAは適用されない
• 複数台の仮想マシンのインスタンスで SQL Server を構築する場合、データベースミラーリングや AlwaysOn 可用性グループ等を使用して冗長化を行う
17
データベースミラーリング
• 同じ可用性セットを指定した仮想マシンを構築して、プリンシパル/ミラーサーバーを設定• 非同期モードを使用する場合には SQL Server の Enterprise Edition が必要
同期モードについては Standard Edition で使用することが可能• ミラーリングを設定したサーバー間で自動的なフェールオーバーを実施する場合には、ミラー
リング監視サーバーが必要• サーバー証明書を用いることでドメインコントローラーが不要な構成とすることも可能
18Windows Azure の仮想マシン内の SQL Server の高可用性と災害復旧 http://msdn.microsoft.com/ja-jp/library/azure/jj870962.aspxチュートリアル: Windows Azure で高可用性を実現するデータベース ミラーリング http://msdn.microsoft.com/ja-jp/library/azure/jj870961.aspx
プリンシパル ミラーミラーミラーミラーリング
監視サーバー
ミラードメイン
コントローラー
データベースミラーリング
Active Directory ドメイン
Active Directory ドメイン
AlwaysOn 可用性グループ
• 同じ可用性セットを指定した仮想マシンで Windows サーバー フェールオーバー クラスタリング( WSFC )を構築し、プライマリ レプリカ/セカンダリ レプリカを設定
• 仮想マシンが偶数台の構成の場合は、WSFC のクォーラム監視用の仮想マシンが必要
• SQL Server 2012 以降の Enterprise Editionが必要
• WSFC を構築するためにドメインコントローラーは必須
19Windows Azure の仮想マシン内の SQL Server の高可用性と災害復旧 http://msdn.microsoft.com/ja-jp/library/azure/jj870962.aspxチュートリアル: Windows Azure AlwaysOn 可用性グループ (GUI) http://msdn.microsoft.com/ja-jp/library/azure/dn249504.aspx
プライマリ レプリカ ミラーミラードメイン
コントローラーセカンダリ レプリカ
WSFC
ミラークォーラム監視用
20
データベース用のデータディスクを追加
• デフォルトではOSディスクおよび一時ディスクのみが接続されている• 一時ディスクについてはインスタンスサイズの変更やフェールオーバーにより内容が
消去されるため利用することはできない• データベースはデフォルトで接続されているディスクは使用せず、データディスクを
追加して配置することを推奨
21
OS
ディスク
データ
ディスク
データベース
データファイル(mdf/ndf)
ログファイル(ldf)ポータルから
空のデータディスクを接続追加したデータディスクに
データベースを作成
一時
ディスク
Azure の仮想マシンにおける SQL Server の概要 http://msdn.microsoft.com/library/azure/dn133151.aspx#checklist
仮想マシン
複数のディスクを使用してデータベースを構成
• 大量のディスク I/O が発生するシステムでは、複数のデータディスクを接続し、各データディスクにファイルを配置するように、データベースを作成し、ディスクのスループットを最適化
22
データベースのファイル
データディスク
インスタンスサイズと追加できるディスク本数
• ディスク1台当たり最大500IOPSが制限となるこれ以上の性能が求められる場合は複数のディスクを仮想マシンに追加
• インスタンスのサイズに応じて追加できるディスクの本数が異なるため、インスタンスのサイズはCPUコア数/メモリだけでなく接続可能なデータディスク数も考慮する
• それぞれのデータディスクの最大サイズは1TB
23
標準インスタンス
メモリ集中型インスタンス
サイズ コア数 メモリデータ
ディスク最大接続数
最大IOPS
A0 (XS) 共用 768 MB 1 1 × 500
A1 (S) 1 1.75 GB 2 2 × 500
A2 (M) 2 3.5 GB 4 4 × 500
A3 (L) 4 7 GB 8 8 × 500
A4 (XL) 8 14 GB 16 16 × 500
サイズ コア数 メモリデータ
ディスク最大接続数
最大IOPS
A5 2 14 GB 4 4 x 500
A6 4 28 GB 8 8 x 500
A7 8 56 GB 16 16 x 500
Azure の仮想マシンおよびクラウド サービスのサイズ http://msdn.microsoft.com/library/azure/dn197896.aspx
インスタンスサイズと追加できるディスク本数
24
コンピューティング集中型インスタンス
サイズ コア数 メモリデータ
ディスク最大接続数
最大IOPS
A8 8 56 GB 16 16 × 500
A9 16 112 GB 16 16 × 500
Azure の仮想マシンおよびクラウド サービスのサイズ http://msdn.microsoft.com/library/azure/dn197896.aspx
データベースのファイルを BLOB ストレージに直接配置
• SQL Server 2014 ではデータベースのファイルを直接BLOBストレージに配置することが可能
• これにより、インスタンスサイズに応じた接続可能なディスクの本数による、データベースの最大サイズの制限が緩和される
25Windows Azure 内の SQL Server データ ファイル http://technet.microsoft.com/ja-jp/library/dn385720(v=sql.120).aspx
BLOB
データファイル(mdf/ndf)
ログファイル(ldf)
仮想マシン
ファイル瞬時初期化の有効化
• データベースの作成時や、データベースの拡張時のパフォーマンスを向上させるために、ファイルの瞬時初期化を使用することができる
• 有効にする場合は、ローカルセキュリティポリシーから、SQL Server のサービス起動アカウントに「ボリュームの保守タスク」の権限を付与
26Azure の仮想マシンにおける SQL Server の概要 http://msdn.microsoft.com/library/azure/dn133151.aspx#checklist
ページ圧縮機能の利用
• SQL Server Enterprise Edition を使用している場合はページ圧縮の機能を利用することができる
• 大量のディスク I/O が発生する場合、ページ圧縮を利用することで、パフォーマンスを向上させることができる
• ページ圧縮によりディスク I/O が減少するが、CPUの使用率が上昇するためCPUとディスク I/O のトレードオフとなる
27Azure の仮想マシンにおける SQL Server の概要 http://msdn.microsoft.com/library/azure/dn133151.aspx#checklist
BLOB
仮想ディスク
ページ圧縮でデータが圧縮されることでディスクI/Oが減少
SQL Serverのページ圧縮機能
仮想マシン
ディスクキャッシュの利用
• データディスクはデフォルトではホスト キャッシュは「なし」となっている
• ディスクアクセスの遅延の影響が大きく、同時読み取り I/O が少ない場合、ホストキャッシュを「読み取り専用」にすることを検討
• 最大で4本のデータディスクの読み取りキャッシュを有効にできる
28Windows Azure の仮想マシンにおける SQL Server のパフォーマンスに関する考慮事項 http://msdn.microsoft.com/ja-JP/library/azure/dn133149.aspx
ジオレプリケーション利用時の注意点
• 単一のディスクにデータベースのデータファイルとログファイルを格納している場合はストレージのジオレプリケーションがサポートされる
• 複数のディスクにデータベースのファイルを分散した場合は、各ディスクの変更が個別に複製され、データベースの整合性が取れないため、ジオレプリケーションはサポートされない
29Windows Azure の仮想マシン内の SQL Server の高可用性と災害復旧 http://msdn.microsoft.com/library/azure/jj870962.aspx#BKMK_GEOハードウェア仮想化環境で実行されている Microsoft SQL Server 製品のサポート ポリシー http://support.microsoft.com/kb/956893
一貫性が保証される構成
仮想ディスク
データファイル(mdf/ndf)
ログファイル(ldf)
BLOB
一貫性が保証されない構成
仮想ディスク
データファイル(mdf)
仮想ディスク
データファイル(ndf)
仮想ディスク
ログファイル(ldf)
ストレージのジオレプリケーションの設定
無効 有効
BLOB
30
仮想マシンのサイズ変更によるスケールアップ
• 仮想マシン構築後に CPU / メモリ / ディスク数 の増強が必要となった場合は、仮想マシンのサイズを変更することでスケールアップ可能
• 起動中の仮想マシンに対してもスケールアップを実施可能だが、スケールアップ時には再起動が行われる
31
32
データベースのバックアップ
• データベースのバックアップはSQL Server のバージョンに応じて、以下の方法で取得可能
33
全バージョン 2012 CU1 以前 2012 CU2 以降 2014
仮想マシンに接続された仮想ディスクへバックアップを取得
○ ○ ○ ○
BLOB ストレージへバックアップを取得 - - ○ ○
ツールを使用して BLOB ストレージへバックアップを取得
- ○ ○ ○
メンテナンスプランを使用してBLOB ストレージへのバックアップを取得
- - - ○
標準的なバックアップ
• 仮想マシンに接続している仮想ディスクにバックアップを取得• 標準的なバックアップ方法のため SQL Server のバージョンに依存することな
く使用することが可能• バックアップの取得時にはバックアップ圧縮を使用することでバックアップ領
域を削減することが可能
34
BLOB
仮想ディスク
データベース
バックアップ(bak)
トランザクション
ログバックアップ(trn)
BACKUP DATABASE [AzureStudy] TO DISK = '<取得先ディスク>'WITH COMPRESSION
BACKUP LOG [AzureStudy] TO DISK = '<取得先ディスク>' WITH COMPRESSION
仮想マシン
SQL Server 2012 SP1 CU2 以降
• SQL Server 2012 SP1 CU2 以降を使用している場合は、BLOB ストレージへ直接バックアップを取得することが可能
• 2015年1月時点でギャラリーに登録されているSQL Server 2012のイメージはSP1 CU5が使用されており、BLOBストレージへのバックアップ機能を利用可能
• 標準的なバックアップと同様にバックアップ圧縮を利用することが可能
35Windows Azure BLOB ストレージ サービスを使用した SQL Server のバックアップと復元 http://technet.microsoft.com/ja-jp/library/jj919148.aspx
BACKUP DATABASE [AzureStudy] TO URL = '<取得先 BLOB URL>'WITH CREDENTIAL = 'BLOBの資格情報‘, COMPRESSION
BACKUP LOG [AzureStudy] TO URL = '<取得先 BLOB URL>'WITH CREDENTIAL = 'BLOBの資格情報‘, COMPRESSION
BLOB
コンテナー
データベース
バックアップ(bak)
トランザクション
ログバックアップ(trn)
仮想マシン
SQL Server 2012 SP1 CU1 以前
• SQL Server 2005 以降で使用可能
• Microsoft SQL Server Backup to Microsoft Windows Azure Tool を使用することで、BLOB にバックアップを取得することができる
• フォルダー/ファイル名のパターンのルールを作成し、対象フォルダーに取得したバックアップがBLOBストレージにアップロードされる
36Microsoft® SQL Server® Backup to Microsoft Windows® Azure®Tool - 日本語 http://www.microsoft.com/ja-jp/download/details.aspx?id=40740
ツールで設定したルールに基づいてBLOBに
バックアップをアップロード
仮想マシン
BLOB
コンテナー
データベース
バックアップ(bak)
トランザクション
ログバックアップ(trn)
ローカルフォルダーにバックアップを取得
ローカルフォルダー
データベース
バックアップ(bak)
トランザクション
ログバックアップ(trn)
メンテナンスプランによるBLOBへのバックアップ
• SQL Server 2014 ではメンテナンスプランを使用して BLOB へのバックアップ取得や、BLOB に取得したバックアップの保有期間管理を行うことが可能
37
メンテナンスプランを使用したBLOB へのバックアップ
管理対象バックアップを使用したバックアップ保有期間の管理
38