Configurar alertas en Database Migration Service
Tags: aws, security, tutorial, beginners
Published: 2022-01-20 21:39:51

## Tabla de Contenidos
* [Introducción ](#chapter-0)
* [Requerimientos](#chapter-1)
* [Configuración SNS](#chapter-2)
* [Configuración Alerta para Instancia de replicación](#chapter-3)
* [Configuración Alerta para Tarea de replicación](#chapter-4)

---

## Introducción <a name="chapter-0"></a>

En el siguiente tutorial se explicará como crear notificaciones de alerta para el servicio de Database Migration Service (DMS).

AWS Database Migration Service es el servicio que permite realizar la replicación de bases de datos a la nube de AWS. Ofrece orígenes de bases de datos en On-Premise como Oracle, PostgreSQL, MySQL, MariaDB y MongoDB. Respecto a la nube ofrece conexiones con Amazon Aurora PostgreSQL, Amazon DocumentDB, Amazon S3, RDS, Google Cloud SQL for MySQL, Microsoft Aurora SQL Database, Microsoft Azure SQL Managed Instance y Microsoft SQL Server.

Sobre los destinos que DMS soporta son Amazon Aurora(MySQL, MySQL Serverless, PostgreSQL y PostgreSQL Serverless), Amazon DocumentDB(Con compatibilidad para MongoDB), Amazon DynamoDB, Amazon ElasticSearch, Amazon Kinesis, Amazon Neptune, Amazon Redshift, Amazon S3, Kafka, MariaDB, Microsoft SQL Server, MySQL, Oracle, PostgreSQL y Redis.

Como pudiste notar es un servicio muy potente al soportar tantos orígenes y destinos por lo que será una herramienta realmente útil en tus proyectos de migración.

No obstante esto, todos los sistemas pueden fallar y por tanto la organización debe estar preparada para cuando alguno de estos procesos de replicación falle o deje de funcionar como se espera. 

Es por esto que a continuación se configurará dos tipos de alertas en DMS, una para la instancia de replicación y otra para las tareas de replicación.


---

## Requerimientos <a name="chapter-1"></a>

1. Cuenta en AWS.
2. Instancia de replicación y Tareas de migración creadas.


---

## Configuración SNS <a name="chapter-2"></a>

Se debe dirigir al servicio de SNS, en la sección de Topics seleccione **Crear Topic**, esto le desplegará el panel de creación del tópico. En la sección Details le permite elegir entre las opciones de FIFO y Standard. La primera opción asegura que el envío de mensajes será mediante First-In First-Out, preservando exactamente el orden de los mensajes que hayan ingresado al tópico, además de asegurar la entrega del paquete exactamente una vez. Respecto a la segunda opción Standard, no asegura el orden de envío pero si asegura que el paquete se entregue como mínimo una vez. Para el propósito de este tutorial basta con la versión **Standard**.

Luego debe definir el nombre del tópico, en este caso será  **demo-dms**.

![SNS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mt5v9nra71axww6t038f.png)

A continuación ya puede crear el tópico sin problemas, el resto de las opciones son opcionales y por tanto no se profundizarán en este tutorial.

Creado el tópico, debe ir a la sección de **Subscriptions** mediante la cual se suscribirá al tópico recién creado. Seleccione **Create Subscription**.

En **Topic ARN** seleccione el tópico que acaba de crear demo-dms.
En **Protocol** seleccione el endpoint por el cual desea que se le notifique. DMS le permite utilizar servicios de AWS, protocolos HTTP/HTTPS, SMS y Email. La opción mas común y la que se usará es **email**.


![Creando subscripción](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1hhqzluz7xp2anl9dd7e.png)

Una vez haya creado la subscripción, a su correo llegará un correo similar a este

![Subscripcion confirmada](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ipm4tfhfzvz17frgin4.png)

Si ahora se dirige a **Topics** y selecciona **demo-dms** podrá ver que el estado de la subscripción es **Confirmed**

![Confirmado](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/48joe3syszbcam4dbkab.png
)


---


## Configuración Alerta para Instancia de replicación <a name="chapter-3"></a>

Diríjase al servicio de DMS y en el panel lateral seleccione **Event subscriptions**. Luego en la parte superior derecha seleccione **Create event subscription** 
  

![DMS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6757r17epopkwxj04ner.png)

Ahora debe colocar el nombre de la suscripción que desea crear. Se creará una alerta para cuando la Instancia de replicación falle, por tanto el nombre será **demo-error-replication-instance**. El check **Enabled** es para indicar si desea que al crearse la alerta, inmediatamente quede activa. Dejela activada.

En **Target** le permite seleccionar a donde se enviará la alerta. Puede ser a un tópico existente(como el que previamente creó), Crear un nuevo tópico de correo electrónico o de SMS. Ya que previamente se creó el tópico, lo seleccioná.

En **Event Source** debe seleccionar primeramente de que tipo de fuente se obtendrán los eventos. Existen las opciones para eventos de Replication Instances y Replitation Tasks. En este momento se está configurando alerta para fallas en la Instancias de replicación por tanto esta es la opción seleccionada.

En **Event categories** seleccione si desea monitorear todos los eventos o solo algunos. Las opciones que permite son **Low Storage**, **Deletion**, **Failure**, **Configuration Change**, **Creation**, **Failover** y **Maintenance**. 
Debido a la alarma que se esta configurando, seleccione **failure**. Si desea agregar alguna categoría extra, puede agregarla directamente aquí o en su defecto crear otra alerta, eso ya lo puede personalizar según lo necesite.

En **Replication Instance** debe seleccionar si quiere monitorear todas las instancias o solo alguna en específico. En este caso solo existe una Instancia de replicación creada por lo que la opción **All instances** es suficiente. 

Finalmente puede seleccionar **Create event subscription** para crear la alerta



![Creacion alerta instancia](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lmpog523vddfgzb98kwq.png)

![Creacion alerta instancia 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4bwem3gahxynbnousd9w.png)


---

#### Configuración Alerta para Tarea de replicación <a name="chapter-4"></a>

Diríjase al servicio de DMS y en el panel lateral seleccione **Event subscriptions**. Luego en la parte superior derecha seleccione **Create event subscription** 
  
![DMS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6757r17epopkwxj04ner.png)

Ahora debe colocar el nombre de la suscripción que desea crear. Se creará una alerta para cuando la Tarea de replicación falle, por tanto el nombre será **demo-error-replication-task**. El check **Enabled** es para indicar si desea que al crearse la alerta, inmediatamente quede activa. Déjela activada.

En **Target** le permite seleccionar a donde se enviará la alerta. Puede ser a un tópico existente(como el que previamente creó), crear un nuevo tópico de correo electrónico o de SMS. Ya que previamente se creó el tópico, seleccionelo.

En **Event Source** debe seleccionar primeramente de que tipo de fuente se obtendrán los eventos. Existen las opciones para eventos de Replication Instances y Replitation Tasks. En este momento se está configurando alerta para fallas en las tareas de replicación por tanto esta es la opción seleccionada.

En **Event categories** seleccione si desea monitorear todos los eventos o solo algunos. Las opciones que permite son **State change**,  **Failure**, **Configuration Change**, **Deletion** y **Maintenance**. 
Debido a la alarma que se esta configurando, seleccione **failure**. Si desea agregar alguna categoría extra, puede agregarla directamente aquí o en su defecto crear otra alerta, eso ya lo puede personalizar según lo necesite.

En **Replication Tasks** debe seleccionar si quiere monitorear todas las tareas o solo alguna en específico. En este caso solo existe una Instancia de replicación creada por lo que la opción **All instances** es suficiente. 

Finalmente puede seleccionar **Create event subscription** para crear la alerta

![Creacion alerta1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qv696kr6rqwqzv854m33.png)

![Creacion alerta2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/emtoqcjss1u02vk2jwn5.png)





Luego de un par de minutos podrá ver en el panel que su alerta ha sido configurada exitosamente


![Alerta error en tarea creada](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/81fa21jxnw2tjdq7w5a1.png)