Amazon SNS トピックを取得して Amazon RDS 通知を受け取るにはどうすればよいですか。

最終更新日: 2021 年 6 月 18 日

Amazon Simple Notification Service (Amazon SNS) トピックで Amazon Relational Database Service (Amazon RDS) の通知を受け取るようにしたいです。

解決方法

SNS トピックが暗号化されているかどうかを確認する

RDS イベント通知をサポートするのは、暗号化されていない SNS トピックのみです。暗号化された SNS トピックを指定した場合、Amazon RDS はトピックにイベント通知を送信できません。

1.    Amazon SNS コンソールを開きます。

2.    ナビゲーションパネルで、[トピック] を選択し、RDS 通知を受信するトピックを選択します。

3.    [暗号化] タブを選択します。

[暗号化] セクションに [設定済み] が表示されている場合、トピックは暗号化されています。カスタマーマスターキー (CMK) CMK ARN も表示されます。

トピックが暗号化されている場合は、「SNS トピックからの暗号化を無効にする」セクションの手順を実行します。

SNS トピックから暗号化を無効にする

1.    Amazon SNS コンソールを開きます。

2.    ナビゲーションパネルで、[トピック] を選択し、RDS 通知を受信するトピックを選択します。

3.    [Edit★] を選択します。

4.    [暗号化] セクションを展開し、[暗号化を無効にする] を選択します。

5.    [変更を保存] を選択します。

SNS トピックのアクセスポリシーを検証します。

SNS アクセスポリシーには、Amazon RDS が SNS トピックにイベントを公開できるようにするための許可が必要です。

1.    Amazon SNS コンソールを開きます。

2.    ナビゲーションパネルで、[トピック] を選択し、RDS 通知を受信するトピックを選択します。

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

SNS アクセスポリシーで Amazon RDS が SNS トピックにイベントの公開を許可していない場合は、次の手順を実行してポリシーを更新します。

1.    トピックページの [詳細] セクションで、[編集] を選択します。

2.    [アクセスポリシー] セクションを展開し、上記のポリシーをコピーして JSON エディタに貼り付けます。

3.    [変更を保存] を選択します。

{
  "Version": "2008-10-17",
  "Id": "SNSAccessPolicy",
  "Statement": [
    {
      "Sid": "PolicyForRDSToSNS",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "SNS:Publish",
      "Resource": "your-SNS-topic-ARN",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:rds:your-AWS-region:your-AWS-account-ID:*"
        }
      }
    }
  ]
}

注: ポリシー内のプレースホルダ値をお持ちの値で更新します。

RDS イベント通知で、期待するイベントタイプに適切なカテゴリが選択されていることを確認します

必要な通知に適切なカテゴリを選択します。例えば、インスタンスの再起動とシャットダウンの通知を受信する場合は、可用性カテゴリとインスタンスをイベントソースとして選択します。可用性カテゴリには、次のイベントが含まれます。

  • 「RDS-EVENT-0006: DB インスタンスが再起動しました」
  • 「RDS-EVENT-0004: DB インスタンスのシャットダウン」
  • 「RDS-EVENT-0022: MySQL または MariaDB の再起動中にエラーが発生しました」

イベントサブスクリプションの設定を確認します。

1.    Amazon RDS コンソールを開きます。

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

3.    サブスクリプションページの [イベントサブスクリプションの詳細] セクションで、[ソースタイプ]、[ソース]、[イベントカテゴリ] の各フィールドの値を書き留めます。

4.    ユースケースに適合するイベントのタイプに対して、正しいソースとイベントカテゴリを選択します。

イベントサブスクリプションの設定を編集します。

注: 次の手順では、すべてのインスタンスリソースとシャットダウンの通知を受信するシナリオを想定しています。サポートされているさまざまなイベントの種類とそのカテゴリの詳細については、「Amazon RDS イベントカテゴリとイベントメッセージ」を参照してください。

1.    Amazon RDS コンソールのナビゲーションパネルで、[イベントサブスクリプション] をクリックして、イベントサブスクリプションを選択します。

2.    サブスクリプションページで、[アクション]、[編集] の順に選択します。

3.    [ソース] セクションの [ソースタイプ] で、[インスタンス] を選択します。

4.    [含めるインスタンス] で、[すべてのインスタンス] を選択します。

5.    [イベントカテゴリに含めるイベント] で、[特定イベントカテゴリを選択] を選びます。

6.    [特定のイベントカテゴリ] で、[可用性] を選択します。

7.    [保存] を選択します。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?