Interruption automatique de l'envoi d'e-mails pour la totalité de votre compte Amazon SES - Amazon Simple Email Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Interruption automatique de l'envoi d'e-mails pour la totalité de votre compte Amazon SES

Les procédures décrites dans cette section expliquent les étapes à suivre pour configurer Amazon SES, Amazon SNS CloudWatch, Amazon et AWS Lambda pour suspendre automatiquement l'envoi d'e-mails pour votre compte Amazon SES dans une seule AWS région. Si vous envoyez un e-mail à partir de plusieurs régions, répétez les procédures de cette section pour chaque région dans laquelle vous souhaitez mettre en œuvre cette solution.

1ère partie : Création d'un rôle IAM

La première étape de la procédure de configuration de l'interruption automatique de l'envoi d'e-mails consiste à créer un rôle IAM capable de créer l'opération d'API UpdateAccountSendingEnabled.

Pour créer le rôle IAM
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Rôles.

  3. Sélectionnez Create role (Créer un rôle).

  4. Sur la page Select trusted entity (Sélectionner une entité de confiance), choisissez AWS service (Service AWS ) pour Trusted entity type (Type d’entité de service).

  5. Sous Use case (Cas d'utilisation), sélectionnez Lambda, puis Next (Suivant).

  6. Sur la page Add permissions (Ajouter des autorisations), choisissez les stratégies suivantes :

    • AWSLambdaBasicExecutionRole

    • Amazon SE FullAccess

    Astuce

    Utilisez la zone de recherche sous Permission policies (Politiques d'autorisation) pour localiser rapidement ces politiques, mais notez qu'après avoir recherché et sélectionné la première politique, vous devez choisir Clear filters (Effacer les filtres) avant de rechercher et de sélectionner la deuxième politique.

    Ensuite, sélectionnez Suivant.

  7. Dans la page Name, review, and create (Nommer, vérifier et créer), sous Role details (Détails du rôle), entrez un nom significatif pour la politique dans le champ Role name (Nom du rôle).

  8. Vérifiez que les deux politiques que vous avez sélectionnées sont répertoriées dans la table Permissions policy summary (Récapitulatif des politiques d’autorisation), puis choisissez Create role (Créer un rôle).

2e partie : Créer la fonction Lambda

Une fois que vous avez créé un rôle IAM, vous pouvez créer la fonction Lambda qui interrompt l'envoi d'e-mails pour votre compte.

Pour créer la fonction Lambda
  1. Ouvrez la AWS Lambda console à l'adresse https://console.aws.amazon.com/lambda/.

  2. Utilisez le sélecteur de région pour choisir la région dans laquelle vous souhaitez déployer la fonction Lambda.

    Note

    Cette fonction interrompt uniquement l'envoi d'e-mails dans la AWS région que vous avez sélectionnée à cette étape. Si vous envoyez un e-mail à partir de plusieurs régions, répétez les procédures de cette section pour chaque région dans laquelle vous souhaitez interrompre automatiquement l'envoi d'e-mails.

  3. Sélectionnez Create function (Créer une fonction).

  4. Sous Create function (Créer une fonction), choisissez Author from scratch (Créer de bout en bout).

  5. Sur la page Basic information (Informations de base), effectuez les étapes suivantes :

    • Pour Function name (Nom de la fonction), attribuez un nom à la fonction Lambda.

    • Pour Environnement d'exécution, choisissez Node.js 18x (ou la version actuellement proposée dans la liste de sélection).

    • Pour Architecture, conservez la valeur par défaut présélectionnée, x86_64.

    • Sous Permissions (Autorisations), développez Change default execution role (Modifier le rôle d'exécution par défaut) et choisissez Use an existing role (Utiliser un rôle existant).

    • Cliquez à l'intérieur de la liste déroulante Existing role (Rôle existant) et choisissez le rôle IAM que vous avez créé dans 1ère partie : Création d'un rôle IAM.

    Puis, choisissez Créer une fonction.

  6. Sous Code source (Source de code), dans l'éditeur de code, collez le code suivant :

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

    Choisissez ensuite Deploy (Déployer).

  7. Sélectionnez Tester). Si la fenêtre Configure test event (Configurer un événement de test) s'affiche, entrez un nom dans le champ Event name (Nom d'événement), puis choisissez Save (Enregistrer).

  8. Développer la zone déroulante Test et sélectionnez le nom de l'événement que vous venez de créer, puis choisissez Test.

  9. L’onglet Execution results (Résultats de l'exécution) apparaîtra, juste en dessous et à droite, assurez-vous que Status: Succeeded s'affiche. Si la fonction n'a pas pu s'exécuter, procédez comme suit :

    • Vérifiez que le rôle IAM que vous avez créé dans la 1ère partie : Création d'un rôle IAM contient les stratégies appropriées.

    • Vérifiez que le code de la fonction Lambda ne comporte pas d'erreurs. L'éditeur de code Lambda met automatiquement en surbrillance les erreurs de syntaxe et d'autres problèmes potentiels.

3e partie : Réactivation de l'envoi d'e-mails pour votre compte

Le test de la fonction Lambda dans la 2e partie : Créer la fonction Lambda a pour conséquence d'interrompre l'envoi d'e-mails pour votre compte Amazon SES. Dans la plupart des cas, vous ne souhaitez pas suspendre l'envoi pour votre compte tant que l' CloudWatch alarme n'est pas déclenchée.

Les procédures de cette section visent à réactiver l'envoi d'e-mails pour votre compte Amazon SES. Pour effectuer ces procédures, vous devez installer et configurer l' AWS Command Line Interface. Pour en savoir plus, veuillez consulter le Guide de l'utilisateur AWS Command Line Interface.

Pour réactiver l'envoi d'e-mails
  1. Sur la ligne de commande, entrez la commande suivante pour réactiver l'envoi d'e-mails pour votre compte. Remplacez sending_region par le nom de la région dans laquelle vous souhaitez réactiver l'envoi d'e-mails.

    aws ses update-account-sending-enabled --enabled --region sending_region
  2. Sur la ligne de commande, entrez la commande suivante pour vérifier le statut d'envoi d'e-mails pour votre compte :

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

    Si vous voyez la sortie suivante, c'est que vous avez réussi à réactiver l'envoi d'e-mails pour votre compte :

    { "Enabled": true }

4e partie : Créer une rubrique Amazon SNS et s'abonner

CloudWatch Pour exécuter votre fonction Lambda lorsqu'une alarme est déclenchée, vous devez d'abord créer une rubrique Amazon SNS et y abonner la fonction Lambda.

Pour créer une rubrique Amazon SNS et y abonner la fonction Lambda
  1. Ouvrez la console Amazon SNS à partir de l’adresse https://console.aws.amazon.com/sns/v3/home.

  2. Créez une rubrique en suivant les étapes décrites dans le Guide du développeur Amazon Simple Notification Service.

    1. Le Type doit être Standard (et non FIFO).

  3. Abonnez-vous à la rubrique en suivant les étapes décrites dans le Guide du développeur Amazon Simple Notification Service.

    1. Pour Protocole, choisissez AWS Lambda.

    2. Pour Endpoint (Point de terminaison), choisissez la fonction Lambda que vous avez créée dans la 2e partie : Créer la fonction Lambda.

5e partie : Création d'une alarme CloudWatch

Cette section contient des procédures permettant de créer une alarme déclenchée lorsqu'une métrique atteint un certain seuil. CloudWatch Lorsqu'elle se déclenche, l'alarme adresse une notification à la rubrique Amazon SNS que vous avez créée dans la 4e partie : Créer une rubrique Amazon SNS et s'abonner, qui exécute alors la fonction Lambda que vous avez créée dans la 2e partie : Créer la fonction Lambda.

Pour créer une CloudWatch alarme
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Utilisez le sélecteur de région pour choisir la région dans laquelle vous souhaitez interrompre automatiquement l'envoi d'e-mails.

  3. Dans le panneau de navigation, cliquez sur Alarms (Alarmes).

  4. Sélectionnez Create Alarm (Créer une alarme).

  5. Dans la fenêtre Create Alarm (Créer une alarme), sous SES Metrics (Métriques SES), choisissez Account Metrics (Métriques du compte).

  6. Sous Metric Name (Nom de la métrique), choisissez l'une des options suivantes :

    • Réputation. BounceRate— Choisissez cette métrique si vous souhaitez suspendre l'envoi d'e-mails pour votre compte lorsque le taux de rebond total de votre compte dépasse un seuil que vous avez défini.

    • Réputation. ComplaintRate— Choisissez cette métrique si vous souhaitez suspendre l'envoi d'e-mails pour votre compte lorsque le taux global de plaintes pour votre compte dépasse un seuil que vous définissez.

    Choisissez Next (Suivant).

  7. Procédez comme suit :

    • Sous Alarm Threshold (Seuil d'alarme), pour Name (Nom), saisissez un nom pour l'alarme.

    • Sous Whenever : Réputation. BounceRateou à chaque fois : réputation. ComplaintRate, spécifiez le seuil qui déclenche l'alarme.

      Note

      Votre compte est automatiquement examiné si votre taux de rebond dépasse 5 % ou si votre taux de plaintes dépasse 0,1 %. Lorsque vous spécifiez le taux de rebond ou de plaintes à l'origine du déclenchement de l' CloudWatch alarme, nous vous recommandons d'utiliser des valeurs inférieures à ces taux afin d'éviter que votre compte ne soit examiné.

    • Sous Actions, pour Whenever this alarm (Chaque fois que cette alarme), choisissez State is ALARM (l'état est ALARME). Pour Send notification to (Envoyer la notification à), choisissez la rubrique Amazon SNS que vous avez créée dans la 4e partie : Créer une rubrique Amazon SNS et s'abonner.

    Choisissez Create Alarm (Créer l'alarme).

6e partie : Test de la solution

Vous pouvez maintenant tester l'alarme afin de vérifier qu'elle exécute la fonction Lambda lorsqu'elle passe à l'état ALARM. Vous pouvez utiliser l'opération d'API SetAlarmState pour modifier temporairement l'état de l'alarme.

Bien que les procédures de cette section soient facultatives, nous vous recommandons de les exécuter pour vérifier que l'ensemble de la solution est correctement configurée.

  1. Sur la ligne de commande, entrez la commande suivante pour vérifier le statut d'envoi d'e-mails pour votre compte. Remplacez region par le nom de la région.

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

    Si l'envoi est activé pour votre compte, vous obtenez la sortie suivante :

    { "Enabled": true }
  2. Sur la ligne de commande, tapez la commande suivante afin de changer temporairement l'état de l'alarme en ALARM : aws cloudwatch set-alarm-state --alarm-name MyAlarm --state-value ALARM --state-reason "Testing execution of Lambda function" --region region

    Remplacez MyAlarmla commande précédente par le nom de l'alarme que vous avez créée5e partie : Création d'une alarme CloudWatch , et remplacez la région par la région dans laquelle vous souhaitez suspendre automatiquement l'envoi d'e-mails.

    Note

    Lorsque vous exécutez cette commande, le statut de l'alarme passe de OK à ALARM et de nouveau à OK en l'espace de quelques secondes. Vous pouvez consulter ces changements d'état dans l'onglet Historique de l'alarme de la CloudWatch console ou en utilisant l'DescribeAlarmHistoryopération.

  3. Sur la ligne de commande, entrez la commande suivante pour vérifier le statut d'envoi d'e-mails pour votre compte.

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

    Si la fonction Lambda a été exécutée correctement, vous obtenez la sortie suivante :

    { "Enabled": false }
  4. Effectuez les étapes de la 3e partie : Réactivation de l'envoi d'e-mails pour votre compte pour réactiver l'envoi d'e-mails pour votre compte.