Q8 — AWS SAA-C03 第17章

第 8/89 問 | ← 第17章

Q1308. ある企業が、オンプレミスのデータセンターからAWSへ、ビジネスクリティカルなアプリケーションを移行することを計画しています。同社はMicrosoft SQL Server Always Onクラスターをオンプレミスで運用しています。また、AWSが管理するデータベースサービスへの移行を希望しています。ソリューションアーキテクトは、AWS上での異種データベース間移行(heterogeneous database migration)を設計する必要があります。これらの要件を満たすソリューションはどれですか?

正解: C. AWS Schema Conversion Tool(AWS SCT)を用いてデータベーススキーマをAmazon RDS for MySQL向けに変換します。その後、AWS Database Migration Service(AWS DMS)を用いて、オンプレミスのデータベースからAmazon RDSへデータを移行します。

解説

正解:C AWS Schema Conversion Tool(AWS SCT)を用いてデータベーススキーマをAmazon RDS for MySQL向けに変換し、その後AWS Database Migration Service(AWS DMS)を用いて、オンプレミスのデータベースからAmazon RDSへデータを移行します。 このソリューションが要件を満たす理由: 企業は、Microsoft SQL Server Always Onクラスター(同一DBエンジン内でのホモジニアス環境)から、AWSが管理する異種データベースサービス(Amazon RDS for MySQL)へ移行する必要があります。これは以下の要素を必要とします: ① スキーマ変換(SQL Server → MySQL) ② ダウンタイムを最小限に抑えたデータ移行 ③ AWSが完全に管理するデータベースサービス(RDS for MySQL) 選択肢Cは、これらすべての要件を満たす唯一のソリューションです。 ① AWS Schema Conversion Tool(AWS SCT) ・SQL Serverのスキーマ(テーブル、ビュー、ストアドプロシージャ、関数など)をMySQL互換の構文に変換します。 ・MySQLではサポートされないSQL Server固有の機能(例:特定のデータ型やT-SQL構文)に関する互換性問題を検出し、事前に解決できる「変換評価レポート」を生成します。 ② AWS Database Migration Service(AWS DMS) ・オンプレミスのSQL ServerからAmazon RDS for MySQLへ、ダウンタイムを最小限に抑えながらデータを移行します(継続的レプリケーションをサポート)。 ・異種間移行(例:SQL Server → MySQL、Oracle → PostgreSQLなど)をネイティブにサポートします。 ・一括移行だけでなく、ハイブリッド環境向けの継続的なデータ同期にも対応します。 ③ Amazon RDS for MySQL ・MySQL互換のフルマネージドデータベースサービスであり、運用負荷を大幅に低減します。 ・高可用性(Multi-AZ)、自動バックアップ、スケーリングなどの機能を手動介入なしで提供します。 他の選択肢が不適切な理由: A:バックアップ/リストアユーティリティ(例:mysqldump、SQL ServerのBACKUP/RESTORE)は、同一DBエンジン間(SQL Server→SQL Server、MySQL→MySQL)のホモジニアス移行専用ツールであり、異なるデータベースエンジン間(SQL Server→MySQL)のスキーマやデータ型の変換には対応していません。 B:AWS Snowball Edgeはペタバイト規模の大容量データ転送に適していますが、スキーマ変換機能はありません。また、SQL ServerのBULK INSERTはS3からのデータ読み込みを可能にしますが、スキーマ変換やデータ型の不一致対応は一切行わず、手動によるスキーマ調整が必要となるため、体系的なデータベース移行手法とは言えません。 D:AWS DataSyncはNFS/SMB/S3などのファイルベースのデータ転送に特化しており、構造化されたデータベースの移行には使用できません。BULK INSERTも選択肢Bと同様にスキーマ変換機能を持たず、データベース移行には不適切です。 正しい移行フロー(選択肢C): 1.スキーマの評価と変換:AWS SCTを用いてSQL Serverスキーマを分析し、MySQL互換のスキーマを生成。互換性問題(例:SQL ServerのTOP句をMySQLのLIMITに置換)を事前に修正。 2.ターゲットデータベースの準備:目的のインスタンスタイプおよびストレージ設定でAmazon RDS for MySQLを起動。 3.ダウンタイム最小化でのデータ移行:AWS DMSを用いてSQL ServerからRDS for MySQLへデータをレプリケーション。最終的な切り替え(cutover)は、レプリケーション遅延が無視できるレベルになった時点で実施。 4.検証と最適化:アプリケーションを新しいMySQLデータベースでテスト。クエリおよびインデックスをMySQL向けに最適化。 要点まとめ: ・異種データベース間移行には、必ずスキーマ変換(AWS SCT)が必要です。 ・ダウンタイムを最小限に抑えたデータベース移行には、AWS DMSが最も適したサービスです。 ・バックアップ/リストア、Snowball、DataSyncは、構造化データベースの移行には使用すべきではありません。 このアプローチにより、SQL ServerからRDS for MySQLへの安全・効率・スムーズな移行が実現できます。