書きかけ
AzureのIaaS を使用して、 SQL Serverを運用したい時に見るべき資料が散逸しているようなので整理してみたいと思います。
AzureのIaaS、つまり Azure Virtual Machine (Azure VM)を使用して、SQL Serverを構築し、可用性担保のためにAlwaysON可用性グループを構築、チューニングをするための資料となります。
資料としては、次の内容が把握できると、構築して、運用設計して、性能チューニングして、運用・監視して、障害対応とIaaSでのSQL Server運用に関して必要なことが網羅できていることになります。
- ライセンスのお話
- 構築し終わると完成するインフラ環境と登場するコンポーネントのお話
- 構築手順のお話
- 性能チューニングのお話
- 運用(バックアップ設計、ログ管理)のお話
- 性能監視、障害監視のお話
- AlwaysONのお話
- 障害対応(フェイルオーバー)のお話
- 障害対応(そのほか)のお話
1. ライセンスのお話
AzureでSQL Serverを運用するには、「ライセンス付きのAzureVMのイメージを使う」か「ライセンスをクラウドに持ち込む」かのどちらかになります。
- 「ライセンス付きのAzureVMのイメージを使う」
仮想マシンのイメージ費用にSQL Serverのライセンス費が付加されていて、追加費用が不要となっています。SQL Server付きのイメージでない他のイメージでは、その付加がされていないので、「ライセンスをクラウドに持ち込む」が必要になります。
SQL Server ライセンス付きのAzure VMイメージ一覧にあるイメージを使うとOKです。
ちなみに、そのイメージを使って起動した仮想マシン上であれば、SQL Serverをインストールし直してもライセンスはそのまま有効になっています。つまり、イメージでは英語版のSQL Serverがインストールされていますが、インストールし直して日本語版を利用することができます。利用方法は、ムッシュBlog(ライセンスの話 / Agentの話)を参照してください。 - 「ライセンスをクラウドに持ち込む」
すでに持っている(もしくはこれから買う)SQL ServerのライセンスをAzure上で使用するには、SA契約のライセンスモビリティ権を使用することになるのでSA契約が別途必要になります。
そのあたりの説明は、SQL Server公式ブログ「既存の SQL Server ライセンスを使用し、Azure 仮想マシン上に SQL Server をインストールするためには。」でも説明されています。
4. 性能チューニングのお話
構築が完了したら次に実施する必要があるのが性能チューニングです。
- ストレージの設定を見直す必要があります。検証中
- メモリ:最大値と最小値を固定にします
- tempdbにデータファイルを追加し10個にし、それぞれ2GBにします
- トランザクションログファイルは1個で、ログファイルサイズを必要な十分なサイズ(30GB?)にします。
- データベースファイルを10個にし、それぞれの容量を1000GBにします。(将来的な自動拡張の防止)
バックアップなどから復元した後、データファイルを追加した時は、データを平準化させるために再構築が必要です。 - 起動パラメターを設定し、起動時にメモリを確保するように設定します。Lock Page in Memory
- トランザクションログとtempdbをデータベースファイル以外に配置することを検討します。