自由気ままに書いちゃおう

好きなことをつらつらと・・・

【AWS】移行サービスについて(①DMS)

今回はAWSが用意している移行時に使えるサービスについてです。

■はじめに

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

f:id:guri2o1667:20210810131740p:plain

■データベースにおけるレプリケーション方式の違いについて

データベースをレプリケーションする際、
「物理レプリケーション」
「論理レプリケーション」
と呼ばれる方式があります。

■物理レプリケーション

ソース側のトランザクションログをそのままターゲット側に転送し、
データベースでトランザクションログを認識させます。

連携単位はデータベース単位です。
ただし、ターゲット側でトランザクションログを上手くロードするためには、
ソース/ターゲットで同じデータベース、バージョンを利用することが多いです。

■論理レプリケーション

ソース側のトランザクションログから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

f:id:guri2o1667:20210810132614p:plain

1.レプリケーションインスタンス
  データレプリケーションを実行するためのEC2インスタンスです。

2.エンドポイント(ソース、ターゲット)
  データベースの接続情報を持つソースエンドポイントとターゲットエンドポイントです。

3.レプリケーションタスク
  ソース/ターゲット間でのデータ移行の際、タスクとして管理します。

■DMSによるデータレプリケーション対象

テーブルと一部制約(プライマリキー等)がレプリケーション対象です。
そのため、インデックスやプロシージャはターゲット側で手動反映する必要があります。

■DMSによるレプリケーションタスク(移行タイプオプション)

レプリケーションタスクはレプリケーション方法のことです。
DMSを利用する場合、3つのレプリケーションタスク(=移行タイプオプション)が選択できます。

1.全ロード(既存データの移行)
2.データ変更のみレプリケート(Change Data Capture)
3.全ロード+CDC

参照元:AWS DMS のコンポーネント - AWSDatabase Migration Service

f:id:guri2o1667:20210810141524p:plain

 

■② AWS Schema Conversion Tool(SCT)

AWS Schema Conversion Tool とは - AWS Schema Conversion Tool


SCTを利用することでスキーマ変換を行うことができます。
DMSを利用する中で、SCTも一緒に使いデータベース移行を実現します。



以上です。