

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Suspensión automática del envío de correos electrónicos para un conjunto de configuración
<a name="monitoring-sender-reputation-pausing-configuration-set"></a>

Puede configurar Amazon SES para que exporte métricas de reputación específicas de los correos electrónicos que se envían mediante una configuración específica establecida a Amazon CloudWatch. A continuación, puede utilizar estas métricas para crear CloudWatch alarmas específicas para estos conjuntos de configuraciones. Cuando estas alarmas superen determinados umbrales, puede suspender automáticamente el envío de mensajes de correo electrónico que utilizan los conjuntos de configuración especificados, sin que esto afecte a las funcionalidades generales de envío de correo de su cuenta de Amazon SES.

**nota**  
La solución que se describe en esta sección detiene el envío de correo electrónico para un conjunto de configuraciones específico en una sola AWS región. Si envía correo electrónico desde varias regiones, repita los procedimientos de esta sección para cada región en la que desee implementar esta solución.

**Topics**
+ [Parte 1: habilitar los informes de métricas de reputación de un conjunto de configuración](#monitoring-sender-reputation-pausing-configuration-set-part-1)
+ [Parte 2: crear un rol de IAM](#monitoring-sender-reputation-pausing-configuration-set-part-2)
+ [Parte 3: crear la función de Lambda](#monitoring-sender-reputation-pausing-configuration-set-part-3)
+ [Parte 4: volver a habilitar el envío de correo electrónico para el conjunto de configuración](#monitoring-sender-reputation-pausing-configuration-set-part-4)
+ [Parte 5: crear un tema de Amazon SNS](#monitoring-sender-reputation-pausing-configuration-set-part-5)
+ [Parte 6: Crear una alarma CloudWatch](#monitoring-sender-reputation-pausing-configuration-set-part-6)
+ [Parte 7: probar la solución](#monitoring-sender-reputation-pausing-configuration-set-part-7)

## Parte 1: habilitar los informes de métricas de reputación de un conjunto de configuración
<a name="monitoring-sender-reputation-pausing-configuration-set-part-1"></a>

Para poder configurar Amazon SES para suspender automáticamente el envío de correo electrónico para un conjunto de configuración, primero debe habilitar la exportación de métricas de reputación para el conjunto de configuración.

Para habilitar la exportación de métricas de rebotes y reclamaciones para el conjunto de configuración, realice los pasos de [Visualización y exportación de métricas de reputación](configuration-sets-export-metrics.md).

## Parte 2: crear un rol de IAM
<a name="monitoring-sender-reputation-pausing-configuration-set-part-2"></a>

El primer paso para configurar la suspensión automática del envío de correo electrónico es crear un rol de IAM que pueda ejecutar la operación de la API `UpdateConfigurationSetSendingEnabled`.

**Creación del rol de IAM**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Seleccione **Roles** en el panel de navegación.

1. Elija **Create role** (Crear rol).

1. En **Seleccionar tipo de entidad de confianza**, seleccione **Servicio de AWS **.

1. En **Choose the service that will use this role (Elegir el servicio que usará este rol)**, elija **Lambda**. Elija **Next: Permissions** (Siguiente: permisos).

1. En la página **Attach permissions policies** (Adjuntar políticas de permisos), elija las siguientes políticas:
   + **AWS Lambda BasicExecutionRole**
   + **Amazon SESFull Access** (le recomendamos que utilice un rol personalizado adaptado a sus necesidades que incluya permisos para llamar) [https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdateConfigurationSetSendingEnabled.html](https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdateConfigurationSetSendingEnabled.html). 
**sugerencia**  
Utilice el cuadro de búsqueda de la parte superior de la lista de políticas para buscar rápidamente estas políticas.

   Elija **Next: Review (Siguiente: revisar)**.

1. En la página **Review** (Revisar), en **Name** (Nombre), escriba un nombre para el rol. Elija **Crear rol**.

   

## Parte 3: crear la función de Lambda
<a name="monitoring-sender-reputation-pausing-configuration-set-part-3"></a>

Después de crear un rol de IAM, puede crear la función de Lambda que suspende el envío de correo electrónico para el conjunto de configuración.

**Para crear la función de Lambda**

1. Abra la AWS Lambda consola en [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Utilice el selector de regiones para elegir la región en la que desea implementar esta función de Lambda.
**nota**  
Esta función solo detiene el envío de correo electrónico para los conjuntos de configuración de la región de AWS que seleccione en este paso. Si envía correos electrónicos desde más de una región, repita los procedimientos de esta sección para cada región en la que desee suspender automáticamente el envío de correos electrónicos.

1. Seleccione **Creación de función**.

1. En **Create function** (Crear función), elija **Author from scratch** (Autor desde cero).

1. En **Author from scratch** (Autor desde cero), haga lo siguiente:
   + En **Name** (Nombre), escriba un nombre para la función de Lambda.
   + Para **Runtime** (Tiempo de ejecución), elija **Node.js 14 x** (o la versión que se ofrece actualmente en la lista de selección).
   + En **Role** (Rol), elija **Choose an existing role** (Elegir un rol existente).
   + En **Existing role** (Rol existente), elija el rol de IAM que creó en [Parte 2: crear un rol de IAM](#monitoring-sender-reputation-pausing-configuration-set-part-2).

   Seleccione **Creación de función**.

1. En **Function code** (Código de función), en el editor de código, pegue el código siguiente:

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

   Sustituya *ConfigSet* el código anterior por el nombre del conjunto de configuraciones. Seleccione **Save**.

1. Seleccione **Probar** Si aparece la ventana **Configure test event** (Configurar prueba de evento), escriba un nombre en el campo **Event name** (Nombre de evento) y, a continuación, elija **Create** (Crear).

1.  Asegúrese de que en la barra de notificación de la parte superior de la página se indica `Execution result: succeeded`. Si la función no se pudo ejecutar, haga lo siguiente:
   + Compruebe que el rol de IAM que creó en [Parte 2: crear un rol de IAM](#monitoring-sender-reputation-pausing-configuration-set-part-2) contiene las políticas correctas.
   + Compruebe que el código de la función de Lambda no contiene ningún error. El editor de código de Lambda resalta automáticamente los errores de sintaxis y otros posibles problemas.

## Parte 4: volver a habilitar el envío de correo electrónico para el conjunto de configuración
<a name="monitoring-sender-reputation-pausing-configuration-set-part-4"></a>

Un efecto secundario de probar la función de Lambda en [Parte 3: crear la función de Lambda](#monitoring-sender-reputation-pausing-configuration-set-part-3) es que el envío de correo electrónico para el conjunto de configuración se suspende. En la mayoría de los casos, no querrá pausar el envío del conjunto de configuración hasta que se active la CloudWatch alarma.

Los procedimientos de esta sección vuelven a habilitar el envío de correos electrónicos para su conjunto de configuración. Para completar estos procedimientos, debe instalar y configurar la AWS Command Line Interface. Para obtener más información, consulte la [Guía del usuario de AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/).

**Para volver a habilitar el envío de correo electrónico**

1. En la línea de comandos, escriba el siguiente comando para volver a habilitar el envío de correos electrónicos para el conjunto de configuración:

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

   En el comando anterior, *ConfigSet* sustitúyalo por el nombre del conjunto de configuraciones para el que deseas pausar el envío del correo electrónico.

1. En la línea de comandos, escriba el siguiente comando para asegurarse de que el envío de correos electrónicos está habilitado:

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

   El comando genera resultados similares al siguiente ejemplo:

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

   Si el valor de `SendingEnabled` es `true`, el envío de correos electrónicos para el conjunto de configuración se ha vuelto a habilitar correctamente.

## Parte 5: crear un tema de Amazon SNS
<a name="monitoring-sender-reputation-pausing-configuration-set-part-5"></a>

 CloudWatch Para ejecutar la función Lambda cuando se active una alarma, primero debe crear un tema de Amazon SNS y suscribir la función Lambda a él.

**Para crear el tema de Amazon SNS**

1. [Abra la consola Amazon SNS en https://console.aws.amazon.com/sns/ la versión 3/home.](https://console.aws.amazon.com/sns/v3/home)

1. Utilice el selector de regiones para elegir la región en la que desea suspender automáticamente el envío de correos electrónicos.

1. En el panel de navegación, elija **Topics** (Temas).

1. Elija **Create new topic** (Crear nuevo tema).

1. En la ventana **Create new topic** (Crear nuevo tema), para **Topic name** (Nombre del tema), escriba un nombre para el tema. También puede incluir un nombre más descriptivo en el campo **Display name** (Mostrar nombre).

   Elija **Create new topic** (Crear nuevo nombre).

1. En la lista de temas, active la casilla situada junto al tema que creó en el paso anterior. En el menú **Actions** (Acciones), seleccione **Subscribe to topic** (Suscribirse al tema).

1. En la ventana **Create subscription** (Crear suscripción), seleccione estas opciones:
   + En **Protocolo**, elija **AWS Lambda**.
   + En **Endpoint** (Punto de enlace), elija la función de Lambda que creó en [Parte 3: crear la función de Lambda](#monitoring-sender-reputation-pausing-configuration-set-part-3).
   + En **Version or alias** (Versión o alias), elija **default** (predeterminado).

1. Seleccione **Create subscription** (Crear suscripción).

## Parte 6: Crear una alarma CloudWatch
<a name="monitoring-sender-reputation-pausing-configuration-set-part-6"></a>

Esta sección contiene los procedimientos para crear una alarma CloudWatch que se active cuando una métrica alcanza un determinado umbral. Cuando se desencadena la alarma, se envía una notificación al tema de Amazon SNS que creó en [Parte 5: crear un tema de Amazon SNS](#monitoring-sender-reputation-pausing-configuration-set-part-5), que a su vez ejecuta la función de Lambda que creó en [Parte 3: crear la función de Lambda](#monitoring-sender-reputation-pausing-configuration-set-part-3).

**Para crear una CloudWatch alarma**

1. Abra la CloudWatch consola en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Utilice el selector de regiones para elegir la región en la que desea suspender automáticamente el envío de correos electrónicos.

1. En el panel de navegación de la izquierda, elija **Alarms** (Alarmas).

1. Elija **Crear alarma**.

1. En la ventana **Create Alarm** (Crear alarma), en **SES Metrics** (Métricas de SES), elija **Configuration Set Metrics** (Métricas de conjunto de configuración).

1. En la columna **ses:configuration-set**, busque el conjunto de configuración para el que desea crear una alarma. En **Metric Name** (Nombre de métrica), elija una de las siguientes opciones:
   + **Reputación. BounceRate** — Elija esta métrica si desea pausar el envío de correo electrónico para el conjunto de configuraciones cuando la tasa de rebote total del conjunto de configuraciones supere el umbral que usted defina.
   + **Reputación. ComplaintRate** — Elija esta métrica si desea pausar el envío de correo electrónico para el conjunto de configuraciones cuando la tasa general de quejas del conjunto de configuraciones supere un umbral que usted defina.

   Elija **Siguiente**.

1. Realice los siguientes pasos:
   + En **Alarm Threshold** (Umbral de alarma), para **Name** (Nombre), escriba un nombre para la alarma.
   + En **Whenever: Reputación. BounceRate**O **cuando sea: Reputación. ComplaintRate**, especifique el umbral que hace que se active la alarma.
**nota**  
Si la tasa de rebotes de su cuenta de Amazon SES supera el 10 % o si la tasa de reclamos total de su cuenta de Amazon SES supera el 0,5 %, su cuenta de Amazon SES se pone automáticamente en proceso de revisión. Cuando especifiques el porcentaje de rebote o de quejas que hace que se active la CloudWatch alarma, te recomendamos que utilices valores muy por debajo de estos porcentajes para evitar que tu cuenta sea objeto de revisión.
   + En **Acciones**, en **Siempre que esta alarma**, seleccione **El estado es ALARMA**. En **Send notification to** (Enviar notificación a), elija el tema de Amazon SNS que creó en [Parte 5: crear un tema de Amazon SNS](#monitoring-sender-reputation-pausing-configuration-set-part-5).

   Elija **Crear alarma**.

## Parte 7: probar la solución
<a name="monitoring-sender-reputation-pausing-configuration-set-part-7"></a>

Ahora puede probar la alarma para asegurarse de que se ejecuta la función de Lambda cuando entra en el estado `ALARM`. Puedes usar la `SetAlarmState` operación de la CloudWatch API para cambiar temporalmente el estado de la alarma.

Los procedimientos de esta sección son opcionales, pero le recomendamos que los realice para comprobar que toda la solución está configurada correctamente.

**Para probar la solución**

1. En la línea de comandos, escriba el siguiente comando para comprobar el estado del envío de correos electrónicos para el conjunto de configuración:

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

   Si el envío está habilitado para el conjunto de configuración, se muestra el resultado siguiente:

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

   Si el valor de `SendingEnabled` es `true`, el envío de correos electrónicos está habilitado actualmente para el conjunto de configuración.

1. En la línea de comandos, escriba el comando siguiente para cambiar temporalmente el estado de la alarma a `ALARM`:

   ```
   aws cloudwatch set-alarm-state \
   --alarm-name MyAlarm \
   --state-value ALARM \
   --state-reason "Testing execution of Lambda function"
   ```

   Sustituya *MyAlarm* el comando anterior por el nombre de la alarma en la que creó[Parte 6: Crear una alarma CloudWatch](#monitoring-sender-reputation-pausing-configuration-set-part-6).
**nota**  
Cuando ejecute este comando, el estado de la alarma pasa de `OK` a `ALARM` y luego otra vez a `OK` al cabo de unos segundos. Puede ver estos cambios de estado en la pestaña **Historial** de la alarma en la CloudWatch consola o mediante la [DescribeAlarmHistory](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html)operación.

1. En la línea de comandos, escriba el siguiente comando para comprobar el estado del envío de correos electrónicos para el conjunto de configuración:

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

   Si la función de Lambda se ejecutó correctamente, verá un resultado similar al siguiente ejemplo:

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

   Si el valor de `SendingEnabled` es `false`, el envío de correo electrónico para el conjunto de configuración se desactiva, lo que indica que la función de Lambda se ha ejecutado correctamente.

1. Realice los pasos de [Parte 4: volver a habilitar el envío de correo electrónico para el conjunto de configuración](#monitoring-sender-reputation-pausing-configuration-set-part-4) para volver a habilitar el envío de correos electrónicos para el conjunto de configuración.