Amazon RDS イベント通知の概要
Amazon RDS は、サブスクライブ可能なカテゴリにイベントをグループ分けします。これにより、そのカテゴリのイベントが発生すると、通知を受け取ることができます。
トピック
イベントサブスクリプションの対象となる RDS リソース
次のリソースのイベントカテゴリにサブスクライブできます。
-
DB インスタンス
-
DB スナップショット
-
DB パラメータグループ
-
DB セキュリティグループ
-
RDS Proxy
-
カスタムエンジンバージョン
例えば、特定の DB インスタンスのバックアップカテゴリにサブスクライブした場合、DB インスタンスに影響するバックアップ関連のイベントが発生するたびに通知が送信されます。DB インスタンスの設定変更カテゴリにサブスクライブした場合は、DB インスタンスが変更されると、通知を受け取ります。また、イベント通知サブスクリプションが変更されても、通知を受け取ります。
複数の異なるサブスクリプションを作成することもできます。例えば、すべての DB インスタンスの全イベント通知を受信するサブスクリプションや、DB インスタンスのサブセットに関する重要なイベントのみを含むサブスクリプションを作成することもできます。2 番目のサブスクリプションでは、フィルターで 1 つ以上の DB インスタンスを指定します。
Amazon RDS イベント通知にサブスクライブする基本的な手順は次のとおりです。
Amazon RDS イベント通知にサブスクライブする手順は次のとおりです。
-
Amazon RDS コンソール、AWS CLI、または API を使用して、Amazon RDS イベント通知サブスクリプションを作成します。
Amazon RDS では、Amazon SNS トピックの ARN を使用して各サブスクリプションを識別します。Amazon RDS コンソールでは、サブスクリプションの作成時に ARN が作成されます。Amazon SNS コンソール、AWS CLI、または Amazon SNS API を使用して ARN を作成します。
-
サブスクリプションの作成で指定したアドレス宛てに、Amazon RDS から承認の E メールまたは SMS メッセージが送信されます。
-
サブスクリプションを確認するには、受信した通知に記載されているリンクを選択します。
-
Amazon RDS コンソールでは、サブスクリプションのステータスで [My Event Subscriptions] (イベントのサブスクリプション) が更新されます。
-
Amazon RDS は、サブスクリプションを作成したときに指定したアドレスへの通知の送信を開始します。
Amazon SNS を使用する際の Identity and Access Management に関する詳細については、Amazon Simple Notification Service デベロッパーガイドの「Identity and access management in Amazon SNS」を参照してください。
DB インスタンスからのイベント通知の処理には、AWS Lambda を使用することができます。詳細については、AWS Lambda デベロッパーガイドの「Amazon RDS で AWS Lambda を使用する」を参照してください。
RDS イベント通知のデリバリー
Amazon RDS は、サブスクリプションを作成するときに指定したアドレスに通知を送信します。通知には、メッセージに関する構造化メタデータを提供する、メッセージ属性を含めることができます。メッセージ属性の詳細については、「 の Amazon RDS イベントカテゴリとイベントメッセージ」を参照してください。
イベント通知が配信されるまでに最大 5 分かかります。
重要
Amazon RDS はイベントストリーミングのイベントの順番を保証しません。イベントの順番は変わる場合があります。
Amazon SNS が受信登録している HTTP または HTTPS エンドポイントに通知を送信した場合、エンドポイントに送信される POST メッセージには、JSON ドキュメントを含むメッセージ本文が含まれます。詳細については、Amazon Simple Notification Service デベロッパーガイドの「Amazon SNS メッセージと JSON 形式」を参照してください。
テキストメッセージで通知を送信するように SNS を設定できます。詳細については、Amazon Simple Notification Service デベロッパーガイドの「Mobile text messaging (SMS)」を参照してください。
サブスクリプションを削除せずに通知を無効にするには、Amazon RDS コンソールで [Enabled] (有効) として [No] (いいえ) を選択します。または、AWS CLI や Amazon RDS API を使用して Enabled
パラメータをfalse
に設定します。
Amazon RDS イベント通知の請求
Amazon RDS イベント通知の請求は、Amazon SNS を通じて行われます。使用したイベント通知に対して、Amazon SNS 料金が適用されます。Amazon SNS の請求の詳細については、「Amazon Simple Notification Service 料金表
Amazon EventBridgei を使用した Amazon RDS イベントの例
次の例は、JSON 形式のさまざまなタイプの Amazon RDS イベントを示しています。JSON 形式でイベントをキャプチャして表示する方法を示すチュートリアルについては、「チュートリアル: Amazon EventBridge を使用して DB インスタンスの状態変化をログに記録する」を参照してください。
DB インスタンスイベントの例
以下は、JSON 形式の DB インスタンスイベントの例です。このイベントは、RDS が my-db-instance
という名前のインスタンスのためにマルチ AZ フェイルオーバーを実行したことを示しています。イベント ID は RDS-EVENT-0049 です。
{ "version": "0", "id": "68f6e973-1a0c-d37b-f2f2-94a7f62ffd4e", "detail-type": "RDS DB Instance Event", "source": "aws.rds", "account": "123456789012", "time": "2018-09-27T22:36:43Z", "region": "us-east-1", "resources": [ "arn:aws:rds:us-east-1:123456789012:db:my-db-instance" ], "detail": { "EventCategories": [ "failover" ], "SourceType": "DB_INSTANCE", "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance", "Date": "2018-09-27T22:36:43.292Z", "Message": "A Multi-AZ failover has completed.", "SourceIdentifier": "my-db-instance", "EventID": "RDS-EVENT-0049" } }
DB パラメータグループイベントの例
以下は、JSON 形式の DB パラメータグループイベントの例です。イベントは、パラメータグループ time_zone
でパラメータ my-db-param-group
が更新されたことを示します。イベント ID は RDS-EVENT-0037 です。
{ "version": "0", "id": "844e2571-85d4-695f-b930-0153b71dcb42", "detail-type": "RDS DB Parameter Group Event", "source": "aws.rds", "account": "123456789012", "time": "2018-10-06T12:26:13Z", "region": "us-east-1", "resources": [ "arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group" ], "detail": { "EventCategories": [ "configuration change" ], "SourceType": "DB_PARAM", "SourceArn": "arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group", "Date": "2018-10-06T12:26:13.882Z", "Message": "Updated parameter time_zone to UTC with apply method immediate", "SourceIdentifier": "my-db-param-group", "EventID": "RDS-EVENT-0037" } }
DB スナップショットイベントの例
以下は、JSON 形式の DB スナップショットイベントの例です。イベントは、my-db-snapshot
という名前のスナップショットの削除を示します。イベント ID は RDS-EVENT-0041 です。
{ "version": "0", "id": "844e2571-85d4-695f-b930-0153b71dcb42", "detail-type": "RDS DB Snapshot Event", "source": "aws.rds", "account": "123456789012", "time": "2018-10-06T12:26:13Z", "region": "us-east-1", "resources": [ "arn:aws:rds:us-east-1:123456789012:snapshot:rds:my-db-snapshot" ], "detail": { "EventCategories": [ "deletion" ], "SourceType": "SNAPSHOT", "SourceArn": "arn:aws:rds:us-east-1:123456789012:snapshot:rds:my-db-snapshot", "Date": "2018-10-06T12:26:13.882Z", "Message": "Deleted manual snapshot", "SourceIdentifier": "my-db-snapshot", "EventID": "RDS-EVENT-0041" } }