Monitoraggio delle modifiche di stato di Systems Manager utilizzando le notifiche Amazon SNS - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Monitoraggio delle modifiche di stato di Systems Manager utilizzando le notifiche Amazon SNS

Puoi configurare Amazon Simple Notification Service (Amazon SNS) per inviare notifiche sullo stato dei comandi che invii Run Command utilizzando Maintenance Windows o, che sono strumenti in. AWS Systems Manager Amazon SNS coordina e gestisce l'invio e la consegna delle notifiche ai clienti o agli endpoint che sono iscritti agli argomenti di Amazon SNS. È possibile ricevere una notifica ogni volta che un comando cambia di stato o passa a uno stato specifico, ad esempio Failed (Non riuscito) o Timed Out (Sottoposto a timeout). Quando si invia un comando a più nodi, è possibile ricevere una notifica per ciascuna copia del comando inviato a un determinato nodo. Ogni copia è denominata invocazione.

Amazon SNS può consegnare notifiche come HTTP o HTTPS POST, e-mail (SMTP, in testo normale o in formato JSON) oppure come messaggio inviato a una coda Amazon Simple Queue Service (Amazon SQS). Per ulteriori informazioni, si veda What is Amazon SNS (Che cos'è Amazon SNS) nella Amazon Simple Notification Service Developer Guide (Guida per gli sviluppatori di Amazon Simple Notification Service). Per esempi della struttura dei dati JSON inclusi nella notifica Amazon SNS fornita da Run Command e Maintenance Windows, si veda Esempio di notifiche Amazon SNS per AWS Systems Manager.

Importante

Prendi nota delle seguenti informazioni importanti.

Configurare le notifiche di Amazon SNS per AWS Systems Manager

Le attività di Run Command e Maintenance Windows registrate in una finestra di manutenzione possono inviare notifiche Amazon SNS relative alle attività del comando che passano negli stati seguenti:

  • In Progress (In corso)

  • Riuscito

  • Non riuscito

  • Timed Out (Timeout)

  • Annullato

Per informazioni sulle condizioni che determinano il passaggio di un comando a uno di questi stati, si veda Informazioni sugli stati dei comandi.

Nota

I comandi inviati mediante Run Command indicano anche gli stati In fase di eliminazione e In attesa. Questi stati non vengono acquisiti dalle notifiche Amazon SNS.

Riepilogo dei comandi delle notifiche Amazon SNS

Se si configura Run Command o un'attività Run Command nella finestra di manutenzione per le notifiche Amazon SNS, Amazon SNS invia messaggi di riepilogo che includono le informazioni seguenti.

Campo Tipo Descrizione

eventTime

Stringa

Ora di inizio dell'evento. Il timestamp è importante perché Amazon SNS non garantisce l'ordine di recapito dei messaggi. Esempio: 2016-04-26T13:15:30Z

documentName

Stringa

Il nome del documento SSM usato per eseguire il comando.

commandId

Stringa

L'ID generato da Run Command dopo l'invio del comando.

expiresAfter

Data

Se si raggiunge questo istante prima che inizi l'esecuzione del comando, il comando non viene eseguito.

Uscite S3 BucketName

Stringa

Il bucket Amazon Simple Storage Service (Amazon S3) in cui devono essere archiviate le risposte all'esecuzione del comando.

Uscite S3 KeyPrefix

Stringa

Il percorso della directory di Amazon S3 all'interno del bucket in cui devono essere archiviate le risposte all'esecuzione del comando.

requestedDateTime

Stringa

Data e ora di invio della richiesta a questo nodo specifico.

instanceIds

StringList

I nodi a cui è destinato il comando.

Nota

IDs Le istanze sono incluse nel messaggio di riepilogo solo se l'Run Commandattività ha come obiettivo diretto l'istanza. IDs IDs Le istanze non sono incluse nel messaggio di riepilogo se l'Run Commandattività è stata emessa utilizzando il targeting basato su tag.

status

Stringa

Lo stato del comando.

Notifiche Amazon SNS basate su chiamata

Se si invia un comando a più nodi, Amazon SNS può inviare messaggi relativi a ogni copia o chiamata del comando. I messaggi includono le informazioni riportate di seguito.

Campo Tipo Descrizione

eventTime

Stringa

Ora di inizio dell'evento. Il timestamp è importante perché Amazon SNS non garantisce l'ordine di recapito dei messaggi. Esempio: 2016-04-26T13:15:30Z

documentName

Stringa

Il nome del documento Systems Manager (documento SSM) usato per eseguire il comando.

requestedDateTime

Stringa

Data e ora di invio della richiesta a questo nodo specifico.

commandId

Stringa

L'ID generato da Run Command dopo l'invio del comando.

instanceId

Stringa

L'istanza di destinazione per il comando.

status

Stringa

Lo stato del comando per questa invocazione.

Per configurare le notifiche di Amazon SNS quando un comando cambia di stato, eseguire le attività seguenti.

Nota

Se non si sta configurando le notifiche Amazon SNS per la finestra di manutenzione, è possibile saltare l'attività 5 più avanti in questo argomento.

Attività 1: Creazione e iscrizione a un argomento Amazon SNS

UnArgomento Amazon SNS è un canale di comunicazione che le attività Run Command e Run Command, registrate in una finestra di manutenzione, usano per inviare notifiche sullo stato dei comandi. Amazon SNS supporta diversi protocolli di comunicazione, tra cui HTTP/S, e-mail e altri Servizi AWS come Amazon Simple Queue Service (Amazon SQS). Per iniziare rapidamente, consigliamo di scegliere il protocollo e-mail. Per ulteriori informazioni su come creare un argomento, consultare la pagina Creazione di un argomento Amazon SNS nella Guida per gli sviluppatori di Amazon Simple Notification Service.

Nota

Dopo aver creato l'argomento, copiare o prendere nota del valore dell'ARN dell' argomento). Questo ARN dovrà essere specificato quando si invia un comando configurato per restituire le notifiche di stato.

Dopo aver creato l'argomento, effettuare la sottoscrizione specificando un Endpoint. Se si sceglie il protocollo e-mail, l'endpoint è l'indirizzo e-mail a cui si desidera ricevere le notifiche. Per ulteriori informazioni su come effettuare la sottoscrizione a un argomento, consultare Subscribing to an Amazon SNS topic (Sottoscrizione a un argomento di Amazon SNS) nella Amazon Simple Notification Service Developer Guide (Guida per sviluppatori di Amazon Simple Notification Service).

Amazon SNS invia una e-mail di conferma da Notifiche AWS all'indirizzo e-mail specificato. Aprire la e-mail e selezionare il collegamento Confirm subscription (Conferma sottoscrizione).

Riceverai un messaggio di conferma da. AWS Amazon SNS è ora configurato per ricevere notifiche e inviare la notifica come e-mail all'indirizzo specificato.

Attività 2: creazione di una policy IAM per le notifiche di Amazon SNS

Utilizza la seguente procedura per creare una policy personalizzata AWS Identity and Access Management (IAM) che fornisca le autorizzazioni per avviare le notifiche di Amazon SNS.

Per creare una policy IAM personalizzata per le notifiche di Amazon SNS
  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, seleziona Policies (Policy) e Create Policy (Crea policy). (Se viene visualizzato il pulsante Get Started (Inizia), sceglierlo, quindi scegliere Create Policy (Crea policy)).

  3. Scegliere la scheda JSON.

  4. Sostituisci il contenuto predefinito con uno dei seguenti, a seconda che l'argomento Amazon SNS utilizzi AWS KMS la crittografia:

    SNS topic not encrypted
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:region:account-id:sns-topic-name" } ] }

    regionrappresenta l'identificatore di una regione Regione AWS supportata da AWS Systems Manager, ad esempio us-east-2 per la regione Stati Uniti orientali (Ohio). Per un elenco dei region valori supportati, vedere la colonna Regione negli endpoint del servizio Systems Manager in. Riferimenti generali di Amazon Web Services

    account-idrappresenta l'identificatore a 12 cifre per il tuo Account AWS, nel formato. 123456789012

    sns-topic-namerappresenta il nome dell'argomento Amazon SNS che desideri utilizzare per la pubblicazione delle notifiche.

    SNS topic encrypted
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:region:account-id:sns-topic-name" }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:region:account-id:key/kms-key-id" } ] }

    regionrappresenta l'identificatore di una regione Regione AWS supportata da AWS Systems Manager, ad esempio us-east-2 per la regione Stati Uniti orientali (Ohio). Per un elenco dei region valori supportati, vedere la colonna Regione negli endpoint del servizio Systems Manager in. Riferimenti generali di Amazon Web Services

    account-idrappresenta l'identificatore a 12 cifre per il tuo Account AWS, nel formato. 123456789012

    sns-topic-namerappresenta il nome dell'argomento Amazon SNS che desideri utilizzare per la pubblicazione delle notifiche.

    kms-key-idrappresenta l'ID della chiave KMS di crittografia simmetrica AWS KMS da utilizzare per crittografare e decrittografare l'argomento, nel formato. 1234abcd-12ab-34cd-56ef-12345EXAMPLE

    Nota

    L'utilizzo della crittografia è a pagamento. AWS KMS Per ulteriori informazioni, consulta la sezione Gestione delle chiavi di crittografia e dei costi di Amazon SNS nella AWS Key Management Service Developer Guide.

  5. Scegli Successivo: Tag.

  6. (Facoltativo) Aggiungere una o più coppie tag chiave-valore per organizzare, monitorare o controllare l'accesso per questa policy.

  7. Scegli Prossimo: Rivedi.

  8. Nella pagina Review policy (Rivedi policy), per Name (Nome) inserire un nome per la policy inline. Ad esempio: my-sns-publish-permissions.

  9. (Facoltativo) In Description (Descrizione), inserire una descrizione per la policy.

  10. Scegliere Create Policy (Crea policy).

