AWS Database Migration Service (AWS DMS)
1. サービス概要¶
AWS Database Migration Service (AWS DMS) は、データベースを AWS に、または AWS 上のデータベース間で高速かつ安全に移行できるサービスである。
Oracle、SQL Server、MySQL、PostgreSQL など多様なエンジンに対応し、ダウンタイムを最小限に抑えて移行を実施できる。
異種データベース間の移行にも対応し、アプリケーション移行を容易にする。
主なユースケースは次の通り。
オンプレミスデータベースの AWS への移行
異なるデータベースエンジン間での移行
データベースのアップグレード
継続的なデータレプリケーション
データウェアハウスへのデータロード
これらのユースケースに対応する機能と、AWS の他サービスとの統合を提供する。
2. 主な特徴と機能¶
2.1 幅広いデータベースエンジンのサポート¶
Oracle、SQL Server、MySQL、PostgreSQL、MariaDB、MongoDB などをサポートする。
これにより、多様な環境からの移行を容易に行える。
2.2 異種データベース間の移行¶
異なるエンジン間でのデータ移行 (例: Oracle から PostgreSQL) をサポートする。
これにより、アーキテクチャ変更の柔軟性を確保できる。
2.3 ダウンタイムの最小化¶
オンライン移行に対応し、ソース DB のダウンタイムを最小化できる。
2.4 継続的なデータレプリケーション¶
移行後も継続的レプリケーションを設定でき、ソース側の変更をターゲットにリアルタイムで反映できる。
2.5 スキーマ変換¶
AWS Schema Conversion Tool (SCT) と連携し、スキーマをターゲットエンジン向けに変換できる。
2.6 監視とアラート¶
進捗を監視し、エラー発生時はアラート通知が可能である。
2.7 統合性と拡張性¶
Amazon S3、Amazon EC2、Amazon CloudWatch、SCT などと統合される。
API により自動化・カスタマイズも可能である。
3. アーキテクチャおよび技術要素¶
- 移行元・移行先のデータベースエンドポイントを設定
- レプリケーションインスタンスを作成し、移行タスクを実行
- ソースからデータを読み取り、必要に応じて変換してターゲットに書き込み
- 必要に応じて継続的レプリケーションを有効化
- 進捗は CloudWatch で監視
AWS のインフラ上で提供され、高可用性とスケーラビリティを備える。
移行運用は AWS 側が担うため、利用者はインフラ管理を意識する必要がない。
4. セキュリティと認証・認可¶
データ移行のセキュリティ確保のため、以下を提供する。
- IAM 統合: IAM によるアクセス制御
- データ暗号化: 転送中および保存時に暗号化
- VPC 実行: レプリケーションインスタンスを VPC 内で実行しネットワーク隔離を実現
- アクセス制御: ポリシーにより権限を詳細に管理
これらにより、移行データの安全性と機密性を確保できる。
5. 料金形態¶
主な課金要素は次の通り。
- レプリケーションインスタンス: 利用時間とインスタンスタイプ
- データ転送: 転送量
- ストレージ: ログや中間データの保管
6. よくあるアーキテクチャ・設計パターン¶
- オンライン移行でダウンタイム最小化
- 異種エンジン間移行 + SCT によるスキーマ変換
- 継続的レプリケーションで段階的なカットオーバー
7. 設定・デプロイ手順(ハンズオン例)¶
- コンソールでエンドポイントを作成
- レプリケーションインスタンスを作成
- 移行タスクを作成・実行
- 進捗とメトリクスを監視
- 必要に応じて継続的レプリケーションへ切替
8. 試験で問われやすいポイント¶
8.1 ダウンタイム最小化¶
- オンライン移行で可用性を維持できる点を理解。
8.2 異種エンジン移行¶
- SCT と組み合わせ、スキーマ変換を実施する流れを把握。
8.3 監視・アラート¶
- CloudWatch と連携し、失敗検知と通知を行う。
8.4 継続的レプリケーション¶
- 移行後も変更をリアルタイム反映できる点を理解。
8.5 料金体系¶
- 課金対象(インスタンス、転送量、ストレージ)を把握。
8.6 類似・関連サービス¶
- AWS Schema Conversion Tool: スキーマ変換
- AWS DataSync: 大量データの転送・同期(DB 移行とは目的が異なる)
8.7 よくある設問例¶
- Q: AWS DMS の目的は何か。
- A: データベースを AWS に、または AWS 上で高速・安全に移行する。
- Q: ダウンタイムを抑える方法は何か。
- A: オンライン移行を利用する。
- Q: 異種 DB への移行で必要なツールは何か。
- A: AWS Schema Conversion Tool を用いる。