1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS Data Migration Serviceでは同一構成のDBを複製できない

Posted at

AWS Data Migration Serviceとは

データベースを短期間で安全に移行できるAWSのサービスで、移行中でもソースデータベースは完全に利用可能な状態に保たれ、データベースを利用するアプリケーションのダウンタイムを最小限に抑えられるのが特長。一般に普及している商用またはオープンソースのデータベース間の移行が可能で、Microsoft SQL から Amazon Aurora といった異なるデータベースプラットフォーム間の移行もサポートしている。さらにAmazon Redshift と Amazon S3 にデータをストリーミングすることで、データベースをペタバイト規模のデータウェアハウスに統合することもできる。
レプリケーション(複製)元となるDBやスキーマ、テーブルを「ソース」、レプリケーション先のことをターゲットと呼ぶ。
image.png

AWS DMSではできないこと

大規模な移行プロジェクトでも使用可能だが、比較的日常のユースケースだと、既存のテスト環境で再現が困難かつ複雑なバグの調査等の為に本番スキーマを同一構成で複製したいというのがある。
しかし実際使ってみると、原理はともかく下記の制約があり使い勝手がいまいちという感が否めなかったりする。
image.png

  1. DMSで作成されるオブジェクトはテーブルと主キー等の一部の制約のみ
  2. インデックスやプロシージャ、ビューは(レプリケーション後に)ターゲット側で手動で反映する必要がある
  3. DR(ディザスタリカバリ)のような同一構成を維持する必要がある場合、ソース、ターゲット両方のDBにオブジェクトを作成する必要がある

特に手動とはいえインデックスを作成するのに地味に手間と時間がかかる為、自動化して欲しかったところ。

その他惜しい点

移行タスクというのは、基本的に一時的なものでサービスのように常時行う必要はない。
一方でレプリケーションインスタンスは起動中ずっと料金が発生してしまう点に注意して欲しい。
タスクの実行中のみ課金される親切設計なら尚良かったが流石に求め過ぎか。

参考

AWS Database Migration Service
AWS Database Migration Service のベストプラクティス
【AWS Black Belt Online Seminar】AWS Database Migration Service

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?