MEGAZONEブログ
![Dive deep into different AWS DMS migration options](https://www.hyperbilling.jp/wp-content/uploads/2023/12/reinvent2023-720x360-1.png)
Dive deep into different AWS DMS migration options
さまざまなAWS DMS移行オプションを深掘りする
Pulisher : AI & Data Analytics Center チョ・ミレ
Description : AWS Database Migration Serviceの核心機能と適用可能な様々なオプションについての紹介セッション
はじめに
業務でDMSを利用したCDC機能の実装を開発しました。Postgresql to Postgresql、Redshift to Redshiftの開発案件でしたが、両ケースとも事例が少なくて開発過程でイシューが発生しましたが、複数のケースオープン及びテストを経て様々な対処方法を経験しました。 活用した方法以外にもDMSの核心機能を理解し、適用できる様々なオプションをより深く学ぶことを期待してこのセッションを申し込みました。
セッションの概要紹介
data migration and replication for logical replication; managed native export, import, and replication; and bulk extract and load options for migrating and replicating dataの各オプションの仕組み、メリット、パフォーマンスの考慮点、サーバーレス技術、自動スケーリングとスキーマ変換など、移行を簡単にする方法について詳しく説明します。
DMS機能
![](https://www.hyperbilling.jp/wp-content/uploads/2024/02/pasted-image-0-18-1024x768.jpg)
AWS DMSは、データベースと分析システムの計画、評価、変換、移行を1つの中央サービスで大規模に計画、評価、変換、移行する機能を提供し、時間、リソース、コストを節約します。移行中にソースデータベースを完全に稼働させ、そのデータベースを使用するアプリケーションのダウンタイムを最小限に抑えることができます。
Migration tools and service
![](https://www.hyperbilling.jp/wp-content/uploads/2024/02/pasted-image-0-1-5-1024x768.jpg)
DMSを自動管理してくれる枠組みは、変化するケースを作成するassess、経験を基に構成するMonilize段階、大規模なmigrationを実行するMigrate and modernize段階を経ます。 各段階を実行する各サービスを以下に紹介します。
DMS Fleet adviser
![](https://www.hyperbilling.jp/wp-content/uploads/2024/02/pasted-image-0-2-5-1024x768.jpg)
DMS Fleet Advisorは、オンプレミスデータベースをスキャンし、AWSで適切な規模の推奨事項とコストを提供します。DMSスキーマ変換は、評価と自動化されたスキーマ変換も行うことができます。
DMS Schema conversion
![](https://www.hyperbilling.jp/wp-content/uploads/2024/02/pasted-image-0-3-5-1024x768.jpg)
・DMSスキーマ変換は、AWS Database Migration Service(DMS)内の機能で、データベースのスキーマをあるデータベースタイプから別のデータベースタイプ(OracleからPostgreSQL、Microsoft SQL ServerからAmazon Auroraなど)に自動的に変換することができます。
・既存のデータベーススキーマを評価し、自動的に変換できる範囲を推定します(通常は80~90%)。手動介入が必要な領域を特定します。
option 1 – Logical replication
![](https://www.hyperbilling.jp/wp-content/uploads/2024/02/pasted-image-0-4-4-1024x768.jpg)
・ソースデータベースログのデータ変更をターゲットデータベースに複製します。DMSはこれをEC2インフラストラクチャに設定します。
・レプリケーションインスタンスにはデータが永続的に保存されず、ソースとターゲット間の一時的なファネルとして機能します。
・データセット全体ではなく、データのサブセットを選択的に複製することができます。
・ターゲットデータベースの形式に一致するようにデータ変換を処理します。
・より柔軟性を提供しますが、EC2プロビジョニングにより複雑さが増します。
option 2- Serverless Architecture
![](https://www.hyperbilling.jp/wp-content/uploads/2024/02/pasted-image-0-5-4-1024x768.jpg)
・自動的にprovisioningとscailingを管理し、ダウンタイムに発生する最小限のデータ損失を保護します。
・EC2インスタンス管理が不要な自動化されたデータ移行アーキテクチャです。
・元のデータに基づいて最適なレプリケーションサーバーを自動的にプロビジョニングし、拡張・縮小します。
・顧客が最小・最大DMS容量単位を定義し、コストを管理します。
・多様なワークロードに対する適切なサイジング、可用性、拡張に関連する複雑さを軽減します。
・急増または断続的な移行スケジュールに適しています。
option 3- Homogeneous migration
![](https://www.hyperbilling.jp/wp-content/uploads/2024/02/pasted-image-0-6-3-1024x768.jpg)
・ソースデータベースとターゲットデータベースが同じタイプの場合(例えば、PostgreSQLからAmazon Aurora PostgreSQLへの移行)、移行が簡素化されました。
・内部的には基本的なデータベース移行ユーティリティを活用しますが、DMSが完全に管理します。
・接続、セキュリティ、IAMロール、VPC設定などの複雑なタスクを自動化します。
・複数のデータベースにわたる大規模なスクリプトによる移行を可能にします。
・同種の環境では不要なレプリケーション機能ではなく、自動化に重点を置いています。
・要約すると、DMSは、さまざまな移行シナリオと長所と短所を一致させるさまざまなアーキテクチャを提供します。
セッションを終えて
実戦で苦労して身につけたDMSの機能について、基本論的に振り返り、概念を整理することができる機会でした。
適用可能なオプションと考慮すべき性能について、より明確な機能を整理することができ、今後のDMSの性能改善とアップグレードのタイミングで、先に紹介されたmigration toolを活用できるかを検討し、より効率的にサービスを提供できるようにしたいと思います。