Automatisches Pausieren des E-Mail-Versands für Ihr gesamtes Amazon-SES-Konto - Amazon Simple Email Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisches Pausieren des E-Mail-Versands für Ihr gesamtes Amazon-SES-Konto

Die Verfahren in diesem Abschnitt erläutern die Schritte zur Einrichtung von Amazon SES, Amazon SNS CloudWatch, Amazon und AWS Lambda zur automatischen Unterbrechung des E-Mail-Versands für Ihr Amazon SES SES-Konto in einer einzelnen AWS Region. Wenn Sie E-Mails aus mehreren Regionen versenden, wiederholen Sie die Verfahren in diesem Abschnitt für jede Region, in der Sie diese Lösung implementieren möchten.

Teil 1: Erstellen einer IAM-Rolle

Der erste Schritt für die Konfiguration der automatischen Pausierung des E-Mail-Versands besteht darin, eine IAM-Rolle zu erstellen, welche die UpdateAccountSendingEnabled-API-Operation ausführen kann.

So erstellen Sie die IAM-Rolle
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Roles (Rolle) aus.

  3. Wählen Sie Rolle erstellen aus.

  4. Wählen Sie auf der Seite Select trusted entity (Auswahl der vertrauenswürdigen Entität) unter Trusted entity type (Auswahl der vertrauenswürdigen Entität) die Option AWS service (AWS -Service) aus.

  5. Wählen Sie unter Use case (Anwendungsfall) die Option Lambda und dann Next (Weiter) aus.

  6. Wählen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die folgenden Richtlinien aus:

    • AWSLambdaBasicExecutionRole

    • Amazon SES FullAccess

    Tipp

    Verwenden Sie das Suchfeld unter Permission policies (Berechtigungsrichtlinien), um diese Richtlinien schnell zu finden. Beachten Sie jedoch, dass Sie nach der Suche und Auswahl der ersten Richtlinie die Option Clear (Löschen) auswählen müssen, bevor Sie die zweite Richtlinie suchen und auswählen.

    Wählen Sie anschließend Weiter.

  7. Geben Sie auf der Seite Name, review, and create (Benennen, überprüfen und erstellen) unter Role details (Rollendetails) einen aussagekräftigen Namen für die Richtlinie im Feld Role name (Rollenname) ein.

  8. Stellen Sie sicher, dass die beiden Richtlinien in der Tabelle Permissions policy summary (Berechtigungsrichtlinienübersicht) ausgewählt sind, und wählen Sie dann Create role (Rolle erstellen) aus.

Teil 2: Erstellen der Lambda-Funktion

Nachdem Sie eine IAM-Rolle erstellt haben, können Sie die Lambda-Funktion erstellen, mit der das Senden von E-Mails für Ihr Konto pausiert wird.

So erstellen Sie die Lambda-Funktion:
  1. Öffnen Sie die AWS Lambda Konsole unter https://console.aws.amazon.com/lambda/.

  2. Wählen Sie mithilfe der Regionsauswahl die Region aus, in der Sie diese Lambda-Funktion bereitstellen möchten.

    Anmerkung

    Diese Funktion unterbricht nur den E-Mail-Versand in der AWS Region, die Sie in diesem Schritt ausgewählt haben. Wenn Sie aus mehr als einer Region E-Mails versenden, wiederholen Sie die Verfahren in diesem Abschnitt für jede Region, in der das Senden von E-Mails automatisch pausiert werden soll.

  3. Wählen Sie Create function (Funktion erstellen).

  4. Wählen Sie unter Create function (Funktion erstellen) die Option Author from scratch (Scratch-Autor).

  5. Führen Sie auf der Seite Basic information (Grundlegende Informationen) folgende Schritte aus:

    • Geben Sie für Function name (Funktionsname) einen Namen für die Lambda-Funktion ein.

    • Bei Laufzeit wählen Sie Node.js 18x( oder die Version, die derzeit in der Auswahlliste angeboten wird) aus.

    • Behalten Sie für Architecture (Architektur) den vorab ausgewählten Standardnamen x86_64bei.

    • Erweitern Sie die Option Change default execution role (Standardausführungsrolle ändern) unter „Permissions“ (Berechtigungen) und wählen Sie Use an existing role (Vorhandene Rolle verwenden) aus.

    • Klicken Sie in das Feld Existing role (Vorhandene Rolle) und wählen Sie die IAM-Rolle aus, die Sie in Teil 1: Erstellen einer IAM-Rolle erstellt haben.

    Wählen dann Sie Funktion erstellen.

  6. Fügen Sie im Code-Editor unter Code source (Codequelle) den folgenden Code ein:

    '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); } }); };

    Wählen Sie dann Deploy (Bereitstellen) aus.

  7. Wählen Sie Test aus. Wenn das Fenster Configure test event (Testereignis konfigurieren) angezeigt wird, geben Sie einen Namen im Feld Event name (Ereignisname) ein und wählen Sie dann Save (Speichern) aus.

  8. Erweitern Sie das Dropdown-Feld Test (Testen) und wählen Sie den Ereignisnamen aus, den Sie gerade erstellt haben. Wählen Sie dann Test (Testen) aus.

  9. Die Registerkarte Execution results (Ausführungsergebnisse) erscheint. Vergewissern Sie sich, dass direkt darunter und rechts Status: Succeeded angezeigt wird. Wenn die Funktion nicht ausgeführt werden kann, führen Sie die folgenden Schritte aus:

    • Überprüfen Sie, ob die IAM-Rolle, die Sie in Teil 1: Erstellen einer IAM-Rolle erstellt haben, die richtigen Richtlinien enthält.

    • Vergewissern Sie sich, dass der Code in der Lambda-Funktion keine Syntaxfehler enthält. Der Lambda-Code-Editor hebt automatisch Syntaxfehler und andere potenzielle Probleme hervor.

