Automatisches Pausieren des E-Mail-Versands für einen Konfigurationssatz - 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 einen Konfigurationssatz

Sie können Amazon so konfigurierenSES, dass Reputationsmetriken exportiert werden, die spezifisch für E-Mails sind, die mit einer bestimmten Konfiguration an Amazon gesendet werden CloudWatch. Sie können diese Metriken dann verwenden, um CloudWatch Alarme zu erstellen, die für diese Konfigurationssätze spezifisch sind. Wenn diese Alarme bestimmte Schwellenwerte überschreiten, können Sie den Versand von E-Mails, die die angegebenen Konfigurationssätze verwenden, automatisch unterbrechen, ohne die allgemeinen E-Mail-Versandfunktionen Ihres SES Amazon-Kontos zu beeinträchtigen.

Anmerkung

Die in diesem Abschnitt beschriebene Lösung unterbricht den E-Mail-Versand für eine bestimmte Konfiguration in einer einzelnen Region. AWS 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: Aktivieren Sie die Berichterstattung der Zuverlässigkeitsmetriken für den Konfigurationssatz

Bevor Sie Amazon so konfigurieren könnenSES, dass der E-Mail-Versand für einen Konfigurationssatz automatisch angehalten wird, müssen Sie zunächst den Export von Reputationsmetriken für den Konfigurationssatz aktivieren.

Führen Sie für die Aktivierung des Exports von Unzustellbarkeits -und Beschwerdemetriken für den Konfigurationssatz die Schritte in Reputationsmetriken anzeigen und exportieren aus.

Teil 2: Erstellen einer IAM-Rolle

Der erste Schritt bei der Konfiguration der automatischen Unterbrechung des E-Mail-Versands besteht darin, eine IAM Rolle zu erstellen, die den UpdateConfigurationSetSendingEnabled API Vorgang 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 Rollen aus.

  3. Wählen Sie Create role (Rolle erstellen) aus.

  4. Wählen Sie unter Select type of trusted entity (Typ der vertrauenswürdigen Entität auswählen) die Option AWS -Service aus.

  5. Wählen Sie unter Choose the service that will use this role (Die Rolle auswählen, die diese Rollen verwenden wird) die Option Lambda aus. Wählen Sie Next: Permissions (Weiter: Berechtigungen) aus.

  6. Wählen Sie auf der Seite Attach permissions policies (Berechtigungsrichtlinien anfügen) die folgenden Richtlinien aus:

    • AWS Lambda BasicExecutionRole

    • Ein mazonSESFull Zugriff (Wir empfehlen Ihnen, eine auf Ihre Bedürfnisse zugeschnittene benutzerdefinierte Rolle zu verwenden, die auch UpdateConfigurationSetSendingEnabledAnrufberechtigungen beinhaltet.)

    Tipp

    Verwenden Sie das Suchfeld oben in der Liste der Richtlinien, um diese Richtlinien schnell zu finden.

    Klicken Sie auf Next: Review (Weiter: Überprüfen).

  7. Geben Sie auf der Seite Review (Überprüfen) im Feld Name einen Namen für die Rolle ein. Wählen Sie Create role (Rolle erstellen) aus.

Teil 3: Erstellen der Lambda-Funktion

Nachdem Sie eine IAM Rolle erstellt haben, können Sie die Lambda-Funktion erstellen, die den E-Mail-Versand für den Konfigurationssatz unterbricht.

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 pausiert nur das Senden von E-Mails für Konfigurationssätze in der AWS -Region, die Sie in diesem Schritt auswählen. 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 unter Author from scratch (Scratch-Autor) die folgenden Schritte durch:

    • Geben Sie für Name einen Namen für die Lambda-Funktion ein.

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

    • Wählen Sie für Role (Rolle) die Option Choose an existing role (Vorhandene Rolle auswählen).

    • Wählen Sie für Existing role (Vorhandene Rolle) die IAM-Rolle aus, die Sie in Teil 2: Erstellen einer IAM-Rolle erstellt haben.

    Wählen Sie Funktion erstellen aus.

  6. Fügen Sie sie im Code-Editor unter Function code (Funktionscode) den folgenden Code ein:

    'use strict'; import { SES } from 'aws-sdk'; const ses = new SES(); const configSet = 'CONFIG_SET_NAME_HERE'; const params = { ConfigurationSetName: configSet, Enabled: false }; export const handler = async (event) => { try { const data = await ses.updateConfigurationSetSendingEnabled(params).promise(); console.log('Configuration Set Update:', data); return { statusCode: 200, body: JSON.stringify({ message: 'Successfully paused email sending for configuration set.', data }), }; } catch (err) { console.error('Error:', err.message); return { statusCode: 500, body: JSON.stringify({ message: 'Failed to pause email sending for configuration set.', error: err.message }), }; } };

    Ersetzen Sie ConfigSet den obigen Code durch den Namen des Konfigurationssatzes. Wählen Sie Save (Speichern) 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 Create (Erstellen) aus.

  8. Stellen Sie sicher, dass die Benachrichtigungsleiste oben auf der Seite Execution result: succeeded anzeigt. 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 2: 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 4: Erneute Aktivierung des E-Mail-Versands für den Konfigurationssatz

Ein Nebeneffekt des Tests der Lambda-Funktion in Teil 3: Erstellen der Lambda-Funktion ist, dass das Senden von E-Mails für den Konfigurationssatz pausiert ist. In den meisten Fällen möchten Sie das Senden für den Konfigurationssatz nicht unterbrechen, bis der CloudWatch Alarm ausgelöst wird.

