スキップしてコンテンツを表示

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

所要時間1分
0

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

解決策

注: 次の解決策では 2 つのアカウントを使用します。

アカウント A を CloudWatch アラームの作成に使用し、アカウント B を Amazon SNS トピックの作成に使用します。次に、SNS トピックのアクセスポリシーを更新して、アカウント A のアラームがメッセージを公開できるようにします。

アカウント B に SNS トピックを作成する

次の手順を実行します。

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

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

次の手順を実行します。

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

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

アカウント B で SNS トピックのアクセスポリシーを更新すると、アラームがメッセージを公開できるようになります。

次の手順を実行します。

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

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

  3. [編集] を選択し、ポリシーに次のステートメントを追加します。

    {
        "Statement": [{
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudwatch.amazonaws.com"
            },
            "Action": "SNS:Publish",
            "Resource": "arn:aws:sns:us-east-2:444455556666:MyTopic",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:cloudwatch:us-east-2:111122223333:alarm:*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                }
            }
        }]
    }

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

アラームをテストする

アラームをテストするには、メトリクスのデータポイントに基づいてアラームのしきい値を変更するか、set-alarm-state コマンドを実行します。アラームのしきい値またはアラームの状態を変更すると、メール通知が届きます。

関連情報

Allow any CloudWatch alarm to publish to a topic in a different account (任意の CloudWatch アラームを別のアカウントのトピックに公開することを許可する)

CloudWatch アラームトリガーに関する SNS 通知が届かないのはなぜですか?

コメントはありません