Teil 3: Erneutes Aktivieren des E-Mail-Versands für Ihr Konto

Ein Nebeneffekt des Testens der Lambda-Funktion in Teil 2: Erstellen der Lambda-Funktion besteht darin, dass das Versenden von E-Mails für Ihr Amazon-SES-Konto angehalten wird. In den meisten Fällen möchten Sie den Versand für Ihr Konto nicht unterbrechen, bis der CloudWatch Alarm ausgelöst wird.

Mithilfe der Verfahren in diesem Abschnitt wird der E-Mail-Versand für Ihr Amazon-SES-Konto erneut aktiviert. Um diese Verfahren ausführen zu können, müssen Sie die AWS Command Line Interface installieren und konfigurieren. Weitere Informationen finden Sie im AWS Command Line Interface -Benutzerhandbuch.

So aktivieren Sie das Senden von E-Mails erneut
  1. Geben Sie in der Befehlszeile den folgenden Befehl ein, um das Senden von E-Mails für Ihr Konto erneut zu aktivieren: Ersetzen Sie sending_region durch den Namen der Region, in der Sie den E-Mail-Versand wieder aktivieren möchten.

    aws ses update-account-sending-enabled --enabled --region sending_region
  2. Geben Sie in der Befehlszeile den folgenden Befehl ein, um den Status des E-Mail-Versands für Ihr Konto zu überprüfen:

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

    Wenn die folgende Meldung ausgegeben wird, haben Sie das Senden von E-Mails für Ihr Konto erfolgreich erneut aktiviert:

    { "Enabled": true }

Teil 4: Erstellen eines Amazon-SNS-Themas und -Abonnements

CloudWatch Damit Sie Ihre Lambda-Funktion ausführen können, wenn ein Alarm ausgelöst wird, müssen Sie zunächst ein Amazon SNS SNS-Thema erstellen und die Lambda-Funktion abonnieren.

So erstellen Sie das Amazon-SNS-Thema und abonnieren die Lambda-Funktion dazu
  1. Öffnen Sie die Amazon SNS-Konsole unter https://console.aws.amazon.com/sns/v3/home.

  2. Erstellen Sie ein Thema, indem Sie den Schritten im Entwicklerhandbuch für Amazon Simple Notification Service folgen.

    1. Der Type (Typ) muss Standard sein (nicht FIFO).

  3. Erstellen Sie ein Thema, indem Sie den Schritten im Entwicklerhandbuch für Amazon Simple Notification Service folgen.

    1. Wählen Sie unter Protocol (Protokoll) die Option AWS Lambda aus.

    2. Wählen Sie für Endpoint (Endpunkt) die Lambda-Funktion aus, die Sie in Teil 2: Erstellen der Lambda-Funktion erstellt haben.

Teil 5: Erstellen eines CloudWatch -Alarms

Dieser Abschnitt enthält Verfahren zum Erstellen eines Alarms, der ausgelöst wird CloudWatch , wenn eine Metrik einen bestimmten Schwellenwert erreicht. Wenn der Alarm ausgelöst wird, übermittelt er eine Benachrichtigung an das Teil 4: Erstellen eines Amazon-SNS-Themas und -Abonnements-Thema, das Sie in Amazon SNS erstellt haben, was dann wiederum die Lambda-Funktion auslöst, die Sie in Teil 2: Erstellen der Lambda-Funktion erstellt haben.

