AWS Database Migration Serviceとは

AWS Database Migration Service (DMS)」は、データベースをAWS上へすばやく安全に移行できるサービスです。

AWS Database Migration Serviceの特徴

DMSには以下のような特徴があります。

⏱️ ダウンタイムなしで移行できる

一般的なデータベースの移行は、データサイズに比例して数日〜数週間データベースを停止して移行作業にあたることが多くあります。

DMSは元のデータベースを停止することなく移行を開始することができます。また移行後も任意の期間、移行前のデータベースと移行後のデータベースを同期しておけるため、任意のタイミングで切り替えできます。

例えば、ホスティングサーバーで公開しているWordPressサイトを稼働させつつ、そのデータベースをDMSでAWS上に移行し、サイトをダウンタイムなしで移行するといったことも可能です。

📀 多数のデータベースに対応

Oracle、Microsoft SQL Server、MySQL、MariaDB、PostgreSQL、MongoDB、SAP ASE、etc

DMSは以上のような一般普及しているデータベースをサポートしています。OracleからOracleへなど同種移行のほか、OracleからPostgreSQLへの異種移行もサポートしています。

データベースの異種移行が容易になると、利用できるシステムの選択肢が広がります。

例えば社内システムの移行を検討する際、良いシステムであってもデータベースの違いだけで見送ることがあります。データベースの異種移行は膨大な作業コストが発生するためです。データベースの異種移行のコストが減ればシステム移行の選択肢も広がります。

💰 低コスト

DMSは初期費用なく初められ、移行にかかった時間の分だけの従量課金です。公式には1TBの移行で$3と言われていますが、料金について例をふまえて詳しく後述します。

AWS Database Migration Serviceの料金

DMSは「インスタンスの種類 x 稼働時間」という料金体系です。
2018年8月現在のDMSの公式価格

AWSではない他社で稼働中のデータベースから、DMSを通してAWS上のデータベースへ移行する流れで、以下のシーンを仮定して料金を計算してみます。

移行するデータベース容量300GB
データベースからAWSへの転送速度50Mbps
利用するDMSインスタンスt2.small
転送速度のMbpsをMBに直す : 50Mbps ÷ 8 = 6.25MB
転送にかかる時間 : 300,000MB ÷ 6.25 = 48,000秒 (13.3時間)
稼働料金 : 0.056USD x 13.3 = 0.75USD

転送速度の都合、時間こそかかりますが料金は$1かからないと試算できました。1TBで$3とうたわれているのも事実に思えます。

なおこの料金はデータベースだけの移行料金のためのDMSの費用です。移行後のEC2やRDSの費用は別途かかります。

さいごに

今回は AWS Database Migration Service の特徴から料金についてご紹介しました。

データベース移行は地味な作業ですがその割に労力は高く、システムインテグレーションの業務にも頻繁に上がる項目です。その移行作業が快適になれば開発スピードやコストの面で大きいメリットがあります。 基本的にインフラ開発をする人のためのサービスですが、データベース移行にDMSのような選択肢があることも参考にしていただければ幸いです。