在中处理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.

将活动订阅转移到亚马逊 EventBridge

您可以使用以下命令Amazon CLI命令将活跃事件订阅从 DMS 迁移到亚马逊 EventBridge,一次最多 10 个。

update-subscriptions-to-event-bridge [--force-move | --no-force-move]

默认情况下,Amazon DMS仅当您的复制实例为最新版本时才迁移活动事件订阅Amazon DMS3.4.6 及更高版本。要覆盖此默认行为,请使用--force-move选项。但是,某些类型的活动可能无法通过使用亚马逊进行 EventBridge 如果您的复制实例未升级。

运行update-subscriptions-to-event-bridgeCLI 命令Amazon Identity and Access Management(IAM) 用户必须具有以下策略权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "SNS:GetTopicAttributes", "SNS:SetTopicAttributes", "events:PutTargets", "events:EnableRule", "events:PutRule" ], "Resource": "*" } ] }

有关将订阅移至 EventBridge,请参阅UpdateSubscriptionsToEventBridge在里面Amazon Database Migration ServiceAPI 参考.

处理Amazon SNS 事件和通知

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

AmazonDatabase Migration Service ratAmazonDMS) 可以在出现以下情况时使用亚马逊Simple Notification Service (Amazon SNS) 提供通知Amazon发生 DMS 事件,例如创建或删除复制实例。您可以使用 Amazon SNS 支持的任何形式的这些通知Amazon区域,例如电子邮件、文本消息或调用 HTTP 终端节点。

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

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

注意

Amazon对于 DMS 事件通知,目前提供使用 DMS 事件通知Amazon所有的 DMS 资源Amazon支持Amazon SNS 的地区。有关以下内容的清单AmazonAmazon SNS 支持 SMS 消息的地区和国家,请参阅支持的地区和国家.

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

Amazon DMS事件通知不同于 CloudTrail 中的事件 CloudWatch 要么 EventBridge. CloudTrail 事件通知可以通过任何 API 调用生成。DMS 仅在 DMS 事件发生时发送通知。

AmazonDMS 使用订阅标识符,标识每个订阅。您可以使用多个Amazon发布到相同Amazon SNS 主题的 DMS 活动订阅。在使用事件通知时,会产生Amazon SNS 费用;有关 Amazon SNS 账单的更多信息,请参阅Amazon SNS 定价.

订阅Amazon使用Amazon 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 事件通知.

主题

    AmazonDMS 事件类别和 SNS 通知的 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 复制实例已使用其分配的存储空间的 90% 以上。您可以使用可用存储空间指标监控复制实例的存储空间。
    故障转移 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. 创建事件订阅pate,请执行以下操作:

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

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

      3. 下面目标,请选择其中一个现有话题,创建新的电子邮件主题要么创建新的短信主题发送通知。确保您已有可向其发送通知的 Amazon SNS 主题或创建该主题。如果您创建主题,则可以输入发送通知的电子邮件地址。

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

      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. SELECt访问策略选项卡。

    如果您的 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 主题来进一步限制对您的 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(保存更改)。