Attività 3: creazione di un ruolo IAM per le notifiche di Amazon SNS

La seguente procedura consente di creare un ruolo IAM per le notifiche di Amazon SNS. Questo ruolo di servizio viene utilizzato da Systems Manager per avviare le notifiche Amazon SNS. In tutte le procedure successive, questo ruolo viene chiamato ruolo IAM Amazon SNS.

Per creare un ruolo di servizio IAM per le notifiche di Amazon SNS
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione della console IAM, scegliere Ruoli e quindi Crea ruolo.

  3. Scegli il tipo di ruolo Servizio AWS, quindi scegli Systems Manager.

  4. Scegli il caso d'uso Systems Manager. Quindi, seleziona Next (Successivo).

  5. Nella pagina Attach permissions policies (Collega policy di autorizzazioni), selezionare la casella a sinistra del nome della policy personalizzata creata nell'attività 2. Ad esempio: my-sns-publish-permissions.

  6. (Facoltativo) Impostare un limite delle autorizzazioni. Questa è una caratteristica avanzata disponibile per i ruoli di servizio, ma non per i ruoli collegati ai servizi.

    Apri la sezione Permissions boundary (Limite delle autorizzazioni) e scegli Use a permissions boundary to control the maximum role permissions (Usa un limite delle autorizzazioni per controllare il numero massimo di autorizzazioni del ruolo). IAM include un elenco delle politiche AWS gestite e gestite dai clienti nel tuo account. Selezionare la policy da utilizzare per il limite delle autorizzazioni o scegliere Crea policy per aprire una nuova scheda del browser e creare una nuova policy da zero. Per ulteriori informazioni, consulta Creazione di policy IAM nella Guida per l'utente di IAM. Una volta creata la policy, chiudi la scheda e torna alla scheda originale per selezionare la policy da utilizzare per il limite delle autorizzazioni.

  7. Scegli Next (Successivo).

  8. Se possibile, specifica un nome del ruolo o un suffisso del nome del ruolo per facilitare l'identificazione dello scopo del ruolo. I nomi dei ruoli devono essere univoci all'interno dell' Account AWS. Non fanno distinzione tra maiuscole e minuscole. Ad esempio, non è possibile creare ruoli denominati sia PRODROLE che prodrole. Poiché varie entità possono fare riferimento al ruolo, non è possibile modificare il nome del ruolo dopo averlo creato.

  9. (Facoltativo) In Description (Descrizione), inserisci una descrizione per il nuovo ruolo.

  10. Scegli Edit (Modifica) nelle sezioni Step 1: Select trusted entities (Fase 1: seleziona le entità attendibili) o Step 2: Select permissions (Fase 2: seleziona autorizzazioni) per modificare i casi d'uso e le autorizzazioni per il ruolo.

  11. (Facoltativo) Aggiungi metadati all'utente collegando i tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo di tag in IAM, consulta la sezione Applicazione di tag alle risorse IAM nella Guida per l'utente di IAM.

  12. Rivedere il ruolo e scegliere Crea ruolo.

  13. Selezionare il nome del ruolo, quindi copiare o annotare quanto indicato in Role ARN (ARN ruolo). Questo Amazon Resource Name (ARN) per il ruolo viene utilizzato quando si invia un comando configurato per restituire le notifiche Amazon SNS.

  14. Tenere aperta la pagina Summary (Riepilogo).

