在中使用 Amazon SNS 事件和通知Amazon Database Migration Service - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在中使用 Amazon SNS 事件和通知Amazon Database Migration Service

从发布开始Amazon DMS3.4.6 并且对于更高版本,建议您使用 Amazon EventBridge 以便在Amazon DMS事件发生。有关如何使用的更多信息 EventBridge 活动Amazon DMS,请参阅使用 Amazon EventBridge 中的事件和通知Amazon Database Migration Service.

Amazon DMS3.4.5 及更早版本支持处理事件和通知,如下所述。

AmazonDatabase Migration Service (AmazonDMS) 可以使用 Amazon Simple Notification Service (Amazon SNS) 在Amazon发生 DMS 事件,例如,创建或删除复制实例。您可以以 Amazon SNS 支持的任何形式处理这些通知,以获取Amazon区域,如电子邮件、短信或者调用 HTTP 终端节点。

AmazonDMS 将事件分组为您可以订阅的类型,以便您在出现该类事件时收到通知。例如,如果您订阅了指定复制实例的“创建”类别,则只要发生了与创建相关的事件影响到您的复制实例,您就会收到通知。如果您订阅了复制实例的“配置更改”类别,则您将在复制实例的配置更改时收到通知。您还将在事件通知订阅更改时收到通知。有关提供的事件类别的列表AmazonDMS,请参阅AmazonSNS 通知的 DMS 事件类别和事件消息,以下。

AmazonDMS 将事件通知发送到您在创建事件订阅时提供的地址。您可能希望创建多个不同的订阅,如使用一个订阅接收所有事件通知,并使用另一个订阅接收仅针对生产 DMS 资源的关键事件。您可以通过取消选择Enabled (已启用)中的选项AmazonDMS 控制台,或者通过设置Enabled参数到假的使用AmazonDMS API。

注意

Amazon目前,使用 SMS 文本消息的 DMS 事件通知可用于Amazon总而言之,DMS 资源Amazon支持 Amazon SNS 的地区。有关列表AmazonAmazon SNS 支持 SMS 消息收发的区域和国家,请参阅。支持的区域和国家/地区.

有关在 SNS 上使用文本消息的更多信息,请参阅使用 Amazon SNS 发送和接收 SMS 通知

Amazon DMS事件通知与 CloudTrail 中的事件 CloudWatch 或 EventBridge。 CloudTrail 事件通知可以通过任何 API 调用生成。只有在发生 DMS 事件时,DMS 才会发送通知。

AmazonDMS 使用订阅标识符来标识各个订阅。您可以拥有多个AmazonDMS 事件订阅已发布到同一个 Amazon SNS 主题。在您使用事件通知时,需要支付 Amazon SNS 费用;有关 Amazon SNS 计费的更多信息,请参阅Amazon SNS 定价.

订阅AmazonAmazon SNS 使用 DMS 事件,请使用以下过程:

  1. 创建 Amazon SNS 主题。在主题中,指定您要接收的通知类型,以及要将通知发送到的地址或号码。

  2. 创建Amazon使用 DMS 事件通知订阅Amazon Web Services Management Console、Amazon CLI,或者AmazonDMS API。

  3. AmazonDMS 发送批准电子邮件或者 SMS 消息给您在订阅时提交的地址。要确认订阅,请单击批准电子邮件或 SMS 消息中的链接。

  4. 在确认订阅后,会在AmazonDMS 控制台事件订阅部分。

  5. 您将开始接收事件通知。

有关您可以接收通知的类型和事件的列表,请参阅下面的章节。有关订阅和使用的更多详情AmazonDMS 事件订阅,请参阅订阅Amazon使用 SNS 的 DMS 事件通知.

AmazonSNS 通知的 DMS 事件类别和事件消息

重要

