Ricerca nel sito web

Come utilizzare Cloudformation per creare un argomento SNS su AWS


Su questa pagina

  1. Prerequisiti
  2. Cosa faremo?
  3. Accedi ad AWS
  4. Crea un modello
  5. Crea uno stack Cloudformation
  6. Verifica argomento SNS
  7. Elimina la pila
  8. Conclusione

AWS SNS è un servizio di notifica semplice. Può essere utilizzato da Cloudwatch per inviare e-mail di avviso. Innanzitutto, è necessario creare un argomento SNS e quindi sottoscrivere un endpoint.

In questo articolo, creeremo un argomento SNS utilizzando Cloudformation e ci iscriveremo a un endpoint di posta elettronica. Vedremo anche come eliminare l'argomento e l'abbonamento SNS utilizzando lo stack Cloudformation stesso. Si presume che tu abbia una conoscenza di base di SNS e del suo funzionamento. Questo articolo è incentrato sulla creazione di SNS utilizzando lo stack Cloudformation.

Prerequisiti

  1. Account AWS (crealo se non ne hai uno).
  2. Comprensione di base di SNS.
  3. Comprensione di base di Cloudformation.

Che cosa faremo?

  1. Accedi ad AWS.
  2. Crea un modello.
  3. Crea una pila.
  4. Conferma l'iscrizione.
  5. Elimina lo stack.

Accedi ad AWS

Fare clic qui per accedere alla pagina di accesso AWS. Inserisci le tue credenziali utente per accedere al tuo account AWS.

Dopo aver effettuato correttamente l'accesso al tuo account, vedrai la console di gestione AWS come segue.

Crea un modello

Prima di procedere con la creazione dello stack, creiamo un template \create-sns-topic.template\ sul tuo computer locale con la seguente configurazione Cloudformation.

Puoi anche scaricare il modello Cloudformation dal mio repository Github, di seguito è riportato il link al modello.

Link: https://github.com/shivalkarrahul/DevOps/blob/master/aws/cloudformation/create-sns-topic/create-sns-topic.template

---
AWSTemplateFormatVersion: '2010-09-09'
Description: The SNS Topic
Parameters:
  SubscriptionEndPoint:
    Type: String
    Description: The endpoint that receives notifications.
  SubscriptionProtocol:
    Type: String
    Description: The subscription protocol
    AllowedValues:
    - http
    - https
    - email
    - email-json
    - sms
    - sqs
    - application
    - lambda
    Default: email
Mappings: {}
Conditions: {}
Resources:
  SNSTopic:
    Type: AWS::SNS::Topic
    Properties: {}
  SNSSubscription:
    Type: AWS::SNS::Subscription
    Properties:
      Endpoint:
        Ref: SubscriptionEndPoint
      Protocol:
        Ref: SubscriptionProtocol
      TopicArn:
        Ref: SNSTopic
Outputs:
  QueueName:
    Description: Name of the SNS Topic we created
    Value:
      Fn::GetAtt:
      - SNSTopic
      - TopicName
  TopicARN:
    Description: ARN of the SNS Topic we created 
    Value:
      Ref: SNSTopic

Crea uno stack Cloudformation

Una volta che hai il modello sul tuo computer locale, sei pronto per creare uno stack Cloudformation.

Fare clic su \Servizi\ in alto a sinistra dello schermo e cercare Cloudformation in gestione e governance.

Per creare una pila vedrai un'opzione \Crea pila\ sul lato destro dello schermo, cliccaci sopra. Vedrai 2 opzioni, di queste 2 opzioni fai clic su \Con nuove risorse (standard). \delete2\ è uno stack esistente nel mio account nella regione selezionata, non lo vedrai nel tuo account.

Fai clic su \carica un file modello\ e scegli il modello dal tuo computer locale. Fare clic sul pulsante \Avanti\.

Specifica i dettagli dello stack come il nome dello stack, l'endpoint della sottoscrizione e il protocollo della sottoscrizione. Puoi scegliere il protocollo dall'elenco a discesa sotto l'opzione SubscriptionProtocol. Ho scelto \email\ come SubscriptionProtocol, se SubscriptionProtocol è \email\ dovrai specificare il tuo indirizzo email come SubscriptionEndpoint. Fare clic sul pulsante \Avanti\ per procedere.

I tag sono facoltativi e non è obbligatorio specificare i tag in questa pagina. Fare clic sul pulsante \Avanti\ per procedere ulteriormente.

Scorri verso il basso alla fine della pagina e fai clic sul pulsante \Crea stack\. Questo creerà uno stack che a sua volta creerà un argomento SNS con l'email come endpoint dell'abbonamento.

La creazione delle risorse richiederà alcuni minuti e una volta che le risorse sono state create vedrai lo stato come \CREATE_COMPLETE\ per lo stack.

Verifica argomento SNS

Puoi andare su SNS e verificare se l'argomento è stato creato. Cerca SNS che ti porterà alla console SNS.

Qui, fai clic su \Argomenti\ nel pannello di sinistra e scegli l'argomento che è stato creato. Il tuo argomento SNS avrà il nome dell'argomento preceduto dal nome dello stack Cloudformation. Nella scheda \Abbonamento\ vedrai che anche l'endpoint è stato creato, ma lo stato è \In attesa di conferma\.

Quando viene creata la sottoscrizione, invia un collegamento di conferma sull'endpoint specificato. Qui avevamo specificato un indirizzo e-mail come endpoint, quindi dobbiamo aver ricevuto un'e-mail con il link di conferma.

Vai alla posta in arrivo dell'e-mail che hai specificato come endpoint per l'abbonamento. Apri l'e-mail e vedrai un collegamento ipertestuale \Conferma iscrizione\, fai clic su di esso.

Una volta confermata l'iscrizione, verrà visualizzato un messaggio come segue.

Ora, torna all'argomento e nella scheda \Abbonamenti\ controlla l'endpoint e vedrai lo stato come \Confermato\. Questo completa la creazione di un argomento SNS insieme a un endpoint ad esso. Ora sei pronto per pubblicare messaggi su questo SNS che invierà tali messaggi all'endpoint specificato.

Elimina la pila

Se non hai più bisogno del SNS e dell'abbonamento nell'account, puoi eliminare lo stack che a sua volta eliminerà le risorse che ha creato. Vai allo stack e fai clic sul pulsante \Elimina\.

Conferma l'azione di eliminazione facendo clic sul pulsante \Elimina stack\. Una volta eliminato lo stack, anche tutte le risorse che ha creato verranno eliminate e non potranno essere recuperate. Fai attenzione durante l'esecuzione dell'operazione di eliminazione se gestisci l'account AWS della tua organizzazione o il cliente.

L'eliminazione richiederà alcuni minuti, dopo l'eliminazione dello stack vedrai lo stato \DELETE_COMPLETE\ e lo stack non sarà più disponibile.

Conclusione

In questo articolo, abbiamo visto quanto sia facile creare un argomento SNS e un abbonamento all'argomento utilizzando lo stack Cloudformation. Abbiamo utilizzato la posta elettronica come protocollo di abbonamento. Puoi scegliere un protocollo di tua scelta dall'elenco disponibile e specificarne l'endpoint per l'argomento. Abbiamo anche visto come l'eliminazione dello stack cancella le risorse che ha creato.