Salta al contenuto

Come posso invocare un topic Amazon SNS multi-account con un allarme in CloudWatch?

3 minuti di lettura
0

Desidero invocare un topic Amazon Simple Notification Service (Amazon SNS) con un allarme in Amazon CloudWatch in diversi account AWS.

Risoluzione

Nota: la seguente risoluzione utilizza due account.

Utilizza l'account A per creare l'allarme in CloudWatch e l'account B per creare un topic Amazon SNS. Quindi aggiorna la policy di accesso del topic SNS per consentire all'allarme dell'account A di pubblicare messaggi.

Crea un topic SNS nell'account B

Completa i seguenti passaggi:

  1. Apri la console Amazon SNS.
  2. Nel pannello di navigazione, scegli Argomenti, quindi seleziona Crea argomento.
  3. Scegli Standard come tipo di argomento, quindi assegnagli un nome.
  4. Scegli Crea argomento, quindi copia il nome della risorsa Amazon (ARN) del topic.
  5. Nel pannello di navigazione, scegli Sottoscrizioni, quindi seleziona Crea sottoscrizione.
  6. Aggiungi l'ARN del topic nella sezione ARN argomento, quindi scegli E-mail come protocollo.
  7. Scegli Crea sottoscrizione, quindi controlla l'e-mail per confermarla.

Crea un allarme in CloudWatch nell'account A

Completa i seguenti passaggi:

  1. Apri la console CloudWatch.
  2. Nel pannello di navigazione, scegli Allarmi, quindi seleziona Crea allarme.
  3. Seleziona la metrica, quindi fornisci i dettagli per la soglia e i parametri di confronto.
  4. In Configura operazioni, alla voce Notifiche, scegli Usa l'argomento ARN per notificare altri account, quindi inserisci l'ARN del topic dell'account B.
  5. Crea un nome per l'allarme, quindi scegli Crea allarme.

Aggiorna la policy di accesso del topic SNS nell'account B

Quando aggiorni la policy di accesso del topic SNS nell'account B, ciò consente all'allarme di pubblicare messaggi.

Completa i seguenti passaggi:

  1. Apri la console SNS.

  2. Nel pannello di navigazione, scegli Argomenti, quindi seleziona il topic.

  3. Scegli Modifica, quindi aggiungi la seguente istruzione alla policy:

    {
        "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"
                }
            }
        }]
    }

    Nota: nella policy precedente, sostituisci gli esempi di valore con i tuoi valori.

Esegui un test dell'allarme

Per il test dell'allarme, modifica la soglia di allarme in base ai punti dati metrici o esegui il comando set-alarm-state. Quando modifichi la soglia o lo stato dell'allarme, ricevi una notifica via e-mail.

Informazioni correlate

Consenti la pubblicazione di qualsiasi allarme CloudWatch su un topic in un account diverso

Perché non ho ricevuto una notifica SNS per l'attivazione del mio allarme CloudWatch?