Sospensione automatica dell'invio di e-mail per l'intero account Amazon SES - Amazon Simple Email Service

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à.

Sospensione automatica dell'invio di e-mail per l'intero account Amazon SES

Le procedure in questa sezione spiegano i passaggi per configurare Amazon SES, Amazon SNS CloudWatch, Amazon e AWS Lambda sospendere automaticamente l'invio di e-mail per il tuo account Amazon SES in una singola regione. AWS Se invii e-mail da diverse Regioni, ripeti le procedure di questa sezione per ogni Regione in cui desideri implementare questa soluzione.

Fase 1: creazione di un ruolo IAM

La prima fase per la configurazione della sospensione automatica dell'invio di e-mail consiste nel creare un ruolo IAM in grado di eseguire l'operazione API UpdateAccountSendingEnabled.

Creazione del ruolo IAM
  1. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Roles (Ruoli).

  3. Selezionare Create role (Crea ruolo).

  4. Nella pagina Select trusted entity (Seleziona entità attendibile), scegli AWS service (Servizio ) per Trusted entity type (tipo Entità attendibile).

  5. In Use case (Caso d'uso), scegli Lambda e quindi scegli Next (Successivo).

  6. Nella pagina Add permissions (Aggiungi autorizzazioni), scegli le policy seguenti:

    • AWSLambdaBasicExecutionRole

    • Amazon SES FullAccess

    Suggerimento

    Utilizzare la casella di ricerca in Policy di autorizzazione per individuare rapidamente queste policy, ma si noti che dopo aver cercato e selezionato la prima policy, è necessario scegliere Clear filters (Cancella filtri) prima di cercare e selezionare la seconda policy.

    Quindi scegli Successivo.

  7. Nella pagina Name, review, and create (Assegna nome, rivedi e crea), in Dettagli ruolo, inserisci un nome significativo per la policy nel campo Nome ruolo.

  8. Verificare che le due policy selezionate siano elencate nella tabella Riepilogo della policy di autorizzazione, quindi scegliere Create role (Crea ruolo).

Fase 2: creazione della funzione Lambda

Dopo aver creato un ruolo IAM, puoi creare la funzione Lambda per la sospensione dell'invio di e-mail per il tuo account.

Creazione della funzione Lambda
  1. Apri la AWS Lambda console all'indirizzo https://console.aws.amazon.com/lambda/.

  2. Usa il selettore della Regione per scegliere la Regione in cui desideri distribuire questa funzione Lambda.

    Nota

    Questa funzione sospende solo l'invio di e-mail nella AWS regione selezionata in questo passaggio. Se invii e-mail da più Regioni, ripeti le procedure di questa sezione per ogni Regione in cui desideri che venga sospeso automaticamente l'invio di e-mail.

  3. Seleziona Create function (Crea funzione).

  4. In Create function (Crea funzione), scegli Author from scratch (Crea da zero).

  5. In Informazioni di base eseguire queste operazioni:

    • Per Nome digita un nome per la funzione Lambda.

    • Per Tempo di esecuzione, scegli Node.js 14 (o la versione attualmente disponibile nell'elenco selezionato).

    • Per Architettura, mantieni il valore predefinito preselezionato, x86_64.

    • In autorizzazioni, espandi Change default execution role (Modifica ruolo di esecuzione predefinito) e scegli Use an existing role (Usa un ruolo esistente).

    • Fai clic all'interno dell’elenco Ruolo esistente e scegli il ruolo IAM creato in Fase 1: creazione di un ruolo IAM.

    Quindi, seleziona Crea funzione.

  6. In Fonte funzione, nell'editor di codice, incolla il codice seguente:

    'use strict'; const { SES } = require("@aws-sdk/client-ses") // Create a new SES object. var ses = new SES({}); // Specify the parameters for this operation. In this case, there is only one // parameter to pass: the Enabled parameter, with a value of false // (Enabled = false disables email sending, Enabled = true enables it). var params = { Enabled: false }; exports.handler = (event, context, callback) => { // Pause sending for your entire SES account ses.updateAccountSendingEnabled(params, function(err, data) { if(err) { console.log(err.message); } else { console.log(data); } }); };

    Scegliere quindi Deploy (Distribuisci).

  7. Scegli Test (Esegui test). Se viene visualizzata la finestra Configure test event (Configura evento test), digita un nome nel campo Nome evento), quindi scegli Create (Crea).

  8. Espandi la casella Test e seleziona il nome dell'evento appena creato e quindi scegli Test.

  9. Apparirà la scheda Risultati dell'esecuzione, appena sotto e a destra; assicurati che venga visualizzato Status: Succeeded. Se l'esecuzione della funzione non è riuscita, procedi nel seguente modo:

    • Verifica che il ruolo IAM creato in Fase 1: creazione di un ruolo IAM contenga le policy corrette.

    • Verifica che il codice nella funzione Lambda non contenga errori. L'editor di codice Lambda evidenzia automaticamente gli errori di sintassi e altri potenziali problemi.

Fase 3: riabilitazione dell'invio di e-mail per l'account

Un effetto secondario del test della funzione Lambda in Fase 2: creazione della funzione Lambda è la sospensione dell'invio di e-mail per l'account Amazon SES. Nella maggior parte dei casi, non si desidera sospendere l'invio del proprio account fino a quando non viene CloudWatch attivato l'allarme.

Le procedure in questa sezione consentono di riabilitare l'invio di e-mail per l'account Amazon SES. Per completare questa procedura, è necessario installare e configurare AWS Command Line Interface. Per ulteriori informazioni, consultare la Guida per l'utente di AWS Command Line Interface.

Riabilitazione dell'invio di e-mail
  1. Nella riga di comando, digita il comando seguente per riabilitare l'invio di e-mail per tuo account. Sostituisci sending_region con il nome della regione in cui desideri abilitare nuovamente l'invio di e-mail.

    aws ses update-account-sending-enabled --enabled --region sending_region
  2. Nella riga di comando, digita il comando seguente per controllare lo stato dell'invio di e-mail per il tuo account:

    aws ses get-account-sending-enabled --region sending_region

    Se viene visualizzato l'output seguente, la riabilitazione dell'invio di e-mail per il tuo account è riuscita:

    { "Enabled": true }

Fase 4: creazione di un argomento Amazon SNS e sottoscrizione

CloudWatch Per eseguire la funzione Lambda quando viene attivato un allarme, devi prima creare un argomento Amazon SNS e sottoscrivere la funzione Lambda.

Per creare un argomento Amazon SNS e sottoscrivere la funzione Lambda all'argomento
  1. Apri la console Amazon SNS all'indirizzo https://console.aws.amazon.com/sns/v3/home.

  2. Crea un argomento seguendo i passaggi della Guida per gli sviluppatori di Amazon Simple Notification Service.

    1. In Type (Tipo), deve essere selezionata l'opzione Standard (non FIFO).

  3. Effettua la sottoscrizione all'argomento seguendo i passaggi della Guida per gli sviluppatori di Amazon Simple Notification Service.

    1. Per Protocol (Protocollo) scegliere AWS Lambda.

    2. Per Endpoint scegli la funzione Lambda creata in Fase 2: creazione della funzione Lambda.

Parte 5: Creazione di un allarme CloudWatch

Questa sezione contiene le procedure per creare un allarme CloudWatch che viene attivato quando una metrica raggiunge una determinata soglia. Quando l'allarme viene attivato, recapita una notifica all'argomento Amazon SNS creato in Fase 4: creazione di un argomento Amazon SNS e sottoscrizione, che quindi esegue la funzione Lambda creata in Fase 2: creazione della funzione Lambda.

Per creare un allarme CloudWatch
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Usa il selettore della Regione per scegliere la Regione in cui desideri che l'invio di e-mail venga sospeso automaticamente.

  3. Nel pannello di navigazione, seleziona Alarms (Allarmi).

  4. Scegli Create Alarm (Crea allarme).

  5. Nella finestra Create Alarm (Crea allarme), in SES Metrics (Parametri SES), scegli Account Metrics (Parametri account).

  6. In Metric Name (Nome parametro) scegli una delle opzioni seguenti:

    • Reputazione. BounceRate— Scegli questa metrica se desideri sospendere l'invio di e-mail per il tuo account quando la frequenza di rimbalzo complessiva del tuo account supera una soglia da te definita.

    • Reputazione. ComplaintRate— Scegli questa metrica se desideri sospendere l'invio di e-mail per il tuo account quando la percentuale complessiva di reclami relativa al tuo account supera una soglia da te definita.

    Seleziona Successivo.

  7. Completa questa procedura:

    • In Alarm Threshold (Soglia allarme) digita un nome per l'allarme in Name (Nome).

    • In Whenever: Reputation. BounceRateo Ogni volta: Reputazione. ComplaintRate, specifica la soglia che causa l'attivazione dell'allarme.

      Nota

      Il tuo account viene automaticamente sottoposto a revisione se la frequenza di rimbalzo supera il 5% o se la frequenza dei reclami supera lo 0,1%. Quando specifichi la frequenza di rimbalzo o di reclamo che fa scattare l' CloudWatch allarme, ti consigliamo di utilizzare valori inferiori a queste percentuali per evitare che il tuo account venga sottoposto a revisione.

    • In Actions (Operazioni), in Whenever this alarm (Ogni volta che questo allarme), scegli State is ALARM (Lo stato è ALLARME). Per Send notification to (Invia notifica a) scegli l'argomento Amazon SNS creato in Fase 4: creazione di un argomento Amazon SNS e sottoscrizione.

    Scegli Crea allarme.

Fase 6: verifica della soluzione

A questo punto, puoi testare l'allarme per verificare che esegua la funzione Lambda quando passa nello stato ALARM. Puoi usare l'operazione API SetAlarmState per modificare temporaneamente lo stato dell'allarme.

Le procedure di questa sezione sono facoltative, ma ti consigliamo di completarle per assicurarti che l'intera soluzione sia configurata correttamente.

  1. Nella riga di comando, digita il comando seguente per controllare lo stato dell'invio di e-mail per il tuo account. Sostituisci region con il nome della regione.

    aws ses get-account-sending-enabled --region region

    Se l'invio è abilitato per il tuo account, verrà visualizzato l'output seguente:

    { "Enabled": true }
  2. Nella riga di comando, digita il comando seguente per modificare temporaneamente lo stato di allarme in ALARM: aws cloudwatch set-alarm-state --alarm-name MyAlarm --state-value ALARM --state-reason "Testing execution of Lambda function" --region region

    Sostituisci MyAlarmnel comando precedente con il nome dell'avviso in Parte 5: Creazione di un allarme CloudWatch cui hai creato e sostituisci la regione con la regione in cui desideri sospendere automaticamente l'invio di e-mail.

    Nota

    Quando esegui questo comando, lo stato dell'allarme passa da OK a ALARM e torna a OK entro pochi secondi. Puoi visualizzare queste modifiche allo stato nella scheda Cronologia dell'allarme nella CloudWatch console o utilizzando l'DescribeAlarmHistoryoperazione.

  3. Nella riga di comando, digita il comando seguente per controllare lo stato dell'invio di e-mail per il tuo account.

    aws ses get-account-sending-enabled --region region

    Se la funzione Lambda viene eseguita correttamente, viene visualizzato il seguente output:

    { "Enabled": false }
  4. Completa le fasi in Fase 3: riabilitazione dell'invio di e-mail per l'account per riabilitare l'invio di e-mail per il tuo account.