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

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

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

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

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

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

注意

Amazon目前,使用 SMS 短信的 DMS 事件通知可用于Amazon所有 DMS 资源Amazon支持 Amazon SNS 的地区。有关列表AmazonAmazon SNS 支持 SMS 消息传递的地区和国家/地区,请参阅支持的区域和国家/地区

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

Amazon DMS事件通知与云监视或 EventBridge 中的 CloudTrail 事件不同。任何 API 调用都可以生成 CloudTrail 事件通知。DMS 仅在 DMS 事件发生时发送通知。

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

订阅AmazonDMS 事件,您可以使用以下过程:

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

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

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

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

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

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

AmazonDMS 事件类别和事件消息

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

复制实例已完成为单可用区配置已完成。

Creation DMS-EVENT-0067

正在创建复制实例。

Creation DMS-EVENT-0005

创建复制实例。

Deletion DMS-EVENT-0066

正在删除复制实例。

Deletion DMS-EVENT-0003

删除复制实例。

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

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

类别

DMS 事件 ID

描述

状态更改 DMS-EVENT-0069

复制任务已开始。

状态更改 DMS 事件-0081

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

状态更改 事件-0079

复制任务已停止。

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

复制任务已失败。

失败 事件-0082

要删除任务的调用无法清理任务数据。

配置更改 事件-0080 复制任务已修改。
Deletion DMS-EVENT-0073

复制任务已删除。

Creation 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

订阅AmazonDMS 事件通知

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

使用 Amazon Web Services Management Console

订阅AmazonDMS 事件通知使用控制台

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

    如果您以Amazon Identity and Access Management(IAM) 用户,请确保您具有适当的访问权限。Amazon DMS。

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

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

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

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

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

    3. UDER目标中,选择现有主题创建新的电子邮件主题或者创建新的 SMS 主题发送通知。确保您具有一个可将通知发送到或创建主题的现有 Amazon SNS 主题。如果创建主题,您可以输入一个将通知发送到的电子邮件地址。

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

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

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

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

使用AmazonDMS API 和 CLI

如果您选择使用AmazonDMS API,您必须创建 Amazon SNS 主题,并使用 Amazon SNS 控制台或 API 订阅该主题。在这种情况下,您还需要记下主题的 Amazon 资源名称 (ARN),因为在提交 CLI 命令或者 API 操作时会用到此 ARN。有关创建和订阅 Amazon SNS 主题的信息,请参阅Amazon SNS 入门

在使用Amazon DMSAPI 或 CLI,您可以指定希望收取其通知的源类型,并且Amazon DMS源触发事件。定义源的类型,方法是指定源类型值。您可以定义生成事件的源,方法是指定源标识符值。

以下create-event-subscription示例显示了使用Amazon CLI。

aws dms create-event-subscription \ --subscription-name string \ --sns-topic-arn string \ [--source-type string] \ [--event-categories string] \ [--source-ids string] \ [--enabled | --no-enabled] \ [--tags string] \ [--cli-input-json string] \ [--generate-cli-skeleton string]

订阅Amazon DMS事件通知Amazon DMSAPI 调用CreateEventSubscriptionoperation. 下面提供了一个请求语法示例CreateEventSubscriptionAPI 操作。

{ "Enabled": boolean, "EventCategories": [ "string" ], "SnsTopicArn": "string", "SourceIds": [ "string" ], "SourceType": "string", "SubscriptionName": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }