我想在特定的时间间隔内自动执行 AWS Database Migration Service (AWS DMS) 任务。或者,我想自动启动和停止 DMS 任务。
解决方法
要在特定时间间隔内自动执行 AWS DMS 任务,请使用 Amazon EventBridge 规则启动任务。
要使用 EventBridge 规则自动执行 DMS 任务,请完成以下步骤:
- 创建 DMS 任务。或者,如果您已有 DMS 任务,请根据任务状态修改 EventBridge 规则。
- 打开 EventBridge 控制台。
- 在导航窗格中,选择 Schedules(计划),然后选择 Create schedule(创建计划)。
- 在 Specify schedule detail(指定计划详细信息)页面上,输入您的计划的以下详细信息:
对于 Schedule Name and Description(计划名称和描述),输入您的信息。
对于 Schedule group(计划组),选择 Default(默认)。
对于 Schedule pattern(计划模式),选择 One time(一次性)或 Recurring(定期)。
- 选择 Next(下一步)。
- 在 Target detail(目标详细信息)下,对于 Target API(目标 API),选择 All APIs(所有 API)。
- 在 All AWS services(所有 AWS 服务)字段中,输入 AWS Database Migration(AWS 数据库迁移)。当出现 AWS Database Migration(AWS 数据库迁移)选项时,将其选中。
- 在 Find API(查找 API)字段中,输入 StartReplicationTask。当出现 StartReplicationTask 选项时,将其选中。
- 对于 JSON 输入,请提供您的 DMS 任务 ARN。对于 StartReplicationTaskType,输入 resume-processing。有关详细信息,请参阅 StartReplicationTask。
**注意:**当迁移类型为 full-load 或 full-load-and-cdc 时,首次运行任务的唯一值是 start-replication。此选项开始迁移。
- 对于 Retry policy(重试策略)、DLQ 和 Encryption(加密),请根据您的要求更新这些值。
- 选择 Next(下一步)。
- 对于 Permissions(权限),附加拥有运行计划和启动 DMS 任务的权限的 AWS Identity and Access Management (IAM) 角色。然后,选择 Next(下一步)。
IAM 策略信任关系示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"scheduler.amazonaws.com",
"apidestinations.events.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
以下示例策略提供完整的 DMS 访问权限。根据您的要求配置您的访问权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "dms:*",
"Resource": "*"
}
]
}
- 选择 Create schedule(创建计划)。
您可以使用 Amazon CloudWatch 或 AWS CloudTrail 监控 EventBridge 规则。
相关信息
自动执行 AWS DMS 迁移任务
使用 AWS DMS 自动进行数据库迁移和刷新活动
处理 AWS DMS 任务