Amazon Web Services ブログ
NetApp SnapCenter と Amazon FSx for NetApp ONTAP を使用した SQL Server ワークロードの保護
このブログは Jesse Bieber(ソリューションアーキテクト)、Phil Ekins(シニアソリューションアーキテクト)、Niyaz Mohamed(プリンシパルテクニカルマーケティングエンジニア)によって執筆された内容を日本語化したものです。原文はこちらを参照してください。
2023 年 2 月 23 日更新: Amazon FSx for NetApp ONTAP(FSx for ONTAP)で NetApp SnapCenter(SnapCenter)ソフトウェアを使用する場合、追加のライセンスは必要ありません。NetApp アカウントのサインアップ方法については、更新された FSx for ONTAP ユーザーガイドを参照してください。
Microsoft SQL Server(SQL Server)の導入では、開発、テスト、ディザスタリカバリの要件に対応するため、アプリケーション整合性のあるバックアップと、データベースの迅速なリストアまたはクローン作成の機能が必要になります。FSx for ONTAP は、NetApp の人気の高い ONTAP ファイルシステムの機能と SnapCenter を組み合わせて、スナップショットを使ったデータの保護、クローン、レプリケーションを実現するフルマネージドサービスです。
FSx for ONTAP のスナップショットは常にクラッシュ整合性を保持しますが、アプリケーション整合性のあるスナップショットを作成するには、データベースを停止(または I/O を一時停止)する必要があります。FSx for ONTAP で SnapCenter(SQL Server など特定のアプリケーション用のプラグインを備えたオーケストレーションツール)を使用すると、追加コストなしでアプリケーション整合性のあるスナップショットを作成して、データベースを保護、レプリケート、クローンすることができます。
この記事では、SQL Server データベースを使用した SnapCenter のベストプラクティスを紹介し、SQL Server データベースを保護し、迅速にリストアまたはクローンを作成する方法を説明します。SQL Server Failover Cluster Instance(FCI)と FSx for ONTAP 論理ユニット番号(LUN)の構成に対して、SnapCenter の機能を示します。FSx for ONTAP の論理ユニット番号(LUN)は、iSCSI プロトコル経由で Amazon Elastic Compute Cloud(EC2)ホストに提供されます。
SnapCenter の概要
SnapCenter は、アプリケーション整合性のあるデータ保護を実現する統合プラットフォームです。SnapCenter では、スナップショットをバックアップと表現しているため、この記事の続きでも同様に表現します。SnapCenter では、アプリケーション整合性のあるバックアップ、リストア、クローンを 1 つの画面で一元管理できます。特定のデータベースアプリケーション用の SnapCenter プラグインを追加して、アプリケーション整合性のあるバックアップを作成できます。SQL Server 用の SnapCenter プラグインには、データ保護ワークフローを簡略化する次の機能があります。
- フルバックアップとログバックアップにおけるきめ細かなバックアップ・リストアオプション
- データベースの自動検出
- インプレース・リストアと代替ロケーションへのリストア
- SnapCenter 内の任意の SQL Server ホストへバックアップをクローニング
- 本番データによるクローンの定期更新
- SnapMirror を介したバックアップのレプリケーションによるディザスタリカバリ
- ウィザード形式で SQL Server データベースを FSx for ONTAP の LUN に移行
SnapCenter を導入する前に、以下のベストプラクティスの適用を検討する必要があります。
- 各ボリュームのスナップショットポリシーで自動的に作成されるスナップショットは、アプリケーション整合性がありません。そのため、ボリュームのスナップショットポリシーを “none” に設定して、自動スナップショットを無効にします。
- データベースのワークロードは、そのパフォーマンス要件に応じて、異なるいくつかのボリュームまたはファイルシステムに分離します。
- SnapCenter がトランザクションログのバックアップをコピーする専用ボリュームに、ホストごと、または FCI レベルのホストログバックアップディレクトリを構成します。
- データベースのリカバリモデルをフルリカバリに変更するなど、データベース設定に変更を加えた場合は、バックアップを実行します。
- データベースのクローンを作成する場合、クローンメタデータ用に少なくとも 0.5 % のボリュームスペースを確保します。
その他のベストプラクティスと注意事項については、Best practices for Microsoft SQL Server using NetApp SnapCenter を参照してください。
ソリューションの概要
この投稿では、主に 2 つの分野を取り扱います。
- SnapCenter の導入と設定
- SnapCenter を使用した SQL Server データベースのバックアップ、リストア、クローニング
LUN は、FSx for ONTAP のボリューム内に配置されます。ベストプラクティスに基づいてファイルシステム上に LUN を構成した後、SQL Server を実行している Amazon EC2 インスタンスに公開します。次に、SQL Server のバックアップのために、SnapCenter をインストールして設定します。
前提条件
以下の前提条件を満たす必要があります。
- Amazon FSx for NetApp ONTAP を使用した SQL Server 高可用性デプロイメントブログに記載されているように、FSx for ONTAP と Amazon EC2 を使用して SQL Server FCI をデプロイして設定します。注:FSx for ONTAP ボリューム上で実行される SQL Server ワークロードの場合、Storage Efficiency を Disabled に設定し、自動スナップショットを None に設定します。
- SnapCenter サーバーのインストールワークフローを確認します。Amazon EC2 Windows 2019 インスタンス(50 GB gp3 搭載の c5.xlarge)を作成します。作成したインスタンスを使用して SnapCenter を実行します。Amazon EC2 のデプロイ手順については、新しいインスタンス起動ウィザードを使用してインスタンスを起動するを参照してください。
SnapCenter の導入と設定
SnapCenter をダウンロードしてインストールする手順は、SnapCenter サーバーのインストールに記載されています。
SnapCenter ソフトウェアをダウンロードするには、NetApp アカウントにサインアップする必要があります。この手順は FSx for ONTAP ユーザーガイドのリソースの管理に記載されています。
SnapCenter の起動
- SnapCenter ソフトウェアを起動し、ローカル管理者権限を保有するドメインユーザーでログインします。
- SnapCenter のナビゲーションペインから Settings を選択します。
- Credential タブから New を選択します。
- 以下の情報を入力します。
a. Credential Name に、AdminCredential
と入力します。
b. Username に、<Your Domain>\admin
と入力します。
c. Password に、アカウントのパスワードを入力します。
5. OK を選択します。
SnapCenter へのストレージシステムの追加
- Amazon FSx コンソールで、EC2 インスタンスにマウントされた LUN をホストするストレージ仮想マシン(SVM)の情報を表示して、管理 IP アドレスの値を確認します。
図 1 – FSx for ONTAP ストレージ仮想マシンの情報表示
- SnapCenter のナビゲーションペインから Storage Systems を選択します。
- New を選択します。
- 次の情報を入力します。
a. Storage System に事前に確認した管理 IP アドレスを入力します。
b. Username に vsadmin
と入力します。これは SVM 固有のユーザーです。SVM ユーザーは vsadmin
ユーザーである必要はありません。通常、ユーザーは SVM 上で設定され、バックアップおよびリストア操作を実行するために必要な権限が割り当てられます。
c. Password にユーザーのパスワードを入力します。
5. Submit を選択します。
図 2 – FSx for ONTAP ストレージシステムの追加
SnapCenter へのホストの追加
- Microsoft フェールオーバークラスターマネージャーから、Amazon EC2 上で構成されるフェールオーバークラスターの Host Name を確認します。この例では、
TEST-WSFC.octank.corp
です。 - SnapCenter のナビゲーションペインから Hosts を選択します。
- Managed Hosts タブで、Add を選択します。
- 次の情報を入力します。
a. Host Name に完全修飾のマシン名(name.domain
)を入力します。
b. Credentials に SnapCenter Custom Plug-ins のクレデンシャルの設定 の説明に従って、実行に使用する認証情報 AdminCredential
を選択します。
c. Select Plug-ins to Install では、Microsoft Windows と Microsoft SQL Server を選択します。
SQL Server ホストを追加すると、SnapCenter は必要なプラグインをデータベースホストにデプロイし、自動検出処理を実行します。
- Submit を選択します。
図 3 – Windows ホストの追加
ログディレクトリの設定
- ホストステータスに Configure log directory と表示されたら、Configure log directory を選択します。
図 4 – ログディレクトリの設定
ここでは、データベーストランザクションログのバックアップファイルを保存するディスクの場所を指定します。ログバックアップディレクトリは、専用のボリュームに配置する必要があります。
- Configure FCI instance log directory で Browse を選択してストレージの表示を更新します。
- 配置先のパスを選択し、Apply をクリックして Save を選択します。
ホストの Overall Status が Running になります。
図 5 – ホストステータスの確認
SnapCenter でのバックアップの設定
SnapCenter でデータベースとログのバックアップを設定するには、次の手順を実行します。
バックアップポリシーの設定
- SnapCenter で、ナビゲーションペインから Resources を選択します。
- ドロップダウンメニューで Microsoft SQL Server が選択されていることを確認し、バックアップするデータベースを選択します。この例では、
db1
データベースを使用します。 - Next を選択します。
図 6 – バックアップするデータベースの選択
- プラス記号をクリックし、新しいバックアップポリシーを作成します。
図 7 – 新規バックアップポリシーの作成
- Policy name に
SQL Full Backups
と入力し、Next を選択します。 - Choose backup type では、Full backup を選択します。
- Schedule frequency では、Daily を選択し、Next を選択します。
図 8 – バックアップタイプの設定
バックアップポリシーの最終確認
- Retention については、デフォルトのまま Next を選択します。リテンションの設定は、全体的な SLA 要件や特定の要件に合わせて変更できます。
- Replication については、デフォルトのまま Next を選択します。別の FSx for ONTAP ファイルシステムとの既存の SnapMirror 関係を通じてバックアップをレプリケートするには、SnapCenter でセカンダリバックアップの場所として追加されたファイルシステムを選択します。
- Script については、オプションのスクリプトを指定しないため、デフォルトのまま Next を選択します。
- Verification については、デフォルトのまま Next を選択します。
- Summary セクションを確認し、Finish を選択します。
図 9 – バックアップポリシー設定の最終確認
バックアップポリシーへのスケジュールの追加
- ポリシーが作成されたら、プラス記号をクリックして、スケジュールを追加します。
図 10 – バックアップスケジュールの追加
- Start date を希望時刻に合わせて編集し、Repeat every を 1 日に設定します。
- OK を選択します。
図 11 – バックアップスケジュールの設定
- プラス記号をもう一度クリックして、ログバックアップのためのポリシーを追加します。
- 次の設定で前のステップを繰り返します。
- Policy name –
SQL Log Backups
- Backup type – Log backup
- Schedule frequency – Hourly
- Repeat every – 15 minutes
- Policy name –
- これで、すべてのバックアップポリシーが作成され、スケジュールが設定されたので、Next を選択します。
バックアップ設定の完了
- Verification では、必要に応じて検証サーバーで
CheckDB
検証プロセスを実行します。ただし、このチュートリアルでは設定しないため、デフォルト設定のまま Next を選択します。
図 12 – 検証オプションの選択
- Notification では、バックアップジョブの失敗などの保護に関する問題に対して、電子メールアラートを送信するように設定できます。すべての環境でこれを構成することをお勧めしますが、この例では、デフォルトのまま Next を選択します。
- Summary セクションを確認し、Finish を選択します。
図 13 – バックアップ設定の完了
バックアップのテスト
- SnapCenter でバックアップをテストするには、ナビゲーションペインで Resources を選択します。
- バックアップするデータベースを選択します。この例では、
db1
を選択し、Back up Now (オンデマンド・オプション)を選択します。
図 14 – 新しいバックアップの開始
- Policy は
SQL Full Backups
を選択します。 - Backup を選択します。
- 確認メッセージが表示されるので、Yes を選択します。
SQL Log Backups
ポリシーに対しても、上記の手順を繰り返します。
アクティビティビューには、バックアップジョブが正常に完了したことが表示されます。この情報は Dashboard、Monitor、Reports セクションにも表示されます。
図 15 – バックアップが完了したことの確認
これで、他のユーザーデータベース(フルバックアップとログバックアップ)およびシステムデータベース(フルバックアップのみ)にもこれらのポリシーを追加できます。
SnapCenter を使用したデータベースのリストア
AWS 上で SQL Server とともに FSx for ONTAP を使用する主な利点の 1 つは、データベースレベルで高速かつ詳細なリストアを実行できることです。データベースをリストアするには、次の手順を実行します。
- SnapCenter のナビゲーションペインから Resources を選択し、
db1
データベースを選択します。 - リストアするバックアップを選択し、Restore を選択します。
図 16 – 新しいリストアの開始
- このデモでは、シンプルなインプレース・リストアを行うため、Restore scope はデフォルト設定のままにして Next を選択します。
図 17 – Restore scope の設定
- Recovery Type はここではログはリストアしないので、None を選択し、Next を選択します。
- Pre Ops では、Overwrite the database with the same name during restore を選択し、Create transaction log backup before restore の選択を解除し、Next を選択します。
- Post Ops では、デフォルトのまま Next を選択します。
図 18 – Post restore options の設定
- Notification については、通知を送信しないので、デフォルトのまま Next を選択します。
- Summary セクションを確認し、Finish を選択します。
図 19 – リストア設定の完了
リストアが完了すると、アクティビティビューにその完了が表示されます。
図 20 – リストアが完了したことの確認
SnapCenter を使用したデータベースのクローン作成
開発環境またはテスト環境の別の場所にデータベースをリストアしたり、ビジネス分析用にコピーを作成したりするには、クローニング手法を使用して、同じインスタンスまたは別のインスタンスにデータベースのコピーを作成することがベストプラクティスになります。FSx for ONTAP の iSCSI ディスク上に配置された 1 TB のデータベースのクローニングは、通常約 5 分もしくはそれ以下の時間で完了します。この後、データベースに対して必要なすべての読み取り/書き込み操作を実行できます。
データベースをクローンするには、2 つの方法があります。1 つは最新のバックアップからクローンを作成する方法で、もう 1 つはクローンのライフサイクル管理を使用して最新のコピーをセカンダリインスタンスで使用できるようにする方法です。
SnapCenter では、必要なディスクにクローンコピーをマウントして、セカンダリインスタンスのフォルダー構造の形式を維持し、バックアップジョブのスケジューリングを継続できます。
- SnapCenter のナビゲーションペインで Resources を選択し、
db1
データベースを選択します。 - クローンを作成するバックアップを選択し、Clone を選択します。
図 21 – 新しいクローンの開始
- Clone settings 配下の Clone Options では、クローン先のアクティブな Amazon EC2 SQL Server インスタンスに基づいて、Clone server と Clone instance を選択します。
- Clone name には、SQL Server インスタンス内でユニークなデータベース名を入力します。
- Choose mount option には、Auto assign volume mount point under path を選択し、FSx for ONTAP の iSCSI ディスク上の空のディレクトリを指定します。この例では、
D:\clone\db1-clone
を使用します。このディレクトリは、クローンの作成時に新しいボリュームをマウントするためのルートロケーションとして使用されます。 - Next を選択します。
図 22 – Clone Options の設定
- Logs では、ここではログはリストアしないので、Choose logs で None を選択し、Next を選択します。
- Script では、オプションのスクリプトは必要ないので、デフォルトのまま Next を選択します。
- Notification では、通知を送信しないので、デフォルトのまま Next を選択します。
- Summary セクションを確認し、Finish を選択します。
図 23 – クローン設定の完了
クローンリクエストが完了すると、アクティビティステータスメッセージが表示されます。
図 24 – クローン完了の確認
次のスクリーンショットでは、db1-clone
データベースが先ほど指定した D:\clone\db1-clone\
のパスにリストアされたことが確認できます。
図 25 – データベースのクローンが適切なパスにリストアされたことを確認
Amazon EC2 に構成した SQL Server インスタンス間でクローンを作成するには、SnapCenter に追加のホストと関連する SVM を追加する必要があります。手順は先ほどと同様ですが、クローンサーバーを選択するときに、複数のサーバーから選択できます。
図 26 – オプションのクローンサーバーの選択
クリーンアップ
この記事のリソースを使い終わった後、不要な料金が発生しないように AWS リソースをクリーンアップしてください。具体的には、以下を削除します。
- SQL Server FCI インスタンスと SnapCenter のインストールに使用した EC2 インスタンス – 手順については、Amazon EC2 リソースを削除または終了する方法を教えてくださいを参照してください。
- FSx for ONTAP ファイルシステム – 手順については、FSx for ONTAP ボリュームの管理およびリソースをクリーンアップするを参照してください。
まとめ
この記事では、SnapCenter を使用して、FSx for ONTAP を使用する SQL Server の EC2 インスタンスでバックアップ、リストア、クローン機能を管理する方法をご紹介しました。このソリューションにより、データベースワークロードのデータ保護とスケーラビリティを向上できます。FSx for ONTAP ファイルシステムと SnapCenter の機能を使用すると、データベースワークロードのバックアップとリストアプロセスを手動でスクリプト化したり、CLI コマンドでスナップショットのクローンを作成する等の作業から解放されます。
翻訳はネットアップ合同会社の Yanxia He 様ならびにソリューションアーキテクトの宮城が担当しました。
著者紹介