

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 中使用 Amazon SNS 事件和通知 AWS Database Migration Service
<a name="CHAP_Events"></a>

從 AWS DMS 3.4.5 版和更新版本開始，我們建議您使用 Amazon EventBridge 在 AWS DMS 事件發生時提供通知。如需搭配 使用 EventBridge 事件的詳細資訊 AWS DMS，請參閱 [在 中使用 Amazon EventBridge 事件和通知 AWS Database Migration Service](CHAP_EventBridge.md)。

## 將事件訂閱移至 Amazon EventBridge
<a name="USER_Events.Move-subscriptions"></a>

您可以使用下列 AWS CLI 命令，將作用中事件訂閱從 DMS 遷移至 Amazon EventBridge，一次最多 10 個。

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

根據預設，只有在複寫執行個體為最新版本 AWS DMS 3.4.5 及更高版本時， AWS DMS 才會遷移作用中的事件訂閱。若要覆寫此預設行為，請使用 `--force-move` 選項。但是，如果複寫執行個體未升級，則使用 Amazon EventBridge 可能無法使用某些類型的事件。

若要執行 `update-subscriptions-to-event-bridge` CLI 命令， AWS Identity and Access Management (IAM) 使用者必須具有下列政策許可。

------
#### [ JSON ]

****  

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

------

