AWS Database Migration Service での Amazon SNS イベントと通知の使用 - AWS Database Migration Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Database Migration Service での Amazon SNS イベントと通知の使用

AWS DMS 3.4.5 リリース以降のバージョンでは、AWS DMS イベントが発生した際の通知には、Amazon EventBridge を使用することをお勧めします。AWS DMS での EventBridge イベントの使用の詳細については、「AWS Database Migration Service での Amazon EventBridge イベントと通知の使用」を参照してください。

イベントサブスクリプションの Amazon EventBridge への移動

次の 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) ユーザには、次のポリシーのアクセス許可が必要です。

{ "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」を参照してください。

Amazon SNS イベントと通知の使用

AWS DMS 3.4.5 以前のバージョンでサポートされているイベントと通知は、次のとおりです。

AWS Database Migration Service (AWS DMS) は、Amazon Simple Notification Service (Amazon SNS) を使用して、レプリケーションインスタンスの作成や削除などの AWS DMS イベントが発生した際に通知を送信できます。このような通知は、E メールメッセージ、テキストメッセージ、HTTP エンドポイントへの呼び出しなど、AWS リージョンの Amazon SNS でサポートされている任意の形式で使用できます。

AWS DMS は、ユーザーがイベントをサブスクライブできるカテゴリにイベントをグループ分けします。これにより、そのカテゴリのイベントが発生した際に、通知を受け取ることができます。例えば、特定のレプリケーションインスタンスの作成カテゴリをサブスクライブすると、レプリケーションインスタンスに影響を及ぼす作成に関連したイベントが発生する都度、通知が届きます。レプリケーションインスタンスの設定変更カテゴリにサブスクライブすると、レプリケーションインスタンスの設定が変更された際に通知が送信されます。イベント通知サブスクリプションが変更された場合にも通知が送信されます。AWS DMS が提供するイベントカテゴリのリストについては、次の「SNS 通知の AWS DMS イベントカテゴリとイベントメッセージ」を参照してください。

AWS DMS は、イベントサブスクリプションの作成時に指定したアドレスにイベント通知を送信します。すべてのイベント通知を受信する単一のサブスクリプションと、本番環境の DMS リソースの重大なイベントのみを含む別のサブスクリプションなど、複数の異なるサブスクリプションを作成することができます。AWS DMS コンソールで [有効]オプションをオフにするか、AWS DMS API を使用して Enabled パラメータを [false] に設定することで、サブスクリプションを削除せずに通知を容易に無効にできます。

注記

現時点で、SMS テキストメッセージを使用した AWS DMS イベント通知は、Amazon SNS がサポートされているすべての AWS リージョンの AWS DMS リソースで利用できます。Amazon SNS が SMS メッセージングをサポートする AWS リージョンと国のリストについては、「サポートされている国と地域」を参照してください。

SNS でのテキストメッセージの使用の詳細については、「Amazon SNS を使用した SMS 通知の送信と受信」を参照してください。

AWS DMS イベント通知は、CloudWatch または EventBridge の CloudTrail イベントとは異なります。CloudTrail イベント通知は、任意の API 呼び出しにより生成できます。DMS の場合は、DMS イベントが発生した場合にのみ通知を送信します。

AWS DMS は、サブスクリプション識別子を使用して各サブスクリプションを識別します。複数の AWS DMS のイベントサブスクリプションを同じ Amazon SNS トピックに発行できます。イベント通知を使用すると Amazon SNS の料金が適用されます。Amazon SNS の請求詳細については 「Amazon SNS の料金」を参照してください。

Amazon SNS を使用して AWS DMS イベントをサブスクライブするには、次のプロセスを使用します。

  1. Amazon SNS トピックを作成します。トピックでは、受信する通知タイプと、通知の宛先となるアドレスまたは番号を指定します。

  2. AWS Management Console、AWS CLI、または AWS DMS API を使用して、AWS DMS イベント通知サブスクリプションを作成します。

  3. AWS DMS は、サブスクリプションを送信したアドレスに承認メールまたは SMS メッセージを送信します。サブスクリプションを確認するには、承認メールまたは SMS メッセージに記載のリンクをクリックします。

  4. サブスクリプション確認後、AWS DMS コンソールの [イベントサブスクリプション] セクションで、サブスクリプションのステータスが更新されます。

  5. その後、イベント通知の送信が開始します。

通知できるカテゴリとイベントのリストについては、次のセクションを参照してください。AWS DMS イベントサブスクリプションのサブスクライブと使用の詳細については、「SNS を使用した AWS DMS イベント通知のサブスクリプション」を参照してください。

トピック

    SNS 通知の AWS DMS イベントカテゴリとイベントメッセージ

    重要

    AWS DMS 3.4.5 リリース以降のバージョンでは、AWS DMS イベントが発生した際の通知には、Amazon EventBridge を使用することをお勧めします。AWS DMS での EventBridge イベントの使用の詳細については、「AWS Database Migration Service での Amazon EventBridge イベントと通知の使用」を参照してください。

    AWS DMS は、AWS DMS コンソールまたは AWS DMS API を使用してサブスクライブできるカテゴリに多数のイベントを生成します。各カテゴリはソースタイプに適用されます。AWS DMS は現時点でレプリケーションインスタンスとレプリケーションタスクのソースタイプをサポートしています。

    レプリケーションインスタンスのソースタイプのカテゴリとイベントは、次の表のとおりです。

    カテゴリ

    DMS イベント ID

    説明

    設定変更 DMS-EVENT-0012

    このレプリケーションインスタンスのレプリケーションインスタンスクラスが変更されている。

    設定変更 DMS-EVENT-0014

    このレプリケーションインスタンスのレプリケーションインスタンスクラスが変更された。

    設定変更 DMS-EVENT-0018

    レプリケーションインスタンスのストレージが増加している。

    設定変更 DMS-EVENT-0017

    レプリケーションインスタンスのストレージが増加した。

    設定変更 DMS-EVENT-0024

    レプリケーションインスタンスはマルチ AZ 配置に移行中。

    設定変更 DMS-EVENT-0025

    レプリケーションインスタンスはマルチ AZ 配置への移行を完了した。

    設定変更 DMS-EVENT-0030

    レプリケーションインスタンスはシングル AZ 配置に移行中。

    設定変更 DMS-EVENT-0029

    レプリケーションインスタンスのシングル AZ 配置への移行が完了した。

    作成 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 マルチ AZ レプリケーションインスタンスのフェイルオーバーが開始された。
    フェイルオーバー DMS-EVENT-0049 マルチ AZ レプリケーションインスタンスのフェイルオーバーが完了した。
    フェイルオーバー DMS-EVENT-0015 スタンドバイへのマルチ AZ フェイルオーバーが完了した。
    フェイルオーバー DMS-EVENT-0050 マルチ AZ アクティベーションが開始された。
    フェイルオーバー DMS-EVENT-0051 マルチ AZ アクティベーションが完了した。
    フェイルオーバー DMS-EVENT-0034 フェイルオーバーのリクエスト頻度が多すぎると、通常のフェイルオーバーイベントの代わりにこのイベントが発生する。
    失敗 DMS-EVENT-0031 レプリケーションインスタンスでストレージ障害が発生した。
    失敗 DMS-EVENT-0036 ネットワークに互換性がないため、レプリケーションインスタンスが失敗した。
    失敗 DMS-EVENT-0037 サービスは、データ ボリュームの暗号化に使用される AWS 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 レプリケーションタスクが作成された。

    状態変更カテゴリの 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 イベント通知のサブスクリプション

    重要

    AWS DMS 3.4.5 リリース以降のバージョンでは、AWS DMS イベントが発生した際の通知には、Amazon EventBridge を使用することをお勧めします。AWS DMS での EventBridge イベントの使用の詳細については、「AWS Database Migration Service での Amazon EventBridge イベントと通知の使用」を参照してください。

    AWS DMS イベント通知サブスクリプションを作成すると、AWS DMS イベントが発生した際に通知を受け取ることができます。サブスクリプションを作成する最も簡単な方法は、AWS DMS コンソールを使用することです。通知サブスクリプションでは、通知を送信する方法と送信先を選択します。通知を受け取るソースタイプを指定します。現時点で、AWS DMS はレプリケーションインスタンスとレプリケーションタスクのソースタイプをサポートしています。選択したソースタイプに応じてイベントカテゴリを選択して、イベント通知を受け取るソースを特定します。

    AWS Management Console を使用する場合

    重要

    AWS DMS 3.4.5 リリース以降のバージョンでは、AWS DMS イベントが発生した際の通知には、Amazon EventBridge を使用することをお勧めします。AWS DMS での EventBridge イベントの使用の詳細については、「AWS Database Migration Service での Amazon EventBridge イベントと通知の使用」を参照してください。

    コンソールを使用して Amazon SNS で AWS DMS イベント通知をサブスクライブするには
    1. AWS Management Console にサインインして、https://console.aws.amazon.com/dms/v2/ で AWS DMS コンソールを開きます。

      IAM ユーザーとしてサインインしている場合は、AWS DMS にアクセスするための適切なアクセス許可があることを確認します。

    2. ナビゲーションペインで [イベントサブスクリプション] を選択します。

    3. [イベントサブスクリプション] ページで、[イベントサブスクリプションの作成] をクリックします。

    4. [イベントサブスクリプションの作成] ページで、次のとおり設定します。

      1. [詳細] の下にある [名前] には、イベント通知サブスクリプション名を入力します。

      2. サブスクリプションを有効にするには、[有効] を選択します。サブスクリプションを作成しても、まだ通知を送信しない場合は、[有効] は選択しません。

      3. 通知を送信するには、[ターゲット] の下で、[既存のトピック][新しいメールトピックの作成]、または [新しい SMS トピックの作成] を選択します。通知の送信先として、既存のAmazon SNSトピックを使用するか、トピックを作成する必要があります。トピックを作成する場合は、通知の送信先の E メールアドレスを入力します。

      4. [イベントソース] の下の [ソースタイプ] で、ソースタイプを選択します。オプションは、[replication-instance][replication-task] のみです。

      5. 選択したソースタイプに応じて、イベント通知を受信するイベントカテゴリとソースを選択します。

        
                                    コンソールでのイベントサブスクリプションの作成
      6. [イベントサブスクリプションの作成] を選択します。

    AWS DMS コンソールにサブスクリプションが作成中であることが表示されます。

    注記

    AWS DMS API と CLI を使用して、Amazon SNS イベント通知サブスクリプションを作成することもできます。詳細については、「AWS DMS API リファレンス」の「CreateEventSubscription」と「AWS DMS CLI リファレンス」ドキュメントの「create-event-subscription」を参照してください。

    SNS トピックのアクセスポリシーの検証

    SNS アクセスポリシーには、AWS DMS が SNS トピックにイベントを公開できるアクセス許可が必要です。次の手順の説明のとおり、アクセスポリシーを検証し、更新できます。

    アクセスポリシーを検証するには
    1. [Amazon SNS] コンソールを開きます。

    2. ナビゲーションペインで [トピック] をクリックして、DMS 通知を受け取るトピックを選択します。

    3. [アクセスポリシー] タブをクリックします。

    SNS アクセスポリシーで AWS DMS が SNS トピックにイベントをパブリッシュすることを許可していない場合は、ポリシーを更新できます。

    アクセスポリシーを更新するには
    1. トピックページの [詳細] セクションで、[編集] を選択します。

    2. [アクセスポリシー] セクションを展開して、次のポリシーを JSON エディタにアタッチします。

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

      イベントをトピックにパブリッシュする DMS EventSubscription ARN である aws:SourceArn 条件を指定して、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 *" }
    3. [変更の保存] をクリックします。