

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
<a name="monitoring-sender-reputation-pausing-account"></a>

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.

**Topics**
+ [1ère partie : Création d'un rôle IAM](#monitoring-sender-reputation-pausing-account-part-1)
+ [2e partie : Créer la fonction Lambda](#monitoring-sender-reputation-pausing-account-part-2)
+ [3e partie : Réactivation de l'envoi d'e-mails pour votre compte](#monitoring-sender-reputation-pausing-account-part-3)
+ [4e partie : Créer une rubrique Amazon SNS et s'abonner](#monitoring-sender-reputation-pausing-account-part-4)
+ [Partie 5 : Création d'une CloudWatch alarme](#monitoring-sender-reputation-pausing-account-part-5)
+ [6e partie : Test de la solution](#monitoring-sender-reputation-pausing-account-part-6)

## 1ère partie : Création d'un rôle IAM
<a name="monitoring-sender-reputation-pausing-account-part-1"></a>

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/](https://console.aws.amazon.com/iam/).

1. Dans le panneau de navigation, choisissez **Rôles**.

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

1. 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).

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

1. Sur la page **Add permissions** (Ajouter des autorisations), choisissez les stratégies suivantes :
   + **AWSLambdaBasicExecutionRole**
   + **Amazon SESFull Access**
**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**.

1. 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).

1. 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
<a name="monitoring-sender-reputation-pausing-account-part-2"></a>

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/](https://console.aws.amazon.com/lambda/).

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

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

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

1. 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\$164**.
   + 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](#monitoring-sender-reputation-pausing-account-part-1).

   Puis, choisissez **Créer une fonction**.

1. 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)**.

1. 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).

1. 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**.

1. 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](#monitoring-sender-reputation-pausing-account-part-1) 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
<a name="monitoring-sender-reputation-pausing-account-part-3"></a>

Le test de la fonction Lambda dans la [2e partie : Créer la fonction Lambda](#monitoring-sender-reputation-pausing-account-part-2) 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 plus d’informations, consultez le [Guide de l’utilisateur AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/).

**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. *sending\$1region*Remplacez-le 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
   ```

1. 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
<a name="monitoring-sender-reputation-pausing-account-part-4"></a>

 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 à l'adresse v3/home. https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/v3/home)

1. [Créez une rubrique](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) 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**).

1. [Abonnez-vous à la rubrique](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) en suivant les étapes décrites dans le *Guide du développeur Amazon Simple Notification Service*.

   1. Pour **Protocole**, choisissez **AWS Lambda**.

   1. Pour **Endpoint (Point de terminaison)**, choisissez la fonction Lambda que vous avez créée dans la [2e partie : Créer la fonction Lambda](#monitoring-sender-reputation-pausing-account-part-2).

## Partie 5 : Création d'une CloudWatch alarme
<a name="monitoring-sender-reputation-pausing-account-part-5"></a>

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](#monitoring-sender-reputation-pausing-account-part-4), qui exécute alors la fonction Lambda que vous avez créée dans la [2e partie : Créer la fonction Lambda](#monitoring-sender-reputation-pausing-account-part-2).

**Pour créer une CloudWatch alarme**

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

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

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

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

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

1. 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 **Suivant**.

1. Procédez comme suit :
   + Sous **Alarm Threshold (Seuil d'alarme)**, pour **Name (Nom)**, saisissez un nom pour l'alarme.
   + Sous **Whenever : Réputation. BounceRate**ou à **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 pour é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](#monitoring-sender-reputation-pausing-account-part-4).

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

## 6e partie : Test de la solution
<a name="monitoring-sender-reputation-pausing-account-part-6"></a>

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 
   }
   ```

1. 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 *MyAlarm* la commande précédente par le nom de l'alarme que vous avez créée et remplacez-la *region* par la région dans laquelle vous souhaitez suspendre automatiquement l'envoi d'e-mails. [Partie 5 : Création d'une CloudWatch alarme](#monitoring-sender-reputation-pausing-account-part-5)
**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'[DescribeAlarmHistory](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html)opération.

1. 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
   }
   ```

1. Effectuez les étapes de la [3e partie : Réactivation de l'envoi d'e-mails pour votre compte](#monitoring-sender-reputation-pausing-account-part-3) pour réactiver l'envoi d'e-mails pour votre compte.