AWS認定資格 WEB問題集&徹底解説

ソリューションアーキテクト-プロフェッショナル

AWS Database Migration Service (AWS DMS) の概要と試験出題ポイントは?

AWSサービスの一つであるAWS Database Migration Service (AWS DMS)はどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-プロフェッショナル(SAP)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

AWS DMS 徹底解説 | AWS認定試験の頻出ポイントまとめ

1. サービス概要

AWS DMS(Database Migration Service)は、オンプレミスや他クラウドのデータベースをAWSに安全・迅速に移行するマネージドサービスです。移行中も元のデータベースは稼働し続けるため、ダウンタイムを最小化して移行できます。

同種データベース間の移行(Oracle → RDS Oracle)と、異種データベース間の移行(Oracle → Amazon Aurora PostgreSQL)の両方をサポートします。異種移行時はスキーマ変換にAWS Schema Conversion Tool(SCT)を併用します。

2. 主な特徴と機能

2.1 移行タイプ

  • 全ロード(Full Load): ソースDBの全データをターゲットDBに一括コピー。移行完了後にアプリケーションを切り替え。
  • 全ロード + CDC(Change Data Capture): 全ロード中および完了後に、ソースDBへの変更(INSERT/UPDATE/DELETE)をリアルタイムにターゲットDBに継続レプリケート。ダウンタイムなし移行に最適。
  • CDCのみ(継続的レプリケーション): 既存の移行済みDBへの差分変更を継続的にレプリケート。データベースのレプリケーションや継続的な同期に使用。

2.2 構成要素

  • レプリケーションインスタンス: DMSが動作するEC2インスタンス(マネージド)。移行処理を実行する中核。
  • ソースエンドポイント: 移行元データベースの接続情報(ホスト・ポート・認証情報)。
  • ターゲットエンドポイント: 移行先データベースの接続情報。
  • レプリケーションタスク: 移行設定(移行タイプ・テーブルマッピング・変換ルール)を定義して実行。

2.3 対応ソースDB(主要)

Oracle・SQL Server・MySQL・PostgreSQL・MariaDB・MongoDB・SAP・DB2・Sybase・Amazon Aurora・Azure SQL等。

2.4 対応ターゲットDB(主要)

Amazon RDS(全エンジン)・Aurora・Redshift・DynamoDB・S3・OpenSearch・Kinesis Data Streams・DocumentDB・Neptune等。

2.5 AWS SCT(Schema Conversion Tool)

異種データベース移行時(例: OracleからAurora PostgreSQL)にスキーマ・ストアドプロシージャ・関数を自動変換するローカルツール。変換不可な部分はレポートで示しアプリコードの修正箇所を明示します。

3. アーキテクチャおよび技術要素

  1. AWS SCTでソースDBのスキーマをターゲットDB向けに変換・ターゲットDBに適用(異種移行時)。
  2. DMSレプリケーションインスタンスを作成(ソースDBとターゲットDBの両方にアクセスできるサブネットに配置)。
  3. ソースエンドポイント・ターゲットエンドポイントを作成して接続テスト。
  4. レプリケーションタスク(Full Load + CDC)を作成・開始。
  5. レプリケーションが追いついたらアプリを新DBに切り替え→DMS停止。

4. セキュリティと認証・認可

  • 転送時暗号化: ソース/ターゲットDBとの通信をSSL/TLSで暗号化。
  • 保存時暗号化: レプリケーションインスタンスのストレージをKMSキーで暗号化。
  • VPC配置: レプリケーションインスタンスをVPCサブネット内に配置。プライベートネットワーク経由でDB接続(インターネット非経由)。
  • Secrets Manager統合: DB認証情報をSecrets Managerに格納してDMSエンドポイントから参照(パスワードのハードコード回避)。

5. 料金形態

  • レプリケーションインスタンス: EC2インスタンスタイプに応じた時間課金(移行中のみ起動することでコスト削減)。
  • データ転送: AWSへのインバウンドデータ転送は無料。アウトバウンドは通常料金。
  • ストレージ: レプリケーションインスタンスのストレージ(GB/月)。

6. よくあるアーキテクチャ・設計パターン

  • ダウンタイムなし移行(Full Load + CDC): 全ロードでデータをコピーしながらCDCで差分を継続同期→レプリケーションが追いついたら瞬時にアプリを切り替え。本番環境のダウンタイムを数分以内に抑える。
  • 異種DB移行(Oracle → Aurora PostgreSQL): AWS SCTでスキーマ・プロシージャを変換→DMSでデータを移行。OracleライセンスコストをAuroraで削減。
  • 継続的なS3への同期: RDS/AuroraのデータをDMS CDCでS3に継続的にレプリケートしてデータレイクを最新状態に維持。

7. 設定・デプロイ手順(ハンズオン例)

  1. DMSコンソールで「レプリケーションインスタンスの作成」→インスタンスクラス・サブネットグループ・マルチAZを選択。
  2. 「エンドポイントの作成」→ソースDB(種類・ホスト・ポート・認証情報)を登録。ターゲットDB(RDS Aurora等)も同様に登録。
  3. 「データベース移行タスクの作成」→移行タイプ(Full Load + CDC)・テーブルマッピングを設定。
  4. タスク開始→AWS Management Consoleでレプリケーション状況を監視。
  5. レプリケーションラグがほぼゼロになったらアプリの接続先を新DBに切り替え→タスクを停止・インスタンスを削除。

8. 試験で問われやすいポイント

8.1 移行タイプ

  • Q: DMSでダウンタイムを最小化してDB移行するには?
    A: 「Full Load + CDC(継続的変更レプリケーション)」を使用。全ロード中も変更をキャプチャし、ラグがゼロになったタイミングで切り替え。

8.2 異種DB移行とSCT

  • Q: Oracle から Amazon Aurora PostgreSQLへの移行で使うツールは?
    A: AWS SCT(Schema Conversion Tool)でスキーマ変換 + AWS DMS でデータ移行の2ステップ。同種DB移行(MySQL→RDS MySQL)ではSCTは不要。

8.3 DMSの構成要素

  • Q: AWS DMSの主要な3つの構成要素は?
    A: レプリケーションインスタンス(処理エンジン)・ソースエンドポイント(移行元DB接続情報)・ターゲットエンドポイント(移行先DB接続情報)。これらを組み合わせてタスクを実行。

8.4 ターゲットとしてのS3・Kinesis

  • Q: DMSのターゲットとしてS3やKinesisは使えるか?
    A: 使える。RDS/Aurora → S3(データレイク構築)、RDS → Kinesis Data Streams(リアルタイムストリーミング)がDMSのターゲットとして対応。