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:
- Apri la console Amazon SNS.
- Nel pannello di navigazione, scegli Argomenti, quindi seleziona Crea argomento.
- Scegli Standard come tipo di argomento, quindi assegnagli un nome.
- Scegli Crea argomento, quindi copia il nome della risorsa Amazon (ARN) del topic.
- Nel pannello di navigazione, scegli Sottoscrizioni, quindi seleziona Crea sottoscrizione.
- Aggiungi l'ARN del topic nella sezione ARN argomento, quindi scegli E-mail come protocollo.
- Scegli Crea sottoscrizione, quindi controlla l'e-mail per confermarla.
Crea un allarme in CloudWatch nell'account A
Completa i seguenti passaggi:
- Apri la console CloudWatch.
- Nel pannello di navigazione, scegli Allarmi, quindi seleziona Crea allarme.
- Seleziona la metrica, quindi fornisci i dettagli per la soglia e i parametri di confronto.
- In Configura operazioni, alla voce Notifiche, scegli Usa l'argomento ARN per notificare altri account, quindi inserisci l'ARN del topic dell'account B.
- 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:
-
Apri la console SNS.
-
Nel pannello di navigazione, scegli Argomenti, quindi seleziona il topic.
-
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?