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 を使って大きなデータベースのバックアップファイルを転送します。レプリケーションが必要な場合は、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 の Multi-AZ 機能を設定します。

  • 読み取り専用のデータベースが必要な場合は、ニーズに応じて、同じリージョン内または AWS リージョン間で読み取りレプリカをセットアップ します。