サーバーレベルのバックアップのオプション - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

サーバーレベルのバックアップのオプション

サーバーレベルのバックアップでは、SQL Server EC2 インスタンスの全体がバックアップされます。これには、EC2 インスタンス上のすべてのシステムデータベースとユーザーデータベースが含まれます。Amazon EC2 で複数の SQL Server インスタンスを使用している場合は、こちらもサーバーレベルのバックアップの対象となります。

VSS 対応 の EBS スナップショットを使用した SQL Server のバックアップ

Windows ボリュームシャドウコピーサービス (VSS) は、オペレーティングシステムとアプリケーションによる、基盤となる入出力 (I/O) へのアクセスを調整し、アプリケーションのダウンタイムを発生させることなく、基盤となるストレージの、アプリケーションコンシステントなスナップショットの作成を可能にします。SQL Server は VSS に対応しているため、VSS エージェントを使用して SQL Server インスタンスの EBS スナップショットを作成することができます。

以下の図は、VSS に対応した EBS スナップショットを使用したバックアップと復元のソリューションの、アーキテクチャを示したものです。

EBS ボリュームはスナップショットとしてバックアップされ、Amazon S3 に保存されます。

このアーキテクチャでは、VSS エージェントを SQL Server インスタンスにインストールするために、AWS Systems Manager Run Command を使用しています。この Run Command は、オペレーティングシステムとアプリケーションのバッファをディスクにフラッシュし、I/O オペレーションを一時停止し、EBS ボリュームのポイントインタイムスナップショットを取得して I/O を再開する、ワークフロー全体の呼び出しにも使用できます。

この Run Command は、ターゲットインスタンスにアタッチされたすべての EBS ボリュームの自動スナップショットを作成します。ユーザーデータベースファイルは、通常は他のボリュームに保存されるため、ルートボリュームを除外する選択もできます。複数の EBS ボリュームをストライピングして SQL Server ファイル用の 1 つのファイルシステムを作成する場合、Amazon EBS は、1 つの API コマンドで Crash-consistent なマルチボリュームのスナップショットもサポートします。

アプリケーションコンシステントな VSS 対応 の EBS スナップショットを使用する手順については、「AWS ドキュメント」で解説しています。

この方法を使用すると、次のような利点があります。

  • DB インスタンスの初期のスナップショットには、フル DB インスタンスのデータが含まれています。同じ DB インスタンスの後続のスナップショットは増分です。つまり、直近のスナップショット以降に変更されたデータのみが保存されます。

  • スナップショットから、新しい SQL Server EC2 インスタンスに復元することができます。

  • インスタンスが Amazon EBS を使用して暗号化されている場合、または、データベースが透過的データ暗号化 (TDE) を使用しているインスタンス内で暗号化されている場合、そのインスタンスまたはデータベースは、同じ暗号化を使用して自動的に復元されます。

  • 使用している自動化されたクロスリージョンバックアップをコピーできます。

  • EBS ボリュームをスナップショットから復元したとき、アプリケーションからすぐにアクセスすることができます。つまり、基盤となる 1 つ以上の EBS ボリュームをスナップショットから復元した後に、SQL Server をすぐにオンラインにすることができます。

  • 復元したボリュームは、デフォルトでは、アプリケーションが初めてブロックを読み込む際に、Amazon S3 から基盤のブロックを取得します。これにより、EBS ボリュームをスナップショットから復元した後に、パフォーマンスの低下が生じる場合があります。ボリュームは、最終的には通常のパフォーマンスに追いつきます。ただし、このようなパフォーマンスの低下は、高速スナップショット復元 (FSR) のスナップショットを使うことで回避できます。

  • EBS スナップショットのライフサイクル管理を使用できます。

ただし、自動スナップショットを使用することには一定の制限があります。

  • SQL Server インスタンスの暗号化されたスナップショットでは、クロスリージョンのポイントインタイムリカバリ (PITR) を実行できません。

  • 暗号化されていないインスタンスの、暗号化されたスナップショットを作成することはできません。

  • スナップショットは EBS ボリュームレベルで作成されるため、個々のデータベースを復元することはできません。

  • インスタンスをそれ自体に復元することはできません。

  • DB インスタンスのスナップショットは、DB インスタンスと同じ AWS Key Management Service (AWS KMS) キーを使用して暗号化する必要があります。

  • Storage I/O は、スナップショットのバックアッププロセス中に一瞬 (約 10 ミリ秒) 中断します。

AWS Backup バックアップを使用した SQL Server のバックアップ

AWS Backup を使用すると、AWS のサービスを横断してデータ保護を一元化し、自動化することができます。AWS Backup は、大規模なデータ保護をさらに簡素化する、コスト効率に優れたフルマネージド型の、ポリシーベースのサービスです。また、AWS Backup は規制の順守やビジネス継続性の目標実現にも役立ちます。AWS Backup は、AWS Organizations と併用することで、データ保護 (バックアップ) ポリシーを一元的に導入し、組織全体の AWS アカウントおよびリソースを横断してバックアップアクティビティを設定、運営、管理することができます。

以下の図は、AWS Backup を使用した SQL Server on EC2 のバックアップと復元ソリューションのアーキテクチャを示したものです。

EBS ボリュームは AWS Backup に送信され、スナップショットは Amazon S3 に送信されます。

このソリューションには以下の利点があります。

  • バックアップのスケジュール設定、保持の管理、ライフサイクル管理を自動化できます。

  • バックアップ戦略を、複数のアカウントと AWS リージョン を横断して、組織全体で一元化できます。

  • AWS サービス全体のバックアップアクティビティのモニタリングとアラートの発信を一元化できます。

  • ディザスタリカバリ計画のリージョンを横断したバックアップを実装できます。

  • このソリューションは、クロスアカウントバックアップをサポートしています。

  • 二次的なバックアップ暗号化を使用した、安全なバックアップを実行できます。

  • すべてのバックアップで、AWS KMS 暗号化キーを使用した暗号化がサポートされています。

  • このソリューションは、TDE と連携しています。

  • AWS Backup コンソールから復旧ポイントに復元することができます。

  • SQL Server インスタンス全体をバックアップできます。これには、すべての SQL Server データベースが含まれます。

SQL Server のバックアップに AWS Backup を使用する方法の詳細にについては、こちらのブログ記事「How to simplify Microsoft SQL Server backup using AWS Backup and VSS」を参照してください。

AWS Backup を使用して、SQL Server で Amazon Relational Database Service (Amazon RDS) のポイントインタイムリカバリを実行する方法については、ブログ記事「Point-in-time recovery and continuous backup for Amazon RDS with AWS Backup」を参照してください。