Mithilfe der Verfahren in diesem Abschnitt wird der E-Mail-Versand für Ihren Konfigurationssatz 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 den E-Mail-Versand für den Konfigurationssatz erneut zu aktivieren:

    aws ses update-configuration-set-sending-enabled \ --configuration-set-name ConfigSet \ --enabled

    Ersetzen Sie den Befehl im vorherigen Befehl ConfigSet durch den Namen des Konfigurationssatzes, für den Sie den E-Mail-Versand unterbrechen möchten.

  2. Geben Sie in der Befehlszeile den folgenden Befehl ein, um sicherzustellen, dass das Senden von E-Mails aktiviert ist:

    aws ses describe-configuration-set \ --configuration-set-name ConfigSet \ --configuration-set-attribute-names reputationOptions

    Der Befehl erzeugt eine Ausgabe, die dem folgenden Beispiel ähnelt:

    { "ConfigurationSet": { "Name": "ConfigSet" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": true } }

    Wenn der SendingEnabled-Wert true lautet, dann wurde der E-Mail-Versand für den Konfigurationssatz erfolgreich neu aktiviert.

Teil 5: Ein SNS Amazon-Thema erstellen

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

Um das SNS Amazon-Thema zu erstellen
  1. Öffnen Sie die SNS Amazon-Konsole unter https://console.aws.amazon.com/sns/v3/home.

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

  3. Wählen Sie im Navigationsbereich Topics (Themen) aus.

  4. Wählen Sie Create new topic (Neues Thema erstellen).

  5. Geben Sie im Fenster Create new topic (Neues Thema erstellen) unter Topic name (Themenname) einen Namen für das Thema ein. Optional können Sie im Feld Display name (Display-Name) einen aussagekräftigeren Namen eingeben.

    Wählen Sie Create topic (Thema erstellen) aus.

  6. Aktivieren Sie in der Liste der Themen das Kontrollkästchen neben dem im vorherigen Schritt erstellten Thema. Wählen Sie im Menü Actions (Ereignis) die Option Subscribe to topic (Im Thema anmelden) aus.

  7. Wählen Sie im Fenster Create subscription (Abonnement erstellen) folgende Optionen aus:

    • Für Protocol (Protokoll) wählen Sie AWS Lambda aus.

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

    • Wählen Sie für Version or alias (Version oder alias) die Option default (Standard) aus.

  8. Wählen Sie Create subscription (Abonnement erstellen) aus.

Teil 6: Einen Alarm erstellen CloudWatch

Dieser Abschnitt enthält Verfahren zum Erstellen eines Alarms CloudWatch , der ausgelöst wird, wenn eine Metrik einen bestimmten Schwellenwert erreicht. Wenn der Alarm ausgelöst wird, sendet er eine Benachrichtigung an das SNS Amazon-ThemaTeil 5: Ein SNS Amazon-Thema erstellen, in dem Sie erstellt haben, das dann die Lambda-Funktion ausführt, in der Sie erstellt haben. Teil 3: Erstellen der Lambda-Funktion

Um einen Alarm zu erstellen CloudWatch
  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. Wählen Sie im Navigationsbereich auf der linken Seite Alarms (Alarme) aus.

  4. Wählen Sie Alarm erstellen aus.

  5. Wählen Sie im Fenster Create Alarm unter SESMetrics die Option Configuration Set Metrics aus.

  6. Suchen Sie in der ses:configuration-set-Spalte den Konfigurationssatz, für den Sie einen Alarm erstellen möchten. Wählen Sie unter Metric Name (Metrikname) eine der folgenden Optionen aus:

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

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

    Wählen Sie Weiter.

  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

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

    • Wählen Sie unter Aktionen für Wann immer dieser Alarm ausgelöst wird die Option Status ist ALARM aus. Wählen Sie unter Benachrichtigung senden an das SNS Amazon-Thema aus, in dem Sie es erstellt habenTeil 5: Ein SNS Amazon-Thema erstellen.

    Wählen Sie Alarm erstellen aus.

Teil 7: 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 den SetAlarmState Vorgang in verwenden CloudWatch API, um den Status des Alarms vorübergehend zu ändern.

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

So testen Sie die Lösung
  1. Geben Sie in der Befehlszeile den folgenden Befehl ein, um den Status des E-Mail-Versands für den Konfigurationssatz zu überprüfen:

    aws ses describe-configuration-set --configuration-set-name ConfigSet

    Wenn der Versand für den Konfigurationssatz aktiviert ist, wird die folgende Ausgabe angezeigt:

    { "ConfigurationSet": { "Name": "ConfigSet" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": true } }

    Wenn der SendingEnabled-Wert true lautet, dann ist der E-Mail-Versand für den Konfigurationssatz derzeit aktiviert.

  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"

    Ersetzen Sie MyAlarm den vorherigen Befehl durch den Namen des Alarms, den Sie in erstellt habenTeil 6: Einen Alarm erstellen CloudWatch .

    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 den Konfigurationssatz zu überprüfen:

    aws ses describe-configuration-set \ --configuration-set-name ConfigSet

    Wenn die Lambda-Funktion erfolgreich ausgeführt wird, sehen Sie eine Ausgabe, die dem folgenden Beispiel ähnelt:

    { "ConfigurationSet": { "Name": "ConfigSet" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": false } }

    Wenn der SendingEnabled-Wert false lautet, dann ist das Senden von E-Mails für den Konfigurationssatz deaktiviert. Dies bedeutet, dass die Lambda-Funktion erfolgreich ausgeführt wurde.

  4. Führen Sie die Schritte in Teil 4: Erneute Aktivierung des E-Mail-Versands für den Konfigurationssatz aus, um den E-Mail-Versand für den Konfigurationssatz erneut zu aktivieren.