38
1

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

Embed Size (px)

Citation preview

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

1

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

更新履歴

• 以下の日付でドキュメントを更新、確認しています。

2

バージョン

1.00 2014/6/30 ・初版リリース

1.10 2014/9/30 ・2014年9月現在の情報に更新。

1.20 2015/1/31 ・2015年1月現在の情報に更新。

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

目次

• SQL Server の利用方法と特徴

• ギャラリーから仮想マシンを作成( SQL Server インストール済み)

• 可用性の考慮

• ディスクアクセスの最適化

• 仮想マシンのスケールアップ

• バックアップ

3

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

4

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

SQL Server を Microsoft Azure で利用

SQL ServerをAzureで利用する場合、以下の2種類の利用形態がある

IaaS ( Infrastructure as a Service )で利用

• 仮想マシン + SQL Server

PaaS ( Platform as a Service )で利用

• SQL Database

5

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

利用形態による特徴• 利用形態に応じた特徴は以下のようになる

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

更新プログラムの適用 手動 自動

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

仮想マシンで 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

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

仮想マシンでサポートされているバージョン

• 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

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

仮想マシンで 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/

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

10

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

ギャラリーから利用可能な 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

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

仮想マシン( SQL Server インストール済み)の作成方法

• ギャラリーからSQL Serverインストール済みのイメージを選択し、仮想マシンを作成することで、すぐに SQL Server を利用可能

12

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

ギャラリーのイメージを使用した場合の言語について

• ギャラリーでは日本語版のイメージが提供されていないため、英語版のOS / SQL Server がインストールされた状態となる

• OS は言語パックを適用することで日本語化することができる• SQL Server インストール済みのイメージをギャラリーから展開し、日本語版

の SQL Server の評価版を展開したイメージに含まれるプロダクトキーを使用してインストールすることで、日本語版の環境を時間課金で利用可能

13

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

ギャラリーのイメージを使用した場合のサービスの初期状態

• SQL Server のすべての機能(データベースエンジン/ SSRS / SSAS / SSIS )がインストールされている状態となる

• 不要なサービスを停止することで、ハードウェアリソースを有効に活用できる

14

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

ギャラリーのイメージを使用した場合のタイムゾーン

• デフォルトではタイムゾーンがUTCに設定されている1

• タイムゾーンの変更はOSレベルで設定する• 日本のタイムゾーンの場合は[(UTC+09:00) Osaka, Sapporo, Tokyo]を設定

151 : PowerShellで仮想マシンを作成した場合はタイムゾーンを指定することが可能

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

16

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

仮想マシンのSLAについての注意

• 仮想マシンのSLAでは、同じ可用性セットかつ同じ負荷分散セットにデプロイした2つ以上のインスタンスがある場合に限り、外部接続可能な状態が99.95%を下回ると返金対象となる

• 可用性セットに1台のみデプロイした構成でも動作させることは可能であるが、この構成で利用した場合はSLAは適用されない

• 複数台の仮想マシンのインスタンスで SQL Server を構築する場合、データベースミラーリングや AlwaysOn 可用性グループ等を使用して冗長化を行う

17

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

データベースミラーリング

• 同じ可用性セットを指定した仮想マシンを構築して、プリンシパル/ミラーサーバーを設定• 非同期モードを使用する場合には 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 ドメイン

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

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

ミラークォーラム監視用

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

20

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

データベース用のデータディスクを追加

• デフォルトではOSディスクおよび一時ディスクのみが接続されている• 一時ディスクについてはインスタンスサイズの変更やフェールオーバーにより内容が

消去されるため利用することはできない• データベースはデフォルトで接続されているディスクは使用せず、データディスクを

追加して配置することを推奨

21

OS

ディスク

データ

ディスク

データベース

データファイル(mdf/ndf)

ログファイル(ldf)ポータルから

空のデータディスクを接続追加したデータディスクに

データベースを作成

一時

ディスク