Attività 4: configurazione dell'accesso utente

Se a un'entità IAM (utente, ruolo o gruppo) vengono assegnate le autorizzazioni di amministratore, l'utente o il ruolo ha accesso agli strumenti Run Command e Maintenance Windows in AWS Systems Manager.

Per le entità senza autorizzazioni di amministratore, un amministratore deve concedere le seguenti autorizzazioni all'entità IAM:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/sns-role-name" } ] }

Per fornire l'accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:

  • Utenti e gruppi in AWS IAM Identity Center:

    Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina Create a permission set (Creazione di un set di autorizzazioni) nella Guida per l'utente di AWS IAM Identity Center .

  • Utenti gestiti in IAM tramite un provider di identità:

    Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina Create a role for a third-party identity provider (federation) della Guida per l'utente IAM.

  • Utenti IAM:

Per configurare l'accesso utente e collegare la policy iam:PassRole a un account utente
  1. Nel riquadro di navigazione IAM, selezionare Users (Utenti), quindi selezionare l'account utente che si desidera configurare.

  2. Nella scheda Permissions (Autorizzazioni) dell'elenco delle policy, verificare che sia presente la policy AmazonSSMFullAccess o una policy equivalente che assegni all'account le autorizzazioni di accesso a Systems Manager.

  3. Scegliere Add inline policy (Aggiungi policy inline).

  4. Nella pagina Create Policy (Crea policy), scegliere la scheda Visual editor (Editor visivo).

  5. Selezionare Choose a service (Scegli un servizio) e quindi IAM..

  6. Per Azioni, nella casella di testo Filtro azioniPassRole, immettete e quindi selezionate la casella di controllo accanto a PassRole.

  7. Per Resources (Risorse), verificare che l'opzione Specific (Specifico) sia selezionata, quindi scegliere Add ARN (Aggiungi ARN).

  8. Nel campo Specify ARN for role (Specifica ARN per il ruolo), incollare l'ARN del ruolo IAM Amazon SNS copiato alla fine dell'attività 3. Il sistema popola automaticamente i campi Account e Role name with path (Nome ruolo con percorso).

  9. Scegliere Add (Aggiungi).

  10. Scegliere Review policy (Rivedi policy).

  11. Nella pagina Review Policy (Rivedi policy), inserire un nome, quindi scegliere Create Policy (Crea policy).

