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à.
Notifiche dell'ambiente Elastic Beanstalk con Amazon SNS
Puoi configurare il tuo ambiente AWS Elastic Beanstalk in modo che utilizzi Amazon Simple Notification Service (Amazon SNS) per notificarti eventi importanti che interessano la tua applicazione. Per ricevere messaggi di posta elettronica da AWS ogni volta che si verifica un errore o cambia l'integrità dell'ambiente, specifica un indirizzo e-mail quando crei un ambiente o in un secondo momento.
Nota
Elastic Beanstalk utilizza Amazon SNS per le notifiche. Per informazioni sui prezzi di Amazon SNS, consulta https://aws.amazon.com/sns/pricing/
Quando configuri le notifiche per il tuo ambiente, Elastic Beanstalk crea un argomento Amazon SNS per tuo conto. Per inviare messaggi a un argomento Amazon SNS, Elastic Beanstalk deve disporre dell'autorizzazione richiesta. Per ulteriori informazioni, consulta Configurazione delle autorizzazioni per l'invio di notifiche.
Quando si verifica un evento degno di nota, Elastic Beanstalk invia un messaggio all'argomento. Quindi, Amazon SNS inoltra i messaggi ricevuti agli abbonati dell'argomento. Gli eventi degni di nota includono gli errori di creazione di ambienti e tutte le modifiche allo stato dell'ambiente delle istanze. Gli eventi per le operazioni di Dimensionamento automatico Amazon EC2 (ad esempio, l'aggiunta e la rimozione di istanze dall'ambiente) e altri eventi informativi non attivano le notifiche.
È possibile immettere un indirizzo e-mail nella console Elastic Beanstalk quando si crea un ambiente o in un secondo momento. In questo modo verrà creato un argomento Amazon SNS a cui si effettuerà la sottoscrizione. Elastic Beanstalk gestisce il ciclo di vita dell'argomento e lo elimina quando l'ambiente viene terminato o quando l'indirizzo e-mail viene rimosso dalla console di gestione dell'ambiente.
Lo spazio dei nomi aws:elasticbeanstalk:sns:topics
offre opzioni per la configurazione di un argomento Amazon SNS tramite i file di configurazione, una CLI o l'SDK. Utilizzando uno di questi metodi, puoi configurare il tipo di sottoscrittore e l'endpoint. Per tipo di sottoscrittore, puoi scegliere una coda Amazon SQS o un URL HTTP.
Le notifiche Amazon SNS possono essere solo attivate o disattivate. A seconda delle dimensioni e della composizione dell'ambiente, la frequenza delle notifiche inviate all'argomento può essere elevata. Per configurare le notifiche da inviare in circostanze specifiche, sono disponibili altre opzioni. Con Amazon EventBridge puoi impostare regole basate sugli eventi che ti avvisano quando Elastic Beanstalk emette eventi che soddisfano criteri specifici. In alternativa, puoi configurare il tuo ambiente in modo da pubblicare parametri personalizzati e impostare gli allarmi Amazon CloudWatch per avvisarti quando tali parametri raggiungono una soglia di non integrità.
Configurazione delle notifiche utilizzando la console Elastic Beanstalk
La console Elastic Beanstalk ti consente di specificare un indirizzo e-mail per creare un argomento Amazon SNS per il tuo ambiente.
Per configurare le notifiche nella console Elastic Beanstalk
Apri la console Elastic Beanstalk
e nell'elenco Regions (Regioni) seleziona la tua Regione AWS. -
Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.
Nota
Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.
Nel riquadro di navigazione, seleziona Configuration (Configurazione).
-
Nella categoria di configurazione Updates, monitoring, and logging (Aggiornamenti, monitoraggio e registrazione), scegli Edit (Modifica).
Scorri verso il basso fino alla sezione Notifiche e-mail.
-
Immetti un indirizzo e-mail
-
Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.
Quando specifichi un indirizzo e-mail per le notifiche, Elastic Beanstalk crea un argomento Amazon SNS per il tuo ambiente e aggiunge una sottoscrizione. Amazon SNS invia un'e-mail all'indirizzo che ha effettuato la sottoscrizione per conferma. È necessario fare clic sul link incluso nel messaggio e-mail di conferma per attivare la sottoscrizione e ricevere le notifiche.
Configurazione delle notifiche tramite le opzioni di configurazione
Utilizza le opzioni dello spazio dei nomi aws:elasticbeanstalk:sns:topics per configurare le notifiche Amazon SNS per il tuo ambiente. Puoi impostare queste opzioni utilizzando i file di configurazione, una CLI o un SDK.
-
Endpoint di notifica: indirizzo e-mail, coda Amazon SQS o URL a cui inviare le notifiche. Se imposti questa opzione, vengono create una coda SQS e una sottoscrizione per l'endpoint specificato. Se l'endpoint non è un indirizzo e-mail, sarà necessario impostare anche l'opzione
Notification Protocol
. SNS convalida il valore diNotification Endpoint
in base al valore diNotification Protocol
. Impostando questa opzione più volte, si creano sottoscrizioni aggiuntive per l'argomento. Se rimuovi questa opzione, l'argomento sarà eliminato. -
Protocollo di notifica: il protocollo utilizzato per inviare notifiche a
Notification Endpoint
. L'impostazione predefinita di questa opzione èemail
. Imposta questa opzione suemail-json
per inviare messaggi e-mail in formato JSONhttp
ohttps
per pubblicare le notifiche in formato JSON in un endpoint HTTP oppuresqs
per inviare notifiche a una coda SQS.Nota
Le notifiche AWS Lambda non sono supportate.
-
ARN dell'argomento di notifica: dopo aver impostato un endpoint di notifica per l'ambiente, leggi questa impostazione per ottenere l'ARN dell'argomento SNS. Puoi impostare questa opzione anche per utilizzare un argomento SNS esistente per le notifiche. Un argomento che colleghi al tuo ambiente utilizzando questa opzione non viene eliminato quando modifichi l'opzione o termini l'ambiente.
Per configurare le notifiche Amazon SNS, devi disporre delle autorizzazioni necessarie. Se il tuo utente IAM utilizza la policy utente gestita AdministratorAccess-AWSElasticBeanstalk di Elastic Beanstalk, allora dovresti già disporre delle autorizzazioni necessarie per configurare l'argomento Amazon SNS predefinito creato da Elastic Beanstalk per il tuo ambiente. Tuttavia, quando configuri un argomento Amazon SNS che non è gestito da Elastic Beanstalk, sarà necessario aggiungere la seguente policy al tuo ruolo utente.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:SetTopicAttributes", "sns:GetTopicAttributes", "sns:Subscribe", "sns:Unsubscribe", "sns:Publish" ], "Resource": [ "arn:aws:sns:
us-east-2
:123456789012
:sns_topic_name
" ] } ] } -
Nome dell'argomento di notifica: imposta questa opzione per personalizzare il nome dell'argomento Amazon SNS utilizzato per le notifiche dell'ambiente. Se esiste già un argomento con lo stesso nome, Elastic Beanstalk lo collega all'ambiente.
avvertimento
Se colleghi un argomento SNS esistente a un ambiente con
Notification Topic Name
, Elastic Beanstalk elimina l'argomento nel caso in cui successivamente l'ambiente viene terminato o questa impostazione viene modificata.Se modifichi questa opzione, viene modificato anche il
Notification Topic ARN
. Se un argomento è già collegato all'ambiente, Elastic Beanstalk elimina il vecchio argomento, quindi ne crea uno nuovo insieme alla sottoscrizione.Utilizzando un nome di argomento personalizzato, dovrai inoltre fornire un ARN di un argomento personalizzato creato esternamente. La policy degli utenti gestiti non rileva automaticamente un argomento con un nome personalizzato, pertanto agli utenti IAM dovrai fornire autorizzazioni Amazon SNS personalizzate. Utilizza una policy simile a quella utilizzata per l'ARN di un argomento personalizzato, ma includi quanto riportato di seguito:
-
Includi altre due azioni nell'elenco
Actions
, in particolaresns:CreateTopic
,sns:DeleteTopic
-
Se cambi il
Notification Topic Name
da un nome di argomento personalizzato a un altro, dovrai includere gli ARN di entrambi gli argomenti nell'elencoResource
. In alternativa, includi un'espressione regolare che copra entrambi. In questo modo Elastic Beanstalk dispone delle autorizzazioni per eliminare il vecchio argomento e crearne uno nuovo.
-
La console Elastic Beanstalk e la CLI EB applicano i valori consigliati per le opzioni precedenti. Rimuovi queste impostazioni se desideri utilizzare i file di configurazione per configurare le stesse opzioni. Per informazioni dettagliate, consulta Valori consigliati.
Configurazione delle autorizzazioni per l'invio di notifiche
In questa sezione vengono illustrate le considerazioni sulla sicurezza relative alle notifiche che utilizzano Amazon SNS. Ci sono due casi distinti:
-
Utilizza l'argomento predefinito di Amazon SNS creato da Elastic Beanstalk per il tuo ambiente.
-
Fornisci un argomento Amazon SNS esterno tramite le opzioni di configurazione.
La policy di accesso predefinita per un argomento Amazon SNS consente solo al proprietario dell'argomento di pubblicarlo o iscriversi. Tuttavia, attraverso la corretta configurazione delle policy, Elastic Beanstalk può essere autorizzato a pubblicare su un argomento Amazon SNS in uno dei due casi descritti in questa sezione. Le sezioni seguenti forniscono ulteriori informazioni.
Autorizzazioni per un argomento predefinito
Quando configuri le notifiche per il tuo ambiente, Elastic Beanstalk crea un argomento Amazon SNS per il tuo ambiente. Per inviare messaggi a un argomento Amazon SNS, Elastic Beanstalk deve disporre dell'autorizzazione richiesta. Se il tuo ambiente utilizza il ruolo di servizio appositamente generato dalla console Elastic Beanstalk o dalla CLI di EB oppure il ruolo collegato ai servizi di monitoraggio dell'account, non è necessario eseguire altre operazioni. Questi ruoli gestiti includono l'autorizzazione necessaria che consente a Elastic Beanstalk di inviare messaggi all'argomento Amazon SNS.
Tuttavia, se al momento della creazione dell'ambiente hai fornito un ruolo di servizio personalizzato, accertati che quest'ultimo includa la policy seguente.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sns:Publish"
],
"Resource": [
"arn:aws:sns:us-east-2
:123456789012
:ElasticBeanstalkNotifications*"
]
}
]
}
Autorizzazioni per un argomento esterno
In Configurazione delle notifiche tramite le opzioni di configurazione, spieghiamo come è possibile sostituire l'argomento Amazon SNS fornito da Elastic Beanstalk con un altro argomento Amazon SNS. Se l'argomento viene sostituito, Elastic Beanstalk dovrà verificare che nel nuovo argomento SNS sia presente l'autorizzazione per la pubblicazione in modo da poterlo associare all'ambiente. Dovrebbe essere presente sns:Publish
. Il ruolo di servizio utilizza la stessa autorizzazione. Per verificarlo, Elastic Beanstalk invia una notifica di prova a SNS nell'ambito delle operazioni di creazione o aggiornamento dell'ambiente. Se questo test non riesce, anche il tentativo di creare o aggiornare l'ambiente avrà esito negativo. Elastic Beanstalk restituisce quindi un messaggio che spiega il motivo di questo errore.
Se fornisci un ruolo di servizio personalizzato per il tuo ambiente, assicurati che il ruolo del servizio personalizzato includa la policy riportata di seguito per consentire a Elastic Beanstalk di inviare messaggi all'argomento Amazon SNS. Nel codice seguente, sostituisci
con il nome dell'argomento Amazon SNS fornito nelle opzioni di configurazione.sns_topic_name
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sns:Publish"
],
"Resource": [
"arn:aws:sns:us-east-2
:123456789012
:sns_topic_name
"
]
}
]
}
Per maggiori informazioni sul controllo degli accessi di Amazon SNS, consulta Esempi di casi per il controllo degli accessi Amazon SNS nella Guida per sviluppatori di Amazon Simple Notification Service.