はじめに
AWS DMS で既存のタスクと同一の設定を持つ別のタスクを作成したい場合には、AWS CLI を使うと容易に複製することが出来ます。
手順
既存タスクの設定を input.json に書き出します。
$ DMS_TASK_NAME=TEST
$ aws dms describe-replication-tasks --filters "Name=replication-task-id,Values=${DMS_TASK_NAME}" --query "ReplicationTasks[0].{SourceEndpointArn: SourceEndpointArn, ReplicationTaskIdentifier: ReplicationTaskIdentifier, ReplicationInstanceArn: ReplicationInstanceArn, TableMappings: TableMappings, MigrationType: MigrationType, TargetEndpointArn: TargetEndpointArn, ReplicationTaskSettings: ReplicationTaskSettings}" > input.json
書き出した input.json の ReplicationTaskIdentifier の値を既存タスクと重複しないよう変更します。以下の例では "TEST" を別の文字列に変更します。
input.json
{
"SourceEndpointArn": "arn:aws:dms:ap-northeast-1:xxxxxxxxxxxx:endpoint:XXXXXXXXXXXXXXXXXXXXXXXXXX",
"ReplicationTaskIdentifier": "TEST",
"ReplicationInstanceArn": "arn:aws:dms:ap-northeast-1:xxxxxxxxxxxx:rep:XXXXXXXXXXXXXXXXXXXXXXXXXX",
"TableMappings": ...
...
そして input.json を引数として、新規タスクを作成します。
$ aws dms create-replication-task --cli-input-json file://input.json