【新機能】AWS DMSでMulti-AZと継続的レプリケーションをサポートしました

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ウィスキー、シガー、パイプをこよなく愛する大栗です。

昨日DMSのアップデートが大量に有ったのですが、特に気になったMulti-AZ構成と継続的レプリケーションのサポートについてご紹介したいと思います。

AWS Database Migration Service now supports continuous data replication with high-availability, enables SSL endpoints, and adds support for SAP ASE (formerly SAP Sybase ASE)

サマリ

DMSの大きな機能として、ワンタイムデータ移行、継続的データレプリケーションの2機能があります。DBデータの『移行』を目的としているので『長期間の』継続的データレプリケーションはサポートされていませんでした。DMSのMulti-AZの高可用性構成がサポートされたことにより、長期間の継続的データレプリケーションが正式にサポートされるようになりました。

実際にMulti-AZ構成を試す

DMSの利用方法の詳細は、以下の過去エントリーを参照ください。

AWS Database Migration Serviceを試してみた

過去エントリーの Replication Instance作成 で、以前と比べると Multi-AZ の項目が増えていますのでYesとします。それ以外は以前と同様に設定します。

Database_Migration_Service

また、Advanced でSecurity Groupの設定が増えています。

Database_Migration_Service

Replication Instanceが起動するとIPアドレスが2個設定されます。

Database_Migration_Service

Endpointを作成します。今回はソース、ターゲットともにRDS for MySQLを使用しました。 同期元となるSourceを作成します。 Database_Migration_Service

同期先となるTargetを作成します。

Database_Migration_Service

なお、RDS for MySQLをソースとする場合には、パラメータグループの設定内容を標準からする必要があります。

項目 設定値
binlog_format row
binlog_checksum none

Using a MySQL-Compatible Database as a Source for AWS Database Migration Service

ではTaskを作成して実行してみます。

Database_Migration_Service

ソースのDBでテーブルを作成します。

mysql> create table tbl01(id int, name varchar(20));
Query OK, 0 rows affected (0.02 sec)

ターゲットのDBでテーブルを確認します。

mysql> show tables ;
+----------------+
| Tables_in_mydb |
+----------------+
| tbl01          |
+----------------+
1 row in set (0.00 sec)

ソースのDBでレコードを挿入します。

mysql> insert into tbl01 (id, name) values (1, "name1");
Query OK, 1 row affected (0.01 sec)

mysql> select * from tbl01;
+------+-------+
| id   | name  |
+------+-------+
|    1 | name1 |
+------+-------+
1 row in set (0.01 sec)

ターゲットのDBでテーブルを確認します。

mysql> select * from tbl01;
+------+-------+
| id   | name  |
+------+-------+
|    1 | name1 |
+------+-------+
1 row in set (0.01 sec)

普通にデータがレプリケーションされます。今までのDMSと同じ使用感です。

最後に

今までと同様の使用方法でそのままMulti-AZ構成となります。一回の移行のためにDMSを使用する(データ移行がリトライできる)場合は今まで通りSingle-AZ構成でも良いと思いますが、データ移行のリトライが難しい場面や長期的なレプリケーションを行う場面ではMulti-AZ構成は必須と思われます。必要な場面でMulti-AZ構成を活用しましょう。

補足

今回DMSではMulti-AZ以外のアップデートも行われていますので、少しご紹介します。

Schema Conversion Tooに大きなアップデートがされているので検証記事が欲しいですね。