从发布开始Amazon DMS3.4.6 并且对于更高版本,建议您使用 Amazon EventBridge 以便在Amazon DMS事件发生。有关如何使用的更多信息 EventBridge 活动Amazon DMS,请参阅使用 Amazon EventBridge 中的事件和通知Amazon Database Migration Service.

AmazonDMS 会在各种类型中生成许多事件,您可以使用AmazonDMS 控制台或AmazonDMS API。每个类别都适用于源类型;当前AmazonDMS 支持复制实例和复制任务源类型。

下表显示了复制实例源类型可能的类别和事件。

类别

DMS 事件 ID

描述

配置更改 DMS-EVENT-0012

正在更改此复制实例的复制实例类。

配置更改 DMS-EVENT-0014

已更改此复制实例的复制实例类。

配置更改 DMS-EVENT-0018

正在增加复制实例的存储。

配置更改 DMS-EVENT-0017

已增加复制实例的存储。

配置更改 DMS-EVENT-0024

正在将复制实例转换为多可用区配置。

配置更改 DMS-EVENT-0025

复制实例将复制实例转换为多可用区配置已完成。

配置更改 DMS-EVENT-0030

正在将复制实例转换为单可用区配置。

配置更改 DMS-EVENT-0029

复制实例已完成向单可用区配置的转换。

创建 DMS-EVENT-0067

正在创建复制实例。

创建 DMS-EVENT-0005

创建复制实例。

删除 DMS-EVENT-0066

正在删除复制实例。

删除 DMS-EVENT-0003

复制实例已删除。

维护 DMS-EVENT-0047 已更新复制实例上的管理软件。
维护 DMS-EVENT-0026 正在对复制实例进行脱机维护。复制实例当前不可用。
维护 DMS-EVENT-0027 复制实例的脱机维护已完成。现在可以使用复制实例。
维护 DMS-EVENT-0068 复制实例处于无法升级的状态。
LowStorage DMS-EVENT-0007 复制实例的免费存储不足。
故障转移 DMS-EVENT-0013 多可用区复制实例的故障转移已开始。
故障转移 DMS-EVENT-0049 多可用区复制实例的故障转移已完成。
故障转移 DMS-EVENT-0015 多可用区故障转移到备用已完成。
故障转移 DMS-EVENT-0050 多可用区激活已开始。
故障转移 DMS-EVENT-0051 多可用区激活已完成。
故障转移 DMS-EVENT-0034 如果过于频繁地请求故障转移,则会发生此事件而不是常规故障转移事
失败 DMS-EVENT-0031 复制实例遇到了存储故障。
失败 DMS-EVENT-0036 由于不兼容的网络,复制实例失败。
失败 DMS-EVENT-0037 该服务无法访问Amazon KMS用于加密数据卷的密钥。

下表显示了复制任务源类型可能的类别和事件。

类别

DMS 事件 ID

描述

状态更改 DMS-EVENT-0069

复制任务已开始。

状态更改 DMS-EVENT-0081

已要求重新载入表详细信息。

状态更改 DMS-EVENT-0079

复制任务已停止。

状态更改 DMS-EVENT-0091 已暂停阅读,已达到交换文件限制。
状态更改 DMS-EVENT-0092 读取已暂停,已达到磁盘使用限制。
状态更改 DMS-EVENT-0093 阅读恢复。
失败 DMS-EVENT-0078

复制任务已失败。

失败 DMS-EVENT-0082

调用删除任务未能清理任务数据。

配置更改 DMS-EVENT-0080 复制任务已修改。
删除 DMS-EVENT-0073

复制任务已删除。

创建 DMS-EVENT-0074 复制任务已创建。

以下示例显示了Amazon DMS“状态更改” 类别的活动订阅。

Resources: DMSEvent: Type: AWS::DMS::EventSubscription Properties: Enabled: true EventCategories: State Change SnsTopicArn: arn:aws:sns:us-east-1:123456789:testSNS SourceIds: [] SourceType: replication-task

订阅Amazon使用 SNS 的 DMS 事件通知

重要

