CloudWatch アラームを使用してクロスアカウントの Amazon SNS トピックを呼び出す方法を教えてください。

所要時間1分
0

複数の AWS アカウントにわたり Amazon CloudWatch アラームを使用して、Amazon Simple Notification Service (Amazon SNS) トピックを呼び出したいです。

解決策

注: 次の解決策では 2 つのアカウントを使用します。アカウント A を CloudWatch アラームの作成に使用し、アカウント B を SNS トピックの作成に使用します。

アカウント B に SNS トピックを作成します。

次の手順を実行します。

  1. Amazon SNS コンソールを開きます。
  2. ナビゲーションペインで [トピック] を選択し、[トピックを作成] を選択します。
  3. トピックタイプで [標準] を選択し、トピックの名前を作成します。
  4. [トピックを作成] を選択し、トピックの ARN をコピーします。
  5. ナビゲーションペインで [サブスクリプション] を選択し、次に [サブスクリプションを作成] を選択します。
  6. トピックの ARN を [トピック ARN] セクションに追加し、プロトコルに [電子メール] を選択します。
  7. [サブスクリプションを作成] を選択し、メールをチェックしてサブスクリプションを確認します。

アカウント A で CloudWatch アラームを作成する

次の手順を実行します。

  1. CloudWatch コンソールを開きます。
  2. ナビゲーションペインで [アラーム][アラームを作成] の順に選択します。
  3. メトリクスを選択し、しきい値と比較パラメータの詳細を指定します。
  4. [アクションの設定][通知] で、[トピック ARN を使用して他のアカウントに通知する] を選択し、アカウント B のトピック ARN を入力します。
  5. アラームの名前を作成し、[アラームを作成] を選択します。

アカウント B で、SNS トピックのアクセスポリシーを更新する

アカウント B で SNS トピックのアクセスポリシーを更新し、アラームがメッセージを発行できるようにするには、次の手順を実行します。

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

  2. ナビゲーションペインで [トピック] を選択し、該当するトピックを選択します。

  3. [編集] を選択し、ポリシーに次の内容を追加します。

    {  "Version": "2008-10-17",
      "Id": "default_policy_ID",
      "Statement": [
        {
          "Sid": "default_statement_ID",
          "Effect": "Allow",
          "Principal": {
            "AWS": "*"
          },
          "Action": [
            "SNS:Publish"
          ],
          "Resource": "example-topic-arn-account-b",
          "Condition": {
            "ArnLike": {
              "aws:SourceArn": "arn:aws:cloudwatch:example-region:111122223333:alarm:*"
            }
          }
        }
      ]
    }

    注: 上記のポリシーで、例の値を実際の値に置き換えます。

アラームをテストする

アラームをテストするには、メトリクスのデータポイントに基づいてアラームのしきい値を変更するか、アラームの状態を手動で変更します。アラームのしきい値またはアラームの状態を変更すると、メール通知が届きます。

関連情報

任意の CloudWatch アラームを別のアカウントのトピックに公開することを許可する

CloudWatch アラームトリガーに関する SNS 通知を受信できなかった理由を教えてください

SetAlarmState

コメントはありません

関連するコンテンツ