Amazon RDS for SQL Server への移行のベストプラクティス - AWS 規範ガイダンス

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

Amazon RDS for SQL Server への移行のベストプラクティス

データベースの評価とプロジェクト要件に基づいて、Amazon RDS for SQL Server への移行を目標としている場合は、このセクションのベストプラクティスに従って、ターゲットデータベースのプロビジョニング、移行の実行、Amazon RDS for SQL Server データベースのテスト、運用、最適化を行います。

重要

データベースを移行する前に、必ずロールバック計画を立ててください。

注記

Migration Hub Orchestrator を使用すると、ネイティブバックアップと復元を使用して、SQL Server データベースを Amazon EC2 または Amazon RDS に移行することを自動化およびオーケストレートできます。詳細については、AWS Migration Hub Orchestrator セクション を参照してください。

ターゲットデータベースのプロビジョニング

データベース移行戦略の評価、計画、準備が終わったら、Amazon RDS for SQL Server データベースをプロビジョニングする際に、以下のベストプラクティスに従ってください:

  • CPU、メモリ、IOPS、ストレージタイプの要件に基づいて、Amazon RDS for SQL Server DB インスタンスを適切なサイズに設定します。(SQL Server Standard Edition を使用している場合は、Standard Edition の制限内で CPU とメモリをプロビジョニングします。)

  • 正しいタイムゾーンと照合順序を設定します。

  • Amazon RDS は、必ず正しい仮想プライベートクラウド (VPC) で起動します。

  • 正しいポートと IP アドレスを使用してセキュリティグループを作成します。

  • セキュリティのため、プライベートサブネットに Amazon RDS データベースをプロビジョニングします。

  • 可能であれば、SQL Server インスタンスを最新バージョンの SQL Server でプロビジョニングします。

  • Amazon RDS データベースごとに個別のオプショングループとパラメータグループを作成します。

  • 移行用のログイン、ユーザー、ロールを収集し、抽出します。

  • SQL Server Agent のジョブにメンテナンスや移行が必要なアプリケーションがないか確認します。

ソースデータベースからのバックアップ

SQL Server データベースをAmazon RDS for SQL Server データベースに移行するためのツールは多数あります。最も一般的な方法は、SQL Server ネイティブのバックアップとリストアを使用することです。

ダウンタイムが限られている場合は、SQL Server のネイティブバックアップ/リストアと差分バックアップとログバックアップを併用できます。または、フルロード AWS DMS、フルロードと CDC、または CDC のみの 3 つのオプションを提供する を使用することもできます。

へのデータダンプファイルの転送 AWS

  • オンプレミス環境と の間に高帯域幅の接続を提供する を使用している場合 AWSは AWS Direct Connect、SQL Server バックアップを Amazon S3 にコピーして Amazon S3 統合を設定できます。

  • 高帯域幅がない場合は AWS Direct Connect、 AWS Snowball Edge を使用して大規模なデータベースバックアップファイルを転送します。レプリケーションが必要な場合 AWS DMS 、 を使用してデータを転送することもできます。

ターゲットデータベースへのデータの復元

  • 非常に大きなデータベースを移行する場合、データのロードを高速化するために、移行中は最初に大きなAmazon RDS インスタンスタイプ をプロビジョニングすることをお勧めします。

  • マルチ AZ を無効にする。(これは移行後に再度有効にすることができます。)

  • バックアップの保持を無効にします。(これは移行後に再度有効にすることができます。)

  • SQL Server ネイティブのリストア コマンドを使用してデータベースをリストアします。

  • ログインとユーザーを作成し、必要に応じて孤立したユーザーを修正します。

  • SQL Server エージェントジョブを作成し、必要に応じてスケジュールを確認します。

移行ステップ

移行が完了すると、以下を行うことができます。

  • DB インスタンスを適切なサイズのインスタンスタイプに変更します。

  • マルチ AZ とバックアップ保持を有効にします。

  • すべてのジョブがセカンダリノード上に作成されていることを確認します (Multi-AZ 構成の場合)。

  • Amazon CloudWatch Logs に SQL Server のエラーログとエージェントログを公開し、CloudWatch を使用してメトリクスを表示したり、アラームを作成したりします。詳細については、Amazon RDS ドキュメントを参照してください。

  • 拡張モニタリング を有効にして、DBインスタンスのメトリクスをリアルタイムで取得します。

  • アラート用に Amazon Simple Notification Service (Amazon SNS) のトピックを設定します。

移行のテスト

新しい Amazon RDS for SQL Server データベースに対してアプリケーションを検証するために、以下のテストを推奨します:

  • 機能テストを実施します。

  • ソースデータベースとターゲットデータベースの SQL クエリのパフォーマンスを比較し、必要に応じてクエリを調整します。一部のクエリはターゲットデータベースでは実行速度が遅くなる場合があるため、ソースデータベースで SQL クエリのベースラインを取得することをお勧めします。

概念実証 (POC) 段階でさらに検証を行うには、以下の補足テストを行うことをお勧めします:

  • パフォーマンステストを実行して、ビジネス上の期待に応えていることを確認します。

  • データベースのフェイルオーバー、リカバリ、復元をテストして、RPO と RTO の要件を満たしていることを確認します。

  • 重要なジョブとレポートをすべて一覧表示し、Amazon RDS で実行して、サービスレベル契約 (SLA) に照らしてパフォーマンスを評価します。

Amazon RDS データベースの運用と最適化

データベースがオンになっている場合は AWS、クラウドのモニタリング、アラート、バックアップ、高可用性などの分野でベストプラクティスに従っていることを確認してください。以下に例を示します。

  • CloudWatch モニタリングをセットアップし、詳細モニタリングを有効にします。

  • Amazon RDS Performance Insights や、SentryOneFoglight for SQL Server のようなサードパーティ製の監視ソリューションを使ってデータベースを監視します。

  • SNS トピックを使用してアラートを設定します。

  • AWS Backup」 またはネイティブ SQL Server バックアップを使用して自動バックアップを設定し、Amazon S3 にコピーします。

  • 可用性を高めるには Amazon RDS マルチ AZ 機能をセットアップしてください。

  • 読み取り専用データベースが必要な場合は、必要に応じて同じ 内または AWS リージョン間でリードレプリカを設定します