Azure の仮想マシンにおける SQL Server の概要 http://msdn.microsoft.com/library/azure/dn133151.aspx#checklist

仮想マシン

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

複数のディスクを使用してデータベースを構成

• 大量のディスク I/O が発生するシステムでは、複数のデータディスクを接続し、各データディスクにファイルを配置するように、データベースを作成し、ディスクのスループットを最適化

22

データベースのファイル

データディスク

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

インスタンスサイズと追加できるディスク本数

• ディスク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

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

インスタンスサイズと追加できるディスク本数

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

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

データベースのファイルを 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)

仮想マシン

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

ファイル瞬時初期化の有効化

• データベースの作成時や、データベースの拡張時のパフォーマンスを向上させるために、ファイルの瞬時初期化を使用することができる

• 有効にする場合は、ローカルセキュリティポリシーから、SQL Server のサービス起動アカウントに「ボリュームの保守タスク」の権限を付与

26Azure の仮想マシンにおける SQL Server の概要 http://msdn.microsoft.com/library/azure/dn133151.aspx#checklist

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

ページ圧縮機能の利用

• 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のページ圧縮機能

仮想マシン

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

ディスクキャッシュの利用

• データディスクはデフォルトではホスト キャッシュは「なし」となっている

• ディスクアクセスの遅延の影響が大きく、同時読み取り I/O が少ない場合、ホストキャッシュを「読み取り専用」にすることを検討

• 最大で4本のデータディスクの読み取りキャッシュを有効にできる

28Windows Azure の仮想マシンにおける SQL Server のパフォーマンスに関する考慮事項 http://msdn.microsoft.com/ja-JP/library/azure/dn133149.aspx

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

ジオレプリケーション利用時の注意点

• 単一のディスクにデータベースのデータファイルとログファイルを格納している場合はストレージのジオレプリケーションがサポートされる

• 複数のディスクにデータベースのファイルを分散した場合は、各ディスクの変更が個別に複製され、データベースの整合性が取れないため、ジオレプリケーションはサポートされない

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

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

30

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

仮想マシンのサイズ変更によるスケールアップ

• 仮想マシン構築後に CPU / メモリ / ディスク数 の増強が必要となった場合は、仮想マシンのサイズを変更することでスケールアップ可能

• 起動中の仮想マシンに対してもスケールアップを実施可能だが、スケールアップ時には再起動が行われる

31

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

32

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

データベースのバックアップ

• データベースのバックアップはSQL Server のバージョンに応じて、以下の方法で取得可能

33

全バージョン 2012 CU1 以前 2012 CU2 以降 2014

仮想マシンに接続された仮想ディスクへバックアップを取得

○ ○ ○ ○

BLOB ストレージへバックアップを取得 - - ○ ○

ツールを使用して BLOB ストレージへバックアップを取得

- ○ ○ ○

メンテナンスプランを使用してBLOB ストレージへのバックアップを取得

- - - ○

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

標準的なバックアップ

• 仮想マシンに接続している仮想ディスクにバックアップを取得• 標準的なバックアップ方法のため SQL Server のバージョンに依存することな

く使用することが可能• バックアップの取得時にはバックアップ圧縮を使用することでバックアップ領

域を削減することが可能

34

BLOB

仮想ディスク

データベース

バックアップ(bak)

トランザクション

ログバックアップ(trn)

BACKUP DATABASE [AzureStudy] TO DISK = '<取得先ディスク>'WITH COMPRESSION

BACKUP LOG [AzureStudy] TO DISK = '<取得先ディスク>' WITH COMPRESSION

仮想マシン

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

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)

仮想マシン

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

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)

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

メンテナンスプランによるBLOBへのバックアップ

• SQL Server 2014 ではメンテナンスプランを使用して BLOB へのバックアップ取得や、BLOB に取得したバックアップの保有期間管理を行うことが可能

37

メンテナンスプランを使用したBLOB へのバックアップ

管理対象バックアップを使用したバックアップ保有期間の管理

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

38