Cómo configurar en CloudWatch una alarma para monitorear estado de la VPN.
--
Es necesario en ocasiones poder monitorear el estado de los túneles de la VPN que tenemos establecidos entre nuestra Red On-premise y AWS, con el fin de poder alertar al equipo de redes cuando los túneles presentan una caída.
Lo anterior es posible hacerlo con el servicio de CloudWatch que recopila y procesa los datos en casi tiempo real dentro de las métricas que se tienen de VPN.
La métrica que nos servirá para generar la alarma es “TunnelState” y teniendo en cuenta que el estado de la VPN para AWS es medido por; 0 ( abajo ) y 1 ( arriba ) , nos interesaría monitorear cuando ese estado se encuentra en 0 (cero), puesto que estaríamos ante una caída de la VPN.
Prerrequisitos
- Debe contar con una VPN Establecida y funcionando con el fin de que pueda simular la caída y ver funcionar el envío del correo de la alarma.
- Debe tener configurado un Topic en SNS con suscripción a su correo, éste con el fin de que pueda llegar la notificación de la alarma.
En caso de no tener un topic en SNS y se desconozca como configurarlo te dejo una referencia de AWS que podría ayudar.
Configuración de la alarma.
Ingresamos a CloudWatch → Alarms → Create alarm.
Escogemos Select metric; teniendo en cuenta que AWS nos proporciona para este caso, la métrica lista para ser usada sin tener que hacer ningún filtro a logs o generar algún tipo de código.
De las 922 métricas disponibles en CloudWatch que le brinda AWS al momento de este Post, una que se encuentra en la categoría de VPN, será la que usaremos en nuestro caso.
“VPN Connections Metrics”
La métrica que nos permite tener el control del estado cuando es 1 esta arriba y cuando es 0 esta caída es TunnelState.
Nota: Si realiza la alarma para más de una VPN activa, entonces debe seleccionar las diferentes VPN ID que requiera monitorear.
En Metric name, siempre se debe dejar el nombre que AWS trae por defecto, debido que si se realiza algún cambio de nombre el evento no hará coincidencia.
En Statistic se debe seleccionar Maximum, lo demás lo dejará por defecto.
En Conditions, se debe seleccionar “Lower/Equal <= threshold”, la definición del umbral debe ser 0 (cero) y el Datapoint 1 (uno) , lo anterior significaría que cuando se detecte que el estado de la VPN se encuentre en cero en un datapoint de 5 minutos , entonces enviaría la alarma.
Configurar la acción de Alarma; escogemos el SNS topic nombrado en la sección prerrequisitos
En la sección Auto Scaling action; NO realizar nada y dar Next.
Se le asigna el nombre que identificará la alarma, en mi caso usaré VpnDownstatus (se puede poner cualquiera que prefiera) y dar Next.
Antes de finalizar, nos dará un resumen de toda la configuración de la alarma y podremos hacer algún cambio si lo deseamos, para nuestro caso finalizamos con Create alarm confirmando que todo está correcto.
La alarma se encuentra creada y podremos ver en el panel de alarmas en Cloud Watch que se encuentra en “State Insufficient data”, esto sucede mientras toma 5 minutos de recopilar datos Cloud Watch para validar si se encuentra en estado Up o Down.
Una vez pasados los 5 minutos vemos que nuestra alarma se ha validado y se encuentra en “State OK” teniendo en cuenta que se encuentran arriba la VPN entre AWS y el On-Premise.
Ahora únicamente resta probar que efectivamente nuestra alarma notifica el email, cuando ésta presenta caída, por lo que se le debe indicar al administrador de la Red On-premise, que deshabilite las interfaces de la VPN que tiene establecida hacia AWS, con el fin de que simule la caída y se pueda comprobar.
Vemos la alarma activada en CloudWatch → alarm
Finalmente veremos la notificación en el correo electrónico.
De esta manera ya podemos alertar de manera automática y rápida, al equipo de redes para que puedan revisar la falla de la VPN en la Red On-premise
Fuente de consulta :