Um einen CloudWatch Alarm zu erstellen
  1. Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie mithilfe der Regionsauswahl die Region aus, in der Sie den E-Mail-Versand automatisch pausieren möchten.

  3. Klicken Sie im Navigationsbereich auf Alarms (Alarme).

  4. Wählen Sie Create Alarm (Alarm erstellen) aus.

  5. Wählen Sie im Fenster Create Alarm (Alarm erstellen) unter SES Metrics (SES-Metriken) die Option Account Metrics (Kontenmetriken) aus.

  6. Wählen Sie unter Metric Name (Metrikname) eine der folgenden Optionen aus:

    • Ruf. BounceRate— Wählen Sie diese Kennzahl, wenn Sie den E-Mail-Versand für Ihr Konto unterbrechen möchten, wenn die allgemeine Hard-Bounce-Rate für Ihr Konto einen von Ihnen definierten Schwellenwert überschreitet.

    • Ruf. ComplaintRate— Wählen Sie diese Kennzahl, wenn Sie den E-Mail-Versand für Ihr Konto unterbrechen möchten, wenn die Gesamtbeschwerdequote für Ihr Konto einen von Ihnen definierten Schwellenwert überschreitet.

    Wählen Sie Weiter aus.

  7. Führen Sie folgende Schritte aus:

    • Geben Sie unter Alarm Threshold (Alarm-Schwellenwert) im Feld Name einen Namen für den Alarm ein.

    • Unter Wann auch immer: Ruf. BounceRateOder wann immer: Ruf. ComplaintRate, geben Sie den Schwellenwert an, durch den der Alarm ausgelöst wird.

      Anmerkung

      Ihr Konto wird automatisch überprüft, wenn Ihre Absprungrate 5% oder Ihre Beschwerderate 0,1% übersteigt. Wenn Sie die Absprungs- oder Beschwerdequote angeben, aufgrund derer der CloudWatch Alarm ausgelöst wird, empfehlen wir Ihnen, Werte zu verwenden, die unter diesen Raten liegen, um zu verhindern, dass Ihr Konto überprüft wird.

    • Wählen Sie unter Actions (Aktionen) für Whenever this alarm die Option State is ALARM (Status ist ALARM) aus. Wählen Sie für Send notification to (Benachrichtigung senden an) das Amazon-SNS-Thema aus, das Sie in Teil 4: Erstellen eines Amazon-SNS-Themas und -Abonnements erstellt haben.

    Wählen Sie Alarm erstellen aus.

Teil 6: Testen der Lösung

Sie können jetzt den Alarm testen, um sicherzustellen, dass er die Lambda-Funktion ausführt, wenn er in den Status ALARM versetzt wird. Sie können die API-Operation SetAlarmState verwenden, um den Status des Alarms temporär zu ändern.

Die Verfahren in diesem Abschnitt sind optional, es wird jedoch empfohlen, diese durchzuführen, um sicherzustellen, dass die gesamte Lösung ordnungsgemäß konfiguriert ist.

  1. Geben Sie in der Befehlszeile den folgenden Befehl ein, um den Status des E-Mail-Versands für Ihr Konto zu überprüfen: Ersetzen Sie Region durch den Namen der Region.

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

    Wenn der Versand für Ihr Konto aktiviert ist, wird die folgende Meldung ausgegeben:

    { "Enabled": true }
  2. Geben Sie in der Befehlszeile den folgenden Befehl ein, um den Alarmstatus vorübergehend in ALARM zu ändern: aws cloudwatch set-alarm-state --alarm-name MyAlarm --state-value ALARM --state-reason "Testing execution of Lambda function" --region region

    Ersetzen MyAlarmSie den vorherigen Befehl durch den Namen des AlarmsTeil 5: Erstellen eines CloudWatch -Alarms, in dem Sie den Alarm erstellt haben, und ersetzen Sie Region durch die Region, in der Sie den E-Mail-Versand automatisch unterbrechen möchten.

    Anmerkung

    Wenn Sie diesen Befehl ausführen, wechselt der Status des Alarms innerhalb weniger Sekunden von OK zu ALARM und zurück zu OK. Sie können diese Statusänderungen auf der Registerkarte Verlauf des Alarms in der CloudWatch Konsole oder mithilfe der DescribeAlarmHistoryOperation anzeigen.

  3. Geben Sie in der Befehlszeile den folgenden Befehl ein, um den Status des E-Mail-Versands für Ihr Konto zu überprüfen:

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

    Wenn die Lambda-Funktion erfolgreich ausgeführt wird, wird die folgende Meldung ausgegeben:

    { "Enabled": false }
  4. Führen Sie die Schritte in Teil 3: Erneutes Aktivieren des E-Mail-Versands für Ihr Konto aus, um den E-Mail-Versand für Ihr Konto erneut zu aktivieren.