

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

# Amazon RDS for SQL Server への移行のベストプラクティス
<a name="best-practices"></a>

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

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

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

## ターゲットデータベースのプロビジョニング
<a name="provision"></a>

データベース移行戦略の評価、計画、準備が終わったら、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 のジョブにメンテナンスや移行が必要なアプリケーションがないか確認します。

## ソースデータベースからのバックアップ
<a name="backup"></a>

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

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

## データ・ダンプ・ファイルを AWS に転送する
<a name="transfer-data"></a>
+ オンプレミス環境と AWS 間の広帯域接続を提供する Direct Connect を使用している場合、SQL Server のバックアップをAmazon S3 にコピーし、[Amazon S3 統合](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/User.SQLServer.Options.S3-integration.html) を設定することができます。
+ Direct Connect で高い帯域幅を確保できない場合は、AWS Snowball Edge を使って大きなデータベースのバックアップファイルを転送します。レプリケーションが必要な場合は、AWS DMS を使ってデータを転送することもできます。

## ターゲットデータベースへのデータの復元
<a name="restore-data"></a>
+ 非常に大きなデータベースを移行する場合、データのロードを高速化するために、移行中は最初に大きな[Amazon RDS インスタンスタイプ](https://aws.amazon.com/rds/instance-types/) をプロビジョニングすることをお勧めします。
+ マルチ AZ を無効にする。(これは移行後に再度有効にすることができます。)
+ バックアップの保持を無効にします。(これは移行後に再度有効にすることができます。)
+ SQL Server ネイティブの**リストア** コマンドを使用してデータベースをリストアします。
+ ログインとユーザーを作成し、必要に応じて孤立したユーザーを修正します。
+ SQL Server エージェントジョブを作成し、必要に応じてスケジュールを確認します。

## 移行ステップ
<a name="post-migration"></a>

移行が完了すると、以下を行うことができます。
+ DB インスタンスを適切なサイズのインスタンスタイプに変更します。
+ マルチ AZ とバックアップ保持を有効にします。
+ すべてのジョブがセカンダリノード上に作成されていることを確認します (Multi-AZ 構成の場合)。
+ Amazon CloudWatch Logs に SQL Server のエラーログとエージェントログを公開し、CloudWatch を使用してメトリクスを表示したり、アラームを作成したりします。詳細については、[Amazon RDS ドキュメント](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.SQLServer.html)を参照してください。
+ [拡張モニタリング](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html) を有効にして、DBインスタンスのメトリクスをリアルタイムで取得します。
+ アラート用に Amazon Simple Notification Service (Amazon SNS) のトピックを設定します。

## 移行のテスト
<a name="test-migration"></a>

新しい Amazon RDS for SQL Server データベースに対してアプリケーションを検証するために、以下のテストを推奨します：
+ 機能テストを実施します。
+ ソースデータベースとターゲットデータベースの SQL クエリのパフォーマンスを比較し、必要に応じてクエリを調整します。一部のクエリはターゲットデータベースでは実行速度が遅くなる場合があるため、ソースデータベースで SQL クエリのベースラインを取得することをお勧めします。

概念実証 (POC) 段階でさらに検証を行うには、以下の補足テストを行うことをお勧めします：
+ パフォーマンステストを実行して、ビジネス上の期待に応えていることを確認します。
+ データベースのフェイルオーバー、リカバリ、復元をテストして、RPO と RTO の要件を満たしていることを確認します。
+ 重要なジョブとレポートをすべて一覧表示し、Amazon RDS で実行して、サービスレベル契約 (SLA) に照らしてパフォーマンスを評価します。

## Amazon RDS データベースの運用と最適化
<a name="operate-optimize"></a>

データベースが AWS 上にある場合、クラウドにおける監視、アラート、バックアップ、高可用性などの分野でベスト・プラクティスに従っていることを確認する必要があります。例：
+ CloudWatch モニタリングをセットアップし、詳細モニタリングを有効にします。
+ [Amazon RDS Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) や、[SentryOne](https://www.sentryone.com/) や[Foglight for SQL Server](https://www.quest.com/products/foglight-for-sql-server/) のようなサードパーティ製の監視ソリューションを使ってデータベースを監視します。
+ SNS トピックを使用してアラートを設定します。
+ 「[AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)」 またはネイティブ SQL Server バックアップを使用して自動バックアップを設定し、Amazon S3 にコピーします。
+ 可用性を高めるには Amazon RDS マルチ AZ 機能をセットアップしてください。
+ 読み取り専用のデータベースが必要な場合は、ニーズに応じて、同じリージョン内または AWS リージョン間で[読み取りレプリカをセットアップ](rds-sql.md#rds-sql-replicas) します。