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
7
1 :ガイドラインと制限事項 (Windows Azure SQL データベース) http://msdn.microsoft.com/ja-jp/library/ff394102.aspx
仮想マシンでサポートされているバージョン
• 2015年1月現在、仮想マシンは、以下の OS / SQL Server をサポート
8
Windows Server 2008 R2
Windows Server 2012
Windows Server 2012 R2
Windows Azure 仮想マシン用のマイクロソフト サーバー ソフトウェアのサポート http://support.microsoft.com/kb/2721672/ja
SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014
仮想マシンで SQL Server を使用する場合のライセンス体系
• 仮想マシンで SQL Server を使用する場合のライセンス体系はインス
トール方法に応じて以下の2種類がある
• ギャラリーから仮想マシン( SQL Server インストール済み)を利用1
仮想マシン(SQL Serverインストール済み)は分単位の課金で利用可能
• 仮想マシンに手動で SQL Server をインストール2
SA (ソフトウェア アシュアランス)で SQL Server を別途購入し、
ライセンス モビリティ特典を使用する必要がある
9
1 : 仮想マシンの料金詳細 http://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/#sql-server
2 : 仮想マシンのライセンス 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 で使用することが可能
• ミラーリングを設定したサーバー間で自動的なフェールオーバーを実施する場合には、ミラー
リング監視サーバーが必要
• サーバー証明書を用いることでドメインコントローラーが不要な構成とすることも可能
18
Windows 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 を構築するためにドメインコントローラーは必須
19
Windows 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本のデータディスクの読み取りキャッシュを有効にできる
28
Windows Azure の仮想マシンにおける SQL Server のパフォーマンスに関する考慮事項 http://msdn.microsoft.com/ja-JP/library/azure/dn133149.aspx
ジオレプリケーション利用時の注意点
• 単一のディスクにデータベースのデータファイルとログファイルを格納している場合
はストレージのジオレプリケーションがサポートされる
• 複数のディスクにデータベースのファイルを分散した場合は、各ディスクの変更が個
別に複製され、データベースの整合性が取れないため、ジオレプリケーションはサ
ポートされない
29
Windows 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

S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)