今回はAWSが用意している移行時に使えるサービスについてです。
- ■はじめに
- ■移行サービスの全体像
- ■データベースにおけるレプリケーション方式の違いについて
- ■① AWS Database Migration Service(DMS)
- ■② AWS Schema Conversion Tool(SCT)
■はじめに
AWSでは以下のサービスを使ってデータ移行をサポートしています。
① AWS Database Migration Service(DMS)、AWS Schema Conversion Tool(SCT)
② AWS Server Migration Service(SMS)
③ AWS Application Migration Service(MGN)
④ AWS Application Discovery Service(ADS)
⑤ AWS Migration Hub
⑥ VM Import/Export
⑦ AWS SnowFamily
尚、本記事では上記①を取り上げております。
②~⑦は別の記事で書けたらいいなって感じです。
■移行サービスの全体像
各フェーズで利用できる/されるサービスは以下の通りです。
参照元:
https://d1.awsstatic.com/webinars/jp/pdf/services/20210216_Blackbelt_DatabaseMigrationService.pdf
■データベースにおけるレプリケーション方式の違いについて
データベースをレプリケーションする際、
「物理レプリケーション」
「論理レプリケーション」
と呼ばれる方式があります。
■物理レプリケーション
ソース側のトランザクションログをそのままターゲット側に転送し、
データベースでトランザクションログを認識させます。
連携単位はデータベース単位です。
ただし、ターゲット側でトランザクションログを上手くロードするためには、
ソース/ターゲットで同じデータベース、バージョンを利用することが多いです。
■論理レプリケーション
ソース側のトランザクションログからDMLを生成し、ターゲットに適用します。
トランザクションログそのものを使うのではなく、一度DMLに変換しターゲットに適用(更新)します。
そのため、連携単位はテーブル単位となり、場合によってはレプリケーションできないデータが出てくる可能性があります。
ちなみにDMSは論理レプリケーションを利用し、データベース移行を行います。
■① AWS Database Migration Service(DMS)
AWS Database Migration Service(最小限のダウンタイムでデータベースを移行)| AWS
AWS Database Migration Service とは - AWSDatabase Migration Service
データベースの移行を支援してくれるサービスです。
■対応製品
同種/異種データベース間での移行を支援してくれます。
また、RDMSだけではなくNoSQLやデータウェアハウス製品の移行にも対応しております。
尚、移行元(ソース)と移行先(ターゲット)で選択できるデータベース製品が異なりますが
Oracle、MySQL、PostgreSQL、MariaDB、SQLServer、MongoDBなどのよく利用されるデータベースについてはサポートされております。
詳細:
AWS DMS のソース - AWSDatabase Migration Service
AWS DMS のターゲット - AWSDatabase Migration Service
■DMSの構成要素
DMSは3つの構成要素で成り立っています。
参照元:
AWS Database Migration Service とは - AWSDatabase Migration Service
AWS DMS のコンポーネント - AWSDatabase Migration Service
1.レプリケーションインスタンス
データレプリケーションを実行するためのEC2インスタンスです。
2.エンドポイント(ソース、ターゲット)
データベースの接続情報を持つソースエンドポイントとターゲットエンドポイントです。
3.レプリケーションタスク
ソース/ターゲット間でのデータ移行の際、タスクとして管理します。
■DMSによるデータレプリケーション対象
テーブルと一部制約(プライマリキー等)がレプリケーション対象です。
そのため、インデックスやプロシージャはターゲット側で手動反映する必要があります。
■DMSによるレプリケーションタスク(移行タイプオプション)
レプリケーションタスクはレプリケーション方法のことです。
DMSを利用する場合、3つのレプリケーションタスク(=移行タイプオプション)が選択できます。
1.全ロード(既存データの移行)
2.データ変更のみレプリケート(Change Data Capture)
3.全ロード+CDC
参照元:AWS DMS のコンポーネント - AWSDatabase Migration Service
■② AWS Schema Conversion Tool(SCT)
AWS Schema Conversion Tool とは - AWS Schema Conversion Tool
SCTを利用することでスキーマ変換を行うことができます。
DMSを利用する中で、SCTも一緒に使いデータベース移行を実現します。
以上です。