AWS DMS Troubleshooting

To Nha Notes | Jan. 10, 2023, 8:38 p.m.

AWS DMS does not create CloudWatch logs

If your replication task doesn't create CloudWatch logs, make sure that your account has the dms-cloudwatch-logs-role role. If this role is not present, do the following to create it:

 

  1. Sign in to the AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam/.

  2. Choose the Roles tab. Choose Create role.

  3. In the Select type of trusted entity section, choose AWS service.

  4. In the Choose a use case section, choose DMS.

  5. Choose Next: Permissions.

  6. Enter AmazonDMSCloudWatchLogsRole in the search field, and check the box next to AmazonDMSCloudWatchLogsRole. This grants AWS DMS permissions to access CloudWatch.

  7. Choose Next: Tags.

  8. Choose Next: Review.

  9. Enter dms-cloudwatch-logs-role for Role name. This name is case sensitive.

  10. Choose Create role.

 

[SOURCE_CAPTURE ]E: Error 'Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation' reading binlog events [1020403] (mysql_endpoint_capture.c:612)

To fix this issue, we need to add extra grants to mysql dms account as below.

GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'dms_user'@'%';

 PRIVILEGES;

All MySQL grants required for DMS source mysql account:

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'dms_user'@'%';
GRANT SELECT, SHOW VIEW ON `dms_db`.* TO 'dms_user'@'%';

References

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.General.CWL

https://repost.aws/knowledge-center/manage-cloudwatch-logs-dms

https://repost.aws/knowledge-center/dms-cloudwatch-logs-not-appearing