翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SQL サーバーバックアップ戦略の最適化
概要
ほとんどの組織は、復旧ポイント目標 (RPO)、最後のバックアップからの最大許容時間、復旧時間目標 (RTO)、サービスの中断とサービスの復旧の間の最大許容遅延の現在の要件を満たすために、Amazon EC2 上の SQL Server 上のデータを保護する適切なソリューションを探しています。EC2 インスタンスで SQL Server を実行している場合は、データのバックアップを作成し、データを復元するための複数のオプションがあります。Amazon 上の SQL Server のデータを保護するためのバックアップ戦略EC2は次のとおりです。
-
Windows Volume Shadow Copy Service
(VSS) 対応の Amazon Elastic Block Store (Amazon EBS) スナップショットまたは を使用したサーバーレベルのバックアップ AWS Backup -
SQL Server でのネイティブバックアップと復元を使用したデータベースレベルのバックアップ
データベースレベルのネイティブバックアップ には、次のストレージオプションがあります。
-
Amazon EBSボリュームを使用したローカルバックアップ
-
Amazon FSx for Windows File Server または Amazon FSx for を使用したネットワークファイルシステムのバックアップ NetApp ONTAP
-
を使用した Amazon Simple Storage Service (Amazon S3) へのネットワークバックアップ AWS Storage Gateway
-
Amazon S3 for SQL Server 2022 への直接バックアップ
このセクションでは、以下を行います。
-
ストレージスペースを節約するのに役立つ機能を強調表示
-
さまざまなバックエンドストレージオプション間のコストを比較します
-
これらの推奨事項の実装に役立つ詳細なドキュメントへのリンクを提供します
VSSが有効なスナップショットを使用したサーバーレベルのバックアップ
VSS対応スナップショットアーキテクチャでは、 AWS Systems Manager Run Command を使用してSQL、サーバーインスタンスに VSS エージェントをインストールします。Run Command を使用して、オペレーティングシステムとアプリケーションバッファをディスクにフラッシュし、I/O オペレーションを一時停止し、EBSボリュームのスナップショットを作成し point-in-time、I/O を再開するワークフロー全体を呼び出すこともできます。
この Run Command は、ターゲットインスタンスにアタッチされたすべてのEBSボリュームの自動スナップショットを作成します。ユーザーデータベースファイルは、通常は他のボリュームに保存されるため、ルートボリュームを除外する選択もできます。複数のEBSボリュームをストライプしてSQLサーバーファイル用の単一のファイルシステムを作成する場合、Amazon は 1 つのAPIコマンドを使用してクラッシュ整合性のあるマルチボリュームスナップショットEBSもサポートします。アプリケーション整合性VSSのある 対応EBSスナップショットの詳細については、Amazon ドキュメントの「アプリケーション整合性のあるスナップショットを作成する
次の図は、 VSSが有効なスナップショットを使用したサーバーレベルのバックアップのアーキテクチャを示しています。
VSSが有効なスナップショットを使用する利点を以下から考慮してください。
-
DB インスタンスの初期のスナップショットには、フル DB インスタンスのデータが含まれています。同じ DB インスタンスの後続のスナップショットは増分です。つまり、直近のスナップショット以降に変更されたデータのみが保存されます。
-
EBS スナップショットはリカバリを提供します point-in-time。
-
インスタンスが Amazon を使用して暗号化されている場合、EBSまたはデータベースが を使用してインスタンスで暗号化されている場合TDE、そのインスタンスまたはデータベースは同じ暗号化で自動的に復元されます。
-
使用している自動化されたクロスリージョンバックアップをコピーできます。
-
スナップショットからEBSボリュームを復元すると、アプリケーションがそのボリュームにアクセスできるようになります。つまり、1 つ以上の基盤となるEBSボリュームをスナップショットから復元した後、すぐに SQL Server をオンラインにすることができます。
-
復元したボリュームは、デフォルトでは、アプリケーションが初めてブロックを読み込む際に、Amazon S3 から基盤のブロックを取得します。つまり、スナップショットからEBSボリュームを復元した後、パフォーマンスに遅延が生じる可能性があります。ボリュームは、最終的には通常のパフォーマンスに追いつきます。ただし、高速スナップショット復元 (FSR) スナップショットを使用することで、この遅延を回避できます。
-
EBS スナップショット のライフサイクル管理
を使用できます。
VSSが有効なスナップショットを使用する際には、以下の制限を考慮してください。
-
SQL サーバーインスタンスの暗号化されたスナップショットでは、クロスリージョン point-in-timeリカバリを実行できません。
-
暗号化されていないインスタンスの暗号化されたスナップショットを作成することはできません。
-
スナップショットはEBSボリュームレベルで取得されるため、個々のデータベースを復元することはできません。
-
インスタンス自体を復元することはできません。
-
DB インスタンスのスナップショットは、DB インスタンスと同じ AWS Key Management Service (AWS KMS) キーを使用して暗号化する必要があります。
-
Storage I/O は、スナップショットのバックアッププロセス中に一瞬 (約 10 ミリ秒) 中断します。
SQL を使用したサーバーバックアップ AWS Backup
AWS Backup
次の図は、 EC2を使用して 上の SQL Server のバックアップおよび復元ソリューションのアーキテクチャを示しています AWS Backup。
を使用して SQL Server をバックアップする利点を以下から検討してください AWS Backup。
-
バックアップのスケジュール設定、保持の管理、ライフサイクル管理を自動化できます。
-
バックアップ戦略は、複数の アカウントと にまたがって、組織全体で一元化できます AWS リージョン。
-
バックアップアクティビティのモニタリングとアラートを 全体で一元化できます AWS のサービス。
-
ディザスタリカバリ計画のリージョンを横断したバックアップを実装できます。
-
このソリューションは、クロスアカウントバックアップをサポートしています。
-
二次的なバックアップ暗号化を使用した、安全なバックアップを実行できます。
-
すべてのバックアップは、暗号化キーを使用した AWS KMS 暗号化をサポートしています。
-
ソリューションは で動作しますTDE。
-
AWS Backup コンソールから復旧ポイントに復元することができます。
-
Server SQLインスタンス全体をバックアップできます。これには、すべての SQL Server データベースが含まれます。
データベースレベルのバックアップ
これらのアプローチでは、ネイティブの Microsoft SQL Server バックアップ機能を使用します。Server SQLインスタンス上の個々のデータベースのバックアップを取得し、個々のデータベースを復元できます。
ネイティブSQLサーバーバックアップと復元の各オプションは、以下もサポートしています。
-
圧縮と複数ファイルのバックアップ
-
フルバックアップ、差分バックアップ、T ログバックアップ
-
TDE暗号化されたデータベース
SQL サーバーネイティブバックアップと Amazon S3 への復元
SQL Amazon 上のサーバーは、SQLサーバーデータベースのネイティブバックアップと復元EC2をサポートしています。Server SQL データベースのバックアップを取り、バックアップファイルを既存のデータベース、または新しい SQL Server EC2インスタンス、Amazon RDS for SQL Server、またはオンプレミスサーバーに復元できます。
Storage Gateway は、オンプレミスアプリケーションがクラウドストレージに実質的に無制限でアクセスできる、ハイブリッドクラウドのストレージサービスです。Storage Gateway を使用して Microsoft SQL Server データベースを Amazon S3 に直接バックアップできるため、オンプレミスのストレージフットプリントが削減され、Amazon S3 を使用して耐久性、スケーラビリティ、コスト効率に優れたストレージを実現できます。
次の図は、Storage Gateway と Amazon S3 を使用するネイティブバックアップおよび復元ソリューションのアーキテクチャを示しています。
Storage Gateway でネイティブSQLサーバーバックアップを使用する利点を次に示します。
-
ストレージゲートウェイをEC2インスタンス上のサーバーメッセージブロック (SMB) ファイル共有としてマッピングし、バックアップを Amazon S3 に送信できます。
-
バックアップは S3 バケットに直接、または Storage Gateway ファイルキャッシュを介して送信されます。
-
複数ファイルのバックアップがサポートされています。
Storage Gateway を使用したネイティブバックアップには、次の制限事項を考慮してください。
-
バックアップと復元をデータベースごとに設定する必要があります。
-
バックアップファイル用の Amazon S3 ライフサイクルポリシーの管理が必要になります。
Storage Gateway の設定方法の詳細については、 AWS ブログの投稿を使用して Amazon S3 でSQLサーバーバックアップを保存する AWS Storage Gateway
SQL EBSボリュームへのサーバーネイティブバックアップ
Server SQL データベースのネイティブバックアップを取得し、Amazon EBSボリュームにファイルを保存できます。Amazon EBSは、パフォーマンスの高いブロックストレージサービスです。EBS ボリュームは伸縮自在で、暗号化をサポートしています。これらはデタッチしてEC2インスタンスにアタッチできます。Server SQLは、同じEBSボリュームタイプまたは別のEBSボリュームタイプのEC2インスタンスでバックアップできます。別のEBSボリュームにバックアップする利点の 1 つは、コスト削減です。
次の図は、EBSボリュームへのネイティブバックアップのアーキテクチャを示しています。
Server SQLネイティブバックアップをEBSボリュームに使用する利点を以下から検討してください。
-
完全なEC2インスタンスを復元するのではなく、SQLサーバーインスタンス上の個々のデータベースのバックアップを取得し、個々のデータベースを復元できます。
-
複数ファイルのバックアップがサポートされています。
-
Server Agent と SQL Server ジョブエンジンを使用して、バックアップSQLジョブをスケジュールできます。
-
選択したハードウェアによって、パフォーマンス上の利点が得られます。例えば、st1 ストレージボリュームを使用するとスループットを高めることができます。
EBS ボリュームへのネイティブバックアップを使用する際には、次の制限を考慮してください。
-
EBS ボリュームから Amazon S3 にバックアップを手動で移動する必要があります。
-
大規模なバックアップの場合は、Amazon のディスク容量を管理する必要がありますEC2。
-
EC2 インスタンスでは、Amazon EBSスループットがボトルネックになる可能性があります。
-
Amazon にバックアップを保存するには、追加のストレージが必要ですEBS。
SQL Amazon FSx for Windows File Server へのサーバーネイティブバックアップ
Amazon FSx for Windows File Server
次の図は、 for Windows File Server FSx へのネイティブSQLサーバーバックアップのアーキテクチャを示しています。
for Windows File Server で FSx にネイティブSQLサーバーバックアップを使用する利点を次に示します。
-
Server SQL データベースを Amazon FSx ファイル共有にバックアップできます。
-
完全なインスタンスを復元するのではなく、SQLサーバーインスタンス上の個々のデータベースのバックアップを取り、個々のデータベースを復元できます。
-
マルチパートバックアップがサポートされています。
-
Server SQL Agent とジョブエンジンを使用して、バックアップジョブをスケジュールできます。
-
インスタンスのネットワーク帯域幅は、Amazon に比べて高くなりますEBS。
for Windows File Server で FSx へのネイティブSQLサーバーバックアップを使用する際には、以下の制限を考慮してください。
-
AWS Backup または FSxを使用して、Amazon から Amazon S3 にバックアップを手動で移動する必要があります AWS DataSync。
-
大規模なバックアップでは、Amazon でのディスク領域管理に追加のオーバーヘッドが必要になる場合がありますFSx。
-
EC2 インスタンスネットワークスループットはボトルネックになる可能性があります。
-
for Windows File Server FSx にバックアップを保存するには、追加のストレージが必要です。
SQL FSxの Amazon へのサーバーバックアップ NetApp ONTAP
FSx for のスナップショットONTAPは常にクラッシュ整合性がありますが、アプリケーション整合性のあるスナップショットを作成するには、データベースを休止 (または I/O を一時停止) する必要があります。(SQLサーバーを含む特定のアプリケーションのプラグインを備えた NetApp SnapCenter オーケストレーションツール) を FSx で使用ONTAPして、アプリケーション整合性のあるスナップショットを作成し、追加コストなしでデータベースを保護、レプリケート、クローンできます。
NetApp SnapCenter
NetApp SnapCenter は、アプリケーション整合性のあるデータ保護のための統合プラットフォームです。 は、スナップショットをバックアップとして SnapCenter 参照します。このガイドでは、同じ命名規則を採用しています。 は、アプリケーション整合性のあるバックアップ、復元、クローンを管理するための 1 つのウィンドウ SnapCenter を提供します。特定のデータベースアプリケーションの SnapCenter プラグインを追加して、アプリケーション整合性のあるバックアップを作成します。SQL サーバーの SnapCenter プラグインには、データ保護ワークフローを簡素化する以下の機能があります。
-
フルバックアップとログバックアップのきめ細かなバックアップと復元のオプション
-
インプレース復元と代替場所への復元
の詳細については SnapCenter、 AWS ストレージブログの「Amazon FSx for Post NetApp SnapCenter で を使用してSQLサーバーワークロードを保護する NetApp ONTAP
バックアップのコスト最適化
以下のオプションは、SQLサーバーバックアップを に保存する際のコストを削減するのに役立ちます AWS。
-
バックアップファイルの作成中にSQLサーバー圧縮
を有効にし、可能な限り小さなファイルをストレージに送信します。例えば、圧縮率が 3:1 の場合、ディスク容量を約 66% 節約していることを示します。これらの列でクエリを実行するには、次の Transact-SQL ステートメントを使用できます。 SELECT backup_size/compressed_backup_size FROM msdb..backupset;
-
S3 バケットへのバックアップでは、Amazon S3 Intelligent-Tiering
ストレージクラスを有効にして、ストレージコストを 30% 削減します。 -
Windows File Server または FSxの FSxにバックアップする場合はONTAP、1 つのアベイラビリティーゾーンを使用して 50% のコスト削減 (複数のアベイラビリティーゾーンを使用する場合と比較) を行います。料金については、「Amazon FSx for Windows File Server の料金
」および「Amazon FSx for NetApp ONTAP Pricing 」を参照してください。 -
SQL Server 2022 の最も効率的なオプションは、Amazon S3 への直接バックアップです。Storage Gateway を回避することで、追加コストを削減できます。
バックアップのテスト結果をベンチマークする
このセクションでは、このガイドで説明するバックアップソリューションのパフォーマンスベンチマークテストの結果に基づいて、サンプル 1 TB データベースのコストとパフォーマンスの観点から以下のオプションを比較します。
-
EC2 インスタンス仕様 – Windows Server 2019 および SQL Server 2019 デベロッパーエディションを使用した r5d.8xlarge
-
データベース仕様 – 1 TB サイズ、TDE無効
テストは、ソースとして r5d.8xlarge インスタンスと 1 TB SQL Server データベースを使用して実行されました。ソースシステムはベストプラクティスに従って設定され、ソースデータベースには 4 つのデータファイル (それぞれ 250 GB) と 1 つのログファイル (50 GB) が別々の gp3 ボリュームに分散していました。SQL Server ネイティブBACKUP
コマンドには、10 個のバックアップファイルに書き込むこと、圧縮を使用してバックアップパフォーマンスを最適化し、ネットワーク経由で送信され、ターゲットに書き込まれるデータ量を減らすことが含まれます。すべてのテストケースで、ストレージパフォーマンスがボトルネックでした。
この種のテストの考えられる構成は、無限に近いバリエーションがあります。このテストでは、パフォーマンス、コスト、スケーラビリティ、実際のユースケースの最適化に焦点を当てました。次の表は、バックアップターゲットオプションでキャプチャされたパフォーマンスメトリクスを示しています。
バックアップオプション | レベル | 実行期間 (Appx) | バックアップレート | 1 か月USDあたりのコスト* |
---|---|---|---|---|
ローカル EBS st1 へのネイティブバックアップHDD、2 TB | データベース | 00:30:46 分 | 554.7 Mbps | 92.16 ドル |
ローカル EBS SSD gp3 へのネイティブバックアップ、2 TB | データベース | 00:22:00 分 | 512 Mbps | 193.84 ドル |
Windows File Server FSx用 へのネイティブバックアップHDD、2 TB @512 Mbps スループット | データベース | 00:20:58 分 | 814.0 Mbps | 1,146 ドル |
Windows File Server FSx の へのネイティブバックアップSSD、2 TB @512 Mbps スループット | データベース | 00:20:00 分 | 814.0 Mbps | 1,326 ドル |
2 TB gp3 を使用した S3 File Gateway m6i.4xlarge (16 v CPU、64 GB) へのネイティブバックアップ | データベース | 00:23:20 分 | 731.5 Mbps | 470.42 ドル |
EBS VSS スナップショット | EBS ボリューム | 00:00:02 秒 00:00:53 秒 |
N/A スナップショット | 51 ドル |
AWS Backup (AMI バックアップ) | AMI | 00:00:04 秒 00:08:00 分 |
N/A スナップショット | $75 |
Amazon S3 へのネイティブSQLサーバーの直接バックアップ (SQL Server 2022) | データベース | 00:12:00 分 | 731.5 Mbps | 最初の 50 TB/月、1 GB あたり 0.023 USD、1 か月あたり 23.55 USD |
FSx の へのネイティブバックアップ ONTAP ( を使用 SnapCenter) | データベース | – | – | $440.20 |
上記の表では、次のことを前提としています。
-
データ転送と Amazon S3 のコストは含まれません。
-
ストレージ料金はインスタンス料金に含まれています。
-
コストは
us-east-1
リージョンに基づいています。 -
スループットとIOPS成長率は 10% で、複数のバックアップでは 1 か月全体の変化率が 10% です。
テスト結果は、最速オプションが Windows File Server FSx 用の へのネイティブSQLサーバーデータベースバックアップであることを示しています。Storage Gateway とローカルにアタッチされたEBSボリュームへのバックアップは、コスト効率の高いオプションですが、パフォーマンスは遅くなります。サーバーレベルのバックアップ (AMI) では、パフォーマンス、コスト、管理性を最適化 AWS Backup するために を使用することをお勧めします。
コスト最適化に関する推奨事項
Amazon で SQL Server をバックアップするための考えられるソリューションを理解することEC2は、データを保護し、バックアップのニーズを確実に満たし、重要なイベントから復旧するための計画を立てる上で重要です。このセクションで調べたSQLサーバーインスタンスとデータベースをバックアップおよび復元するさまざまな方法は、データを保護し、組織の要件を満たすバックアップおよび復元戦略を考案するのに役立ちます。
このセクションでは、次のバックアップオプションについて説明します。
-
圧縮
-
Amazon S3 の新しいストレージクラス、S3 Intelligent-Tiering を発表
-
単一のアベイラビリティーゾーン
-
へのバックアップ URL
これらのオプションごとに提供されるガイダンスは高レベルです。これらの推奨事項を組織に実装する場合は、アカウントチームに問い合わせることをお勧めします。その後、チームは Microsoft スペシャリスト SA と連携して会話を主導できます。optimize-microsoft@amazon.com に E メールを送信して に連絡することもできます。
要約すると、以下をお勧めします。
-
SQL Server 2022 を使用している場合は、Amazon S3 へのバックアップが最もコスト効率の高いオプションです。
-
SQL Server 2019 以前の SQL Server エディションを使用している場合は、Amazon S3 でバックアップされた Storage Gateway へのバックアップを最もコスト効率の高いオプションとして検討してください。
圧縮
圧縮の目的は、各バックアップで消費されるストレージを減らすことです。これは、さまざまなストレージオプションにとって有益です。SQL サーバーバックアップの圧縮は、SQLサーバーインスタンス
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION
(ALGORITHM = QAT_DEFLATE)
Amazon S3 の新しいストレージクラス、S3 Intelligent-Tiering を発表
Amazon S3 バケットへのバックアップでは、Amazon S3 File Gateway ストレージクラス として Amazon S3 Intelligent-Tiering
次の図は、S3 Intelligent-Tiering に基づくソリューションのアーキテクチャを示しています。
デフォルトでは、S3 バケットに書き込まれたバックアップファイルは標準階層を使用します。バックアップファイルを標準階層から S3 Intelligent-Tiering に変換するには、ライフサイクルルール を作成する必要があります。を使用して S3 Intelligent-Tiering AWS Management Consoleを有効にすることもできます。詳細については、 ドキュメントの AWS Amazon S3 Intelligent-Tiering の使用開始
単一のアベイラビリティーゾーン
シングルアベイラビリティーゾーンファイルシステムを作成するには、 FSx for Windows File Server ファイルシステム を作成するときに Single-AZ オプションを選択します。Amazon はFSx、Windows Volume Shadow Copy Service を使用して、ファイルシステムの耐久性の高いバックアップ (Amazon S3 に保存) を毎日取得し、いつでも追加のバックアップを取ることができます。単一アベイラビリティーゾーンの使用に関するいくつかの問題に注意してください。例えば、SMBファイルシステムがプロビジョニングされている影響を受けるアベイラビリティーゾーンが一度に数時間ダウンすると、ファイル共有にアクセスできなくなります。データへのアクセスが必要な場合は、ソースリージョン内の利用可能なアベイラビリティーゾーンのバックアップから復元する必要があります。詳細については、このガイドの「単一のアベイラビリティーゾーンを使用する」セクションを参照してください。
へのバックアップ URL
SQL Server 2022 の場合、 機能のバックアップURL
追加リソース
-
Amazon 上の SQL Server のバックアップと復元のオプション EC2 (AWS 規範ガイダンス)
-
Point-in-time RDS による Amazon のリカバリと継続的バックアップ AWS Backup
(AWS ストレージブログ) -
Amazon FSx for (ストレージブログ) NetApp SnapCenter で を使用してSQLサーバーワークロードを保護する NetApp ONTAP
AWS -
Amazon S3 Intelligent-Tiering の使用を開始する
(AWS Getting Started Resource Center) -
Amazon RDS for SQL Server のバックアップおよび復元戦略
(AWS データベースブログ) -
オンプレミスの Microsoft SQL Server データベースを Amazon に移行する EC2 (AWS 規範ガイダンス)
-
Amazon に Microsoft SQL Server をデプロイするためのベストプラクティス EC2 (AWS ホワイトペーパー)