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 SES konfigurieren, um Zuverlässigkeitsmetriken zu exportieren, die für E-Mails gelten, die unter Verwendung eines bestimmten Konfigurationssatzes an Amazon CloudWatch gesendet werden. Anschließend können Sie diese Metriken verwenden, um CloudWatch-Alarme zu erstellen, die für diese Konfigurationssätze gelten. Wenn diese Alarme bestimmte Grenzwerte überschreiten, können Sie das Senden von den E-Mails automatisch pausieren, welche die angegebenen Konfigurationssätze verwenden, ohne die gesamten Fähigkeiten zum E-Mail-Versand Ihres Amazon-SES-Kontos zu beeinträchtigen.
Anmerkung
Die in diesem Abschnitt beschriebene Lösung pausiert das Senden von E-Mails für einen bestimmten Konfigurationssatz 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.
Themen in diesem Abschnitt:
- Teil 1: Aktivieren Sie die Berichterstattung der Zuverlässigkeitsmetriken für den Konfigurationssatz
- Teil 2: Erstellen einer IAM-Rolle
- Teil 3: Erstellen der Lambda-Funktion
- Teil 4: Erneute Aktivierung des E-Mail-Versands für den Konfigurationssatz
- Teil 5: Erstellen eines Amazon-SNS-Themas
- Teil 6: So erstellen Sie einen CloudWatch-Alarm
- Teil 7: Testen der Lösung
Teil 1: Aktivieren Sie die Berichterstattung der Zuverlässigkeitsmetriken für den Konfigurationssatz
Bevor Sie Amazon SES konfigurieren, um das Senden von E-Mails für einen Konfigurationssatz automatisch zu pausieren, müssen Sie zuerst den Export der Zuverlässigkeitsmetriken 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 für die Konfiguration der automatischen Pausierung des E-Mail-Versands besteht darin, eine IAM-Rolle zu erstellen, welche die UpdateConfigurationSetSendingEnabled
-API-Operation ausführen kann.
So erstellen Sie die IAM-Rolle
Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie im Navigationsbereich Roles (Rolle) aus.
-
Wählen Sie Create role (Rolle erstellen) aus.
-
Wählen Sie unter Select type of trusted entity (Typ der vertrauenswürdigen Entität auswählen) die Option AWS-Service aus.
-
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.
-
Wählen Sie auf der Seite Attach permissions policies (Berechtigungsrichtlinien anfügen) die folgenden Richtlinien aus:
-
AWS LambdaBasicExecutionRole
-
AmazonSESFullAccess
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).
-
-
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, mit der das Senden von E-Mails für den Konfigurationssatz pausiert wird.
So erstellen Sie die Lambda-Funktion:
Öffnen Sie die AWS Lambda-Konsole unter https://console.aws.amazon.com/lambda/
. -
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.
-
Wählen Sie Create function (Funktion erstellen).
-
Wählen Sie unter Create function (Funktion erstellen) die Option Author from scratch (Scratch-Autor).
-
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 Create function (Funktion erstellen).
-
-
Fügen Sie sie im Code-Editor unter Function code (Funktionscode) den folgenden Code ein:
'use strict'; var aws = require('aws-sdk'); // Create a new SES object. var ses = new aws.SES(); // Specify the parameters for this operation. In this example, you pass the // Enabled parameter, with a value of false (Enabled = false disables email // sending, Enabled = true enables it). You also pass the ConfigurationSetName // parameter, with a value equal to the name of the configuration set for // which you want to pause email sending. var params = { ConfigurationSetName:
ConfigSet
, Enabled: false }; exports.handler = (event, context, callback) => { // Pause sending for a configuration set ses.updateConfigurationSetSendingEnabled(params, function(err, data) { if(err) { console.log(err.message); } else { console.log(data); } }); };Ersetzen Sie
ConfigSet
im vorherigen Code mit dem Namen des Konfigurationssatzes. Wählen Sie Save (Speichern) aus. -
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.
-
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 kein Pausieren des Versands für den Konfigurationssatz, 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
-
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
\ --enabledErsetzen Sie im vorherigen Befehl
ConfigSet
mit den Namen des Konfigurationssatzes, für den Sie den E-Mail-Versand pausieren möchten. -
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 reputationOptionsDer Befehl erzeugt eine Ausgabe, die dem folgenden Beispiel ähnelt:
{ "ConfigurationSet": { "Name": "
ConfigSet
" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": true } }Wenn der
SendingEnabled
-Werttrue
lautet, dann wurde der E-Mail-Versand für den Konfigurationssatz erfolgreich neu aktiviert.
Teil 5: Erstellen eines Amazon-SNS-Themas
Damit CloudWatch Ihre Lambda-Funktion ausführt, wenn ein Alarm ausgelöst wird, müssen Sie zuerst ein Amazon-SNS-Thema erstellen und es für die Lambda-Funktion abonnieren.
So erstellen Sie das Amazon-SNS-Thema
Öffnen Sie die Amazon SNS-Konsole unter https://console.aws.amazon.com/sns/v3/home
. -
Wählen Sie mithilfe der Regionsauswahl die Region aus, in der Sie den E-Mail-Versand automatisch pausieren möchten.
-
Wählen Sie im Navigationsbereich Topics (Themen) aus.
-
Wählen Sie Create new topic (Neues Thema erstellen).
-
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.
-
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.
-
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.
-
-
Klicken Sie auf Create subscription (Abonnement erstellen).
Teil 6: So erstellen Sie einen CloudWatch-Alarm
Dieser Abschnitt enthält Verfahren zum Erstellen eines Alarms in CloudWatch, der ausgelöst wird, wenn eine Metrik einen bestimmten Schwellenwert erreicht. Wenn der Alarm ausgelöst wird, übermittelt er eine Benachrichtigung an das Amazon-SNS-Thema, das Sie in Teil 5: Erstellen eines Amazon-SNS-Themas erstellt haben, was dann wiederum die Lambda-Funktion auslöst, die Sie in Teil 3: Erstellen der Lambda-Funktion erstellt haben.
So erstellen Sie einen CloudWatch-Alarm
Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie mithilfe der Regionsauswahl die Region aus, in der Sie den E-Mail-Versand automatisch pausieren möchten.
-
Wählen Sie im Navigationsbereich auf der linken Seite Alarms (Alarme) aus.
-
Wählen Sie Create Alarm (Alarm erstellen) aus.
-
Wählen Sie im Fenster Create Alarm (Alarme erstellen) unter SES Metrics (SES-Metriken) die Option Configuration Set Metrics (Konfigurationsset-Metriken) aus.
-
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:
-
Reputation.BounceRate – Wählen Sie diese Metrik aus, wenn Sie das Senden von E-Mails für den Konfigurationssatz pausieren möchten, sobald die gesamte Unzustellbarkeitsquote für den Konfigurationssatz einen von Ihnen definierten Schwellenwert überschreitet.
-
Reputation.ComplaintRate – Wählen Sie diese Metrik aus, wenn Sie das Senden von E-Mails für den Konfigurationssatz pausieren möchten, sobald die gesamte Beschwerdequote für den Konfigurationssatz einen von Ihnen definierten Schwellenwert überschreitet.
Wählen Sie Next (Weiter).
-
-
Führen Sie folgende Schritte aus:
-
Geben Sie unter Alarm Threshold (Alarm-Schwellenwert) im Feld Name einen Namen für den Alarm ein.
-
Geben Sie unter Whenever: Reputation.BounceRate oder Whenever: Reputation.ComplaintRate den Schwellenwert an, der zum Auslösen des Alarms führt.
Anmerkung
Wenn die gesamte Unzustellbarkeitsquote für Ihr Amazon-SES-Konto 10 % überschreitet, oder wenn die gesamte Beschwerdequote für Ihr Amazon-SES-Konto 0,5 % überschreitet, wird für Ihr -Konto automatisch eine Prüfung festgelegt. Wenn Sie die Unzustellbarkeits- und Beschwerdequote angeben, die dazu führt, dass der CloudWatch-Alarm ausgelöst wird, empfehlen wir, Werte zu verwenden, die weit unterhalb dieser Quoten liegen, um zu verhindern, dass eine Prüfung für Ihr Konto festgelegt 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 5: Erstellen eines Amazon-SNS-Themas erstellt haben.
Wählen Sie Create Alarm (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 die Operation SetAlarmState
in der CloudWatch-API 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 zu überprüfen, ob die gesamte Lösung ordnungsgemäß konfiguriert ist.
So testen Sie die Lösung
-
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
-Werttrue
lautet, dann ist der E-Mail-Versand für den Konfigurationssatz derzeit aktiviert. -
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
im vorherigen Befehl mit dem Namen des Alarms, den Sie in Teil 6: So erstellen Sie einen CloudWatch-Alarm erstellt haben.Anmerkung
Wenn Sie diesen Befehl ausführen, wechselt der Status des Alarms innerhalb weniger Sekunden von
OK
zuALARM
und zurück zuOK
. Die Anzeige dieser Statusänderungen erfolgt auf der Registerkarte History (Verlauf) des Alarms in der CloudWatch-Konsole oder durch Verwendung der DescribeAlarmHistory-Operation. -
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
-Wertfalse
lautet, dann ist das Senden von E-Mails für den Konfigurationssatz deaktiviert. Dies bedeutet, dass die Lambda-Funktion erfolgreich ausgeführt wurde. -
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.