AWS Database Migration Service について
最終更新日:2026年8月12日
この記事でわかること
はじめに
データベースを移行しようとしたとき、まず新規のデータベースの構築、設定から入り、それからデータの移行を行っていきます。この時、移行元のデータベース(ソースデータベース)と移行先のデータベース(ターゲットデータベース)の種類が異なっているような場合には、移行先のデータベースに適合するよう定義の変換も行っていく必要があります。また、データベースを全件移行する場合、移行するデータ量も大きくなり、結果として移行プログラムもその分重くなることが予想されるため、移行プログラムが動作する専用の環境を用意する必要も想定されます。今回はこのようなデータベースの移行に適したサービス AWS Database Migration Service についてまとめます。
AWS Database Migration Service とは
AWS Database Migration Service (DMS) は、データベースのデータの移行に使用できるクラウドサービスです。より具体的には、レプリケーションソフトウェアを実行する環境を提供するサービスとなります。
ほとんどの商用データベースとオープンソースデータベース間のデータ移行で利用することができ※1、データの移行においてはデータベースエンジンの違いについて考慮する必要はありません。また、データベースの移行中においてもソースとなるデータベースは利用可能な状態に保つことができるため、データの移行を行うにあたって該当のデータベースを利用するアプリケーションを停止する、といった作業を実施する必要がありません。なお、AWS DMS の使用に関しては、ソースとターゲットのデータベースの内、最低でもどちらか一方が AWS のサービス上にある必要があります。(オンプレミスデータベースから別のオンプレミスデータベースへの移行はサポートされておりません。)
AWS DMS が活用できる場面
AWS DMS でどのようなことができるかまとめていきます。
データベースの移行
データベースのデータを AWS に移行する、というのが主な利用ケースとなります。移行するデータベースに関しては、同種のデータベース間(例:ソースとターゲットのデータベースエンジンが同じ、Oracle から Amazon RDS for Oracle、など)での移行はもちろん、異種のデータベース間(例:Oracle から Amazon Aurora、Microsoft SQL Server から MySQL、など)での移行も行うことができます。
なお、異種間での移行の場合は、ソースとターゲットのデータベース間で互換性が無いため、まず AWS Schema Conversion Tool※2 を使用してソースのスキーマとコードをターゲットデータベースのスキーマとコードに適合するように変換し、その後に AWS Database Migration Service を使用してソースデータベースからターゲットデータベースにデータを移行する、という手順を実施します。
データベースの統合
AWS DMS を使用することで、複数のソースデータベースを単一のターゲットデータベースに統合することができます。このデータベースの統合は、同種間および異種間でも行うことができます。
継続的なデータレプリケーション
AWS DMS では、継続的なデータレプリケーションを実行することができます。データベースエンジンは同種間と異種間両方のデータレプリケーションをサポートしており、単一のソースデータベースから複数のターゲットデータベースにデータをレプリケートしたり、複数のソースデータベースからのデータを統合して1つのターゲットデータベースにレプリケートすることも可能です。
AWS DMS の利用料金
【要注意】以下の料金表は2020年5月時点の情報です。
AWS DMS のレプリケーションインスタンスのラインナップ・料金は変更されている可能性があります。見積もりの際は、必ずAWS公式サイトで最新料金をご確認ください。
AWS DMS の料金は、主に「レプリケーションのインスタンスタイプ × 稼働時間」で決まります。以下に2020年5月時点の東京リージョンの料金についてまとめます。なお、データベースを Amazon Aurora、Amazon Redshift、 Amazon DynamoDB、または Amazon DocumentDB (MongoDB 互換) に移行する場合は、AWS DMS を無料で 6 か月間利用することができます(条件・対象は変更される場合があるため、最新情報はAWS公式サイトでご確認ください)。
レプリケーションインスタンス
レプリケーションインスタンスは以下のタイプを利用することができます。
- T2
ベースラインレベルの CPU パフォーマンスを維持しながら突発的な高パフォーマンスにも対応できる低コストでスタンダードなインスタンス - C4、R4
最高レベルのプロセッサパフォーマンスを備えており、高パフォーマンスの PPS (パケット毎秒) 数、低いネットワークジッター、低いネットワークレイテンシーを達成するように設計されたインスタンス(C4 はコンピューティング最適化、R4 はメモリ最適化)
※ T2 インスタンスは、データベース移行プロセスの開発やテスト、定期的なデータ移行タスクの実施に適しており、C4 または R4 インスタンスは、大規模なデータベースを移行する際に移行時間を最小限にしたいときに適しています。なお、インスタンスの世代・ラインナップはAWSのアップデートにより変わることがあるため、最新のインスタンスタイプはAWS公式サイトでご確認ください。
| インスタンスタイプ | 1時間あたりの料金 | 補足(スペック) |
|---|---|---|
| t2.micro | 0.028 USD | vCPU:1 メモリ:1 GiB |
| t2.small | 0.056 USD | vCPU:1 メモリ:2 GiB |
| t2.medium | 0.112 USD | vCPU:2 メモリ:4 GiB |
| t2.large | 0.224 USD | vCPU:2 メモリ:8 GiB |
| c4.large | 0.196 USD | vCPU:2 メモリ:3.75 GiB |
| c4.xlarge | 0.391 USD | vCPU:4 メモリ:7.5 GiB |
| c4.2xlarge | 0.783 USD | vCPU:8 メモリ:15 GiB |
| c4.4xlarge | 1.564 USD | vCPU:16 メモリ:30 GiB |
| r4.large | 0.250 USD | vCPU:2 メモリ:15.25 GiB |
| r4.xlarge | 0.500 USD | vCPU:4 メモリ:30.5 GiB |
| r4.2xlarge | 0.990 USD | vCPU:8 メモリ:61 GiB |
| r4.4xlarge | 1.980 USD | vCPU:16 メモリ:122 GiB |
| r4.8xlarge | 3.970 USD | vCPU:32 メモリ:244 GiB |
※上記は2020年5月時点の参考価格です。最新料金はAWS公式サイトでご確認ください。
追加のログストレージ
一時領域として利用されるレプリケーションストレージ(スワップ空間、レプリケーションログ、およびデータキャッシュ用)は、以下の料金を支払うことで拡張することができます※3。なお、ストレージには汎用SSD(gp2)が利用されます。
- 月額 1 GB あたり 0.138 USD
データ転送
ソースデータベースを、アベイラビリティーゾーンやリージョンの異なるターゲットデータベースや AWS 外のデータベースに移行する場合は、標準 AWS データ転送料金が必要となります。(AWS Database Migration Service へのデータ転送はすべて無料です。また、同じアベイラビリティーゾーン内の Amazon RDS や Amazon EC2 インスタンスのデータベースと AWS Database Migration Service との間のデータ転送も無料です。)
押さえておきたいポイント
- AWS DMS は、ソースとターゲットのどちらか一方が AWS のサービス上にあることが利用条件で、オンプレミス同士の移行には対応していません。また移行中もソースデータベースを止めずに使い続けられます。
- 異種データベース間の移行(例:Oracle から Amazon Aurora)では、先に AWS Schema Conversion Tool でスキーマ・コードを変換し、そのあと AWS DMS でデータを移行する2段階の流れになります。
- 料金はレプリケーションインスタンスのタイプと稼働時間で決まります。インスタンスのラインナップや料金は変更されることがあるため、見積もり時は必ずAWS公式サイトの最新情報を確認しましょう。
よくある質問
Q. AWS DMS で移行できないケースはありますか?
オンプレミス環境同士でのデータベース移行は AWS DMS の対象外です。ソースまたはターゲットのいずれか一方が AWS のサービス上にある構成である必要があります。
Q. 異なる種類のデータベース間(異種移行)でも使えますか?
使えます。例えば Oracle から Amazon Aurora へ、Microsoft SQL Server から MySQL へといった異種データベース間の移行にも対応しています。ただしソースとターゲットの間でスキーマやコードの互換性がないため、事前に AWS Schema Conversion Tool でソース側のスキーマ・コードをターゲット側の形式に変換しておく必要があります。
Q. 移行中に元のデータベースを止める必要がありますか?
不要です。AWS DMS はデータベースの移行中もソースデータベースを利用可能な状態に保てるため、移行作業のためにアプリケーションを停止する必要はありません。継続的なデータレプリケーション機能を使えば、移行後もソースとターゲットの同期を継続することもできます。
まとめ
AWS DMS についてまとめました。従来のデータベース移行は、重要な作業ではあるものの環境の構築や調整等でかかる時間や労力が多く、大変な作業でした。それに対して AWS DMS は、移行にかかるコストや労力を大幅にカットできる便利なサービスです。もしデータベースの移行方法について検討する機会があれば、有力な選択肢の一つとして AWS DMS の使用を検討してみても良いかもしれません。
<注釈>
※1 … サポートされているデータベースについて
AWS DMS は、Oracle、Microsoft SQL Server、MySQL、MariaDB、PostgreSQL、Db2 LUW、SAP、MongoDB、Amazon Aurora など幅広いデータベースに対応しています。
※2 … AWS Schema Conversion Tool とは
AWS Schema Conversion Tool は、ソースデータベースのスキーマやコードを自動的にターゲットデータベースの互換フォーマットに変換するツールです。AWS DMS に含まれているため、無料で使用することができます。なお、自動で変換できない場合は、手動で変換を行う必要がある箇所すべてに明示的なマークが付けられます。
※3 … 追加のログストレージについて
T2には 50 GB の GP2 ネットワーク接続ストレージが、C4やR4には 100 GB の GP2 ネットワーク接続ストレージが含まれています。ここからさらにストレージを拡張する場合に、追加で必要な料金を記載しております。
▼ アクロビジョンについて