Attività 5: allega la PassRole policy iam: al ruolo della finestra di manutenzione

Quando si registra un'attività Run Command con una finestra di manutenzione, occorre specificare un Amazon Resource Name (ARN) del ruolo di servizio. Questo ruolo di servizio viene utilizzato da Systems Manager per l'esecuzione di attività registrate nella finestra di manutenzione. Per configurare le notifiche Amazon SNS per un'attività registrata Run Command, collegare una policy iam:PassRole al ruolo di servizio della finestra specificato. Se non si intende configurare l'attività registrata per le notifiche Amazon SNS, questa attività può essere ignorata.

La policy iam:PassRole consente al ruolo di servizio Maintenance Windows di passare il ruolo IAM Amazon SNS creato nell'attività 3 al servizio Amazon SNS. La procedura seguente mostra come collegare la policy iam:PassRole al ruolo di servizio Maintenance Windows.

Nota

Per inviare notifiche correlate alle attività Run Command registrate, occorre utilizzare un ruolo di servizio personalizzato per la finestra di manutenzione. Per informazioni, consultare Configurazione Maintenance Windows.

Se hai bisogno di creare un ruolo di servizio personalizzato per le attività della finestra di manutenzione, consulta la sezione Configurazione Maintenance Windows.

Per collegare la policy iam:PassRole al proprio ruolo Maintenance Windows
  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, selezionare Roles (Ruoli) e selezionare il ruolo IAM Amazon SNS creato nell'attività 3.

  3. Copiare o annotare l'ARN del ruolo e tornare alla sezione Roles (Ruoli) della console IAM.

  4. Selezionare il ruolo di servizio personalizzato Maintenance Windows creato dall'elenco Role name (Nome ruolo).

  5. Nella scheda Permissions (Autorizzazioni), verificare che la policy AmazonSSMMaintenanceWindowRole sia elencata o che ci sia una policy analoga che conceda l'autorizzazione alle finestre di manutenzione per l'API di Systems Manager. In caso contrario, scegli Aggiungi autorizzazioni, Collega policy per collegarla.

  6. Scegli Add permissions, Create inline policy (Aggiungi autorizzazioni, Crea policy inline).

  7. Scegliere la scheda Visual Editor (Editor visivo).

  8. In Service (Servizio) scegliere IAM.

  9. Per Azioni, nella casella di testo Filtra azioni, inserisciPassRole, quindi seleziona la casella di controllo accanto a PassRole.

  10. Per Resources (Risorse), scegliere Specific (Specifico), quindi scegliere Add ARN (Aggiungi ARN).

  11. Nella casella Specify ARN for role (Specifica ARN per ruolo), incollare l'ARN del ruolo IAM Amazon SNS creato nell'attività 3 e quindi scegliere Add (Aggiungi).

  12. Scegli Verifica policy.

  13. Nella pagina Rivedi policy, specifica un nome per la policy PassRole, quindi scegli Crea policy.