如需將訂閱移至 EventBridge 的相關詳細資訊，請參閱《AWS Database Migration Service API 參考》**中的 [UpdateSubscriptionsToEventBridge](https://docs.aws.amazon.com/dms/latest/APIReference/API_UpdateSubscriptionsToEventBridge.html)。

## 使用 Amazon SNS 的事件和通知
<a name="USER_Events.SNS"></a>

AWS DMS 3.4.5 版和更早版本支援使用事件和通知，如下所述。

 AWS Database Migration Service (AWS DMS) 可以使用 Amazon Simple Notification Service (Amazon SNS) 在 AWS DMS 事件發生時提供通知，例如建立或刪除複寫執行個體。您可以採用 AWS 區域中 Amazon SNS 支援的任何形式來使用這些通知，例如電子郵件訊息、文字訊息或呼叫 HTTP 端點。

AWS DMS 會將事件分組為您可以訂閱的類別，以便在發生該類別中的事件時收到通知。例如，如果您訂閱指定複寫執行個體的建立類別，當發生會影響複寫執行個體的建立相關事件時，您就會收到通知。如果您訂閱複寫執行個體的組態變更類別，當複寫執行個體的組態變更時，您就會收到通知。當事件通知訂閱變更時，您也會收到通知。如需 DMS AWS 提供的事件類別清單，請參閱[AWS SNS 通知的 DMS 事件類別和事件訊息](#USER_Events.Messages)以下。

AWS DMS 會將事件通知傳送至您在建立事件訂閱時提供的地址。建議您建立幾個不同的訂閱，例如以一個訂閱接收所有事件通知，而另一個訂閱僅包含您的生產 DMS 資源的重要事件。您可以在 DMS AWS 主控台中取消選取**已啟用**選項，或使用 AWS DMS API 將 `Enabled` 參數設定為 *false*，即可輕鬆關閉通知，而無需刪除訂閱。

**注意**  
AWS 使用 SMS 文字訊息的 DMS 事件通知目前可用於支援 Amazon SNS 的所有 AWS 區域中的 AWS DMS 資源。如需 Amazon SNS 支援 SMS 傳訊的 AWS 區域和國家/地區清單，請參閱[支援的地區和國家/地區](https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html)。  
如需使用 SNS 搭配文字訊息的詳細資訊，請參閱[使用 Amazon SNS 傳送和接收 SMS 通知](https://docs.aws.amazon.com/sns/latest/dg/SMSMessages.html)。  
AWS DMS 事件通知與 CloudWatch 或 EventBridge 中的 CloudTrail 事件不同。 CloudWatch EventBridge 任何 API 調用都可以產生 CloudTrail 事件通知。只有在 DMS 事件發生時，DMS 才會傳送通知。

AWS DMS 使用訂閱識別符來識別每個訂閱。您可以讓多個 AWS DMS 事件訂閱發佈至相同的 Amazon SNS 主題。當您使用事件通知時需支付 Amazon SNS 費用；如需 Amazon SNS 帳單的詳細資訊，請參閱 [Amazon SNS 定價](https://aws.amazon.com/sns/#pricing)。

若要使用 AWS Amazon SNS 訂閱 DMS 事件，請使用下列程序：

1. 建立 Amazon SNS 主題。在主題中，您可以指定希望收到哪種類型的通知，以及通知要傳送至哪些地址或編號。

1. 使用 AWS AWS CLI、 或 DMS API AWS 管理主控台建立 DMS AWS 事件通知訂閱。

1. AWS DMS 會傳送核准電子郵件或簡訊到您隨訂閱提交的地址。若要確認訂閱，請按一下核准電子郵件或 SMS 訊息中的連結。

1. 當您已確認訂閱時，訂閱的狀態會在 DMS AWS 主控台**的事件訂閱**區段中更新。

1. 接著，您就會開始收到事件通知。

如需您可以收到通知的所有類別和事件清單，請參閱下節。如需訂閱和使用 DMS AWS 事件訂閱的詳細資訊，請參閱 [使用 SNS 訂閱 AWS DMS 事件通知](#CHAP_Events.Subscription)。

**Topics**

## AWS SNS 通知的 DMS 事件類別和事件訊息
<a name="USER_Events.Messages"></a>

**重要**  
從 AWS DMS 3.4.5 版和更新版本開始，我們建議您使用 Amazon EventBridge 在 AWS DMS 事件發生時提供通知。如需搭配 使用 EventBridge 事件的詳細資訊 AWS DMS，請參閱 [在 中使用 Amazon EventBridge 事件和通知 AWS Database Migration Service](CHAP_EventBridge.md)。

 AWS DMS 在您可以使用 DMS AWS 主控台或 AWS DMS API 訂閱的類別中產生大量事件。每個類別都適用於來源類型；目前 AWS DMS 支援複寫執行個體和複寫任務來源類型。

下表顯示複寫執行個體來源類型的可能類別和事件。


|  Category  |  DMS 事件 ID  |  Description  | 
| --- | --- | --- | 
|  組態變更  |  DMS-EVENT-0012  |  此複寫執行個體的複寫執行個體類別正在變更中。  | 
|  組態變更  |  DMS-EVENT-0014  |  此複寫執行個體的複寫執行個體類別已變更。  | 
|  組態變更  |  DMS-EVENT-0018  |  複寫執行個體的儲存空間正在增加中。  | 
|  組態變更  |  DMS-EVENT-0017  |  複寫執行個體的儲存空間已增加。  | 
|  組態變更  |  DMS-EVENT-0024  |  複寫執行個體正在轉移至多可用區組態。  | 
|  組態變更  |  RDS-EVENT-0025  |  複寫執行個體已完成多可用區組態的轉移。  | 
|  組態變更  |  DMS-EVENT-0030  |  複寫執行個體正在轉移至單一可用區組態。  | 
|  組態變更  |  DMS-EVENT-0029  |  複寫執行個體已完成單一可用區組態的轉移。  | 
|  建立  |  DMS-EVENT-0067  |  複寫執行個體正在建立中。  | 
|  建立  |  DMS-EVENT-0005  |  複寫執行個體已建立。  | 
|  刪除  |  DMS-EVENT-0066  |  複寫執行個體正在刪除中。  | 
|  刪除  |  DMS-EVENT-0003  |  複寫執行個體已刪除。  | 
|  Maintenance (維護)  |  RDS-EVENT-0047  | 複寫執行個體上的管理軟體已更新。 | 
|  Maintenance (維護)  |  DMS-EVENT-0026  | 複寫執行個體的離線維護正在進行中。複寫執行個體目前無法使用。 | 
|  Maintenance (維護)  |  DMS-EVENT-0027  | 複寫執行個體的離線維護已完成。複寫執行個體現在可用。 | 
|  Maintenance (維護)  |  DMS-EVENT-0068  | 複寫執行個體處於無法升級的狀態。 | 
|  儲存體不足  |  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  | 服務無法存取用來加密資料磁碟區的 AWS KMS 金鑰。 | 

下表顯示複寫任務來源類型的可能類別和事件。


|  Category  |  DMS 事件 ID  |  Description  | 
| --- | --- | --- | 
|  狀態變更  |  DMS-EVENT-0069  |  複寫任務已開始。  | 
|  狀態變更  |  RDS-EVENT-0081  |  已請求重新載入資料表詳細資訊。  | 
|  狀態變更  |  DMS-EVENT-0079  |  複寫任務已停止。  | 
|  狀態變更  | DMS-EVENT-0091  | 讀取已暫停，達到交換檔案上限。 | 
|  狀態變更  | RDS-EVENT-0092  | 讀取已暫停，已達到磁碟使用量上限。 | 
|  狀態變更  | DMS-EVENT-0093  | 讀取已恢復。 | 
|  失敗  |  DMS-EVENT-0078  |  此複寫任務已失敗。  | 
|  失敗  |  DMS-EVENT-0082  |  刪除任務的呼叫無法清除任務資料。  | 
|  組態變更  |  DMS-EVENT-0080  | 此複寫任務已修改。 | 
|  刪除  |  RDS-EVENT-0073  |  複寫任務已刪除。  | 
|  建立  |  DMS-EVENT-0074  | 此複寫任務已建立。 | 

下表顯示預遷移評估來源類型的可能類別和事件。


| Category | DMS 事件 ID | Description | 
| --- | --- | --- | 
| 狀態變更 | DMS-EVENT-0083 | 預遷移評估已開始。 | 
| 狀態變更 | DMS-EVENT-0084 | 預遷移評估已通過。 | 
| 狀態變更 | DMS-EVENT-0085 | 預遷移評估已完成，但失敗。 | 
| 狀態變更 | DMS-EVENT-0086 | 預遷移評估已完成，並出現警告。 | 
| 狀態變更 | DMS-EVENT-0087 | 執行時遇到預遷移評估和錯誤。 | 
| 狀態變更 | DMS-EVENT-0088 | 預遷移評估已取消。 | 
| 狀態變更 | DMS-EVENT-0089 | 已刪除預遷移評估。 | 
| 狀態變更 | DMS-EVENT-0090 | 預遷移評估在佈建資源時發生錯誤。 | 

下列範例顯示 狀態變更類別 AWS 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
```

## 使用 SNS 訂閱 AWS DMS 事件通知
<a name="CHAP_Events.Subscription"></a>

**重要**  
從 AWS DMS 3.4.5 版和更新版本開始，我們建議您使用 Amazon EventBridge 在 AWS DMS 事件發生時提供通知。如需搭配 使用 EventBridge 事件的詳細資訊 AWS DMS，請參閱 [在 中使用 Amazon EventBridge 事件和通知 AWS Database Migration Service](CHAP_EventBridge.md)。

您可以建立 AWS DMS 事件通知訂閱，以便在 AWS DMS 事件發生時收到通知。建立訂閱最簡單的方法是使用 AWS DMS 主控台。在通知訂閱中，您可以選擇通知的傳送方式和位置。您可以指定要收到通知的來源類型； 目前 AWS DMS 支援複寫執行個體和複寫任務來源類型。根據您選取的來源類型，選擇事件類別和找出您要接收事件通知的來源。

### 使用 AWS 管理主控台
<a name="USER_Events.Subscribing.Console"></a>

**重要**  
從 AWS DMS 3.4.5 版和更新版本開始，我們建議您使用 Amazon EventBridge 在 AWS DMS 事件發生時提供通知。如需搭配 使用 EventBridge 事件的詳細資訊 AWS DMS，請參閱 [在 中使用 Amazon EventBridge 事件和通知 AWS Database Migration Service](CHAP_EventBridge.md)。

**使用 AWS 主控台透過 Amazon SNS 訂閱 DMS 事件通知**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) 開啟 AWS DMS 主控台。

   如果您以 IAM 使用者身分登入，請確認您具備適當的許可來存取 AWS DMS。

1.  在導覽窗格中，選擇 **Event subscriptions** (事件訂閱)。

1.  在**事件訂閱**頁面上，選擇**建立事件訂閱**。

1.  在**建立事件訂閱**頁面中，執行下列動作：

   1. 在**詳細資訊**下的**名稱**中，輸入事件通知訂閱的名稱。

   1. 選擇**已啟用**以啟用訂閱。如果您要建立訂閱，但還不要傳送通知，請勿選擇**已啟用**。

   1. 在**目標**下，選擇**現有主題**、**建立新電子郵件主題**或**建立新 SMS 主題**以傳送通知。您必須具備現有 Amazon SNS 主題以傳送通知，不然就必須建立主題。如果您建立主題，您可以輸入要接收通知的電子郵件地址。

   1. 在**事件來源**下的**來源類型**，選擇來源類型。唯一的選項是 **replication-instance** 和 **replication-task**。

   1. 根據您選取的來源類型，選擇您要接收事件通知的事件類別和來源。  
![\[主控台建立事件訂閱\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-create-event-sub-consolev2.png)

   1. 選取**建立事件訂閱**。

DMS AWS 主控台指出正在建立訂閱。

**注意**  
您也可以使用 AWS DMS API 和 CLI 建立 Amazon SNS 事件通知訂閱。如需詳細資訊，請參閱《AWS DMS API 參考》**中的 [CreateEventSubscription](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateEventSubscription.html)，以及《AWS DMS CLI 參考》**文件中的 [create-event-subscription](https://docs.aws.amazon.com/cli/latest/reference/dms/create-event-subscription.html)。

### 驗證 SNS 主題的存取政策
<a name="USER_Events.Subscribing.Access"></a>

您的 SNS 存取政策需要允許 AWS DMS 將事件發佈至 SNS 主題的許可。您可以如下列程序所述，驗證並更新存取政策。

**若要驗證存取政策**

1. 開啟 **Amazon SNS 主控台**。

1. 在導覽窗格中選擇**主題**，然後選取您要接收相關 DMS 通知的主題。

1. 選取**存取政策**索引標籤。

如果您的 SNS 存取政策不允許 將事件發佈到您的 SNS 主題 AWS DMS ，您可以更新政策。

**更新存取政策**

1. 在主題頁面的**詳細資訊**區段中，選擇**編輯**。

1. 展開**存取政策**區段，然後將下列政策連接到 JSON 編輯器。

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

   我們建議您指定 `aws:SourceArn` 條件 (即將事件發佈至主題的 DMS EventSubscription Arn)，以進一步限制對 SNS 主題的存取。

   ```
   ...
   "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 *"
    }
   ```

1. 選擇**儲存變更**。