从发布开始Amazon DMS3.4.6 并且对于更高版本,建议您使用 Amazon EventBridge 以便在Amazon DMS事件发生。有关如何使用的更多信息 EventBridge 活动Amazon DMS,请参阅使用 Amazon EventBridge 中的事件和通知Amazon Database Migration Service.

您可以创建 Amazon DMS 事件通知订阅,这样就能在发生 Amazon DMS 事件时收到通知。创建订阅最简单的方式是使用 Amazon DMS 控制台。在通知订阅中,您可以选择发送通知的方式和位置。您可以指定希望收取其通知的源类型;当前Amazon DMS支持复制实例和复制任务源类型。此外,根据选定源类型的情况,选择事件类别并确定您希望接收其事件通知的源。

使用 Amazon Web Services Management Console

重要

从发布开始Amazon DMS3.4.6 并且对于更高版本,建议您使用 Amazon EventBridge 以便在Amazon DMS事件发生。有关如何使用的更多信息 EventBridge 活动Amazon DMS,请参阅使用 Amazon EventBridge 中的事件和通知Amazon Database Migration Service.

订阅Amazon使用控制台通知 Amazon SNS 的 DMS 事件通知

  1. 登录到Amazon Web Services Management Console打开Amazon DMS控制台在https://console.aws.amazon.com/dms/v2/.

    如果以 IAM 用户身份登录,请确保具有适当的访问权限。Amazon DMS.

  2. 在导航窗格中,选择事件订阅

  3. 在存储库的事件订阅页面上,选择创建事件订阅.

  4. 在存储库的创建事件订阅页面上,执行以下操作:

    1. UDER详细信息,对于名称中,输入事件通知订阅的名称。

    2. 选择Enabled (已启用)启用订阅。如果要创建订阅但尚未发送通知,请不要选择Enabled (已启用).

    3. UDER目标,选择任何一种现有主题创建新电子邮件主题要么创建新的短信主题以发送通知。请确保具有一个可将通知发送到的现有 Amazon SNS 主题,否则可创建主题。如果创建主题,您可以输入将通知发送到的电子邮件地址。

    4. UDER事件源,对于源类型,请选择一种源类型。唯一的选择是复制实例复制任务.

    5. 根据选定源类型的情况,选择您希望接收其事件通知的事件类别和源。

      
                                   控制台创建事件订阅
    6. Select创建事件订阅.

这些区域有:AmazonDMS 控制台会表明正在创建订阅。

注意

您还 Amazon SNS 以使用Amazon DMSAPI 和 CLI。有关更多信息,请参阅 。CreateEventSubscription中的Amazon DMSAPI 参考create-event-subscription中的Amazon DMSCLI 参考文档中)。

验证 SNS 主题的访问策略

您的 SNS 访问策略需要允许的权限Amazon DMS将事件发布到您的 SNS 主题。您可以按以下过程中所述验证和更新您的访问策略。

验证访问策略

  1. 打开 Amazon SNS 控制台

  2. 在导航面板中,选择主题然后选择要接收 DMS 通知的主题。

  3. 选择访问策略选项卡。

如果 SNS 访问策略不允许,则可以更新策略Amazon DMS将事件发布到您的 SNS 主题。

更新访问策略

  1. 详细信息主题页面的部分,选择编辑.

  2. 展开访问策略将以下策略附加到 JSON 编辑器中。

    { "Sid": "dms-allow-publish", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sns:Publish", "Resource": "your-SNS-topic-ARN" }

    我们建议您进一步限制对 SNS 主题的访问,方法是指定aws:SourceArn状况,这是 DMS EventSubscription Arn 向主题发布活动。

    ... "Resource": "your-SNS-topic-ARN" "Condition": { "StringEquals": { "aws:SourceArn": "arn:partition:dms:your-AWS-region:your-AWS-account-ID:es:your-dms-es-arn or *" }
  3. 选择 Save changes(保存更改)。