• ¡Obtenga la seguridad de la aplicación de la manera correcta! Detectar, proteger, monitorear, acelerar y más ...
  • Reciba notificaciones cuando la IP estática externa de Google Cloud no esté en uso para que pueda liberarlos y ahorrar dinero.

    Estaba revisando mi factura de Google Cloud Platform (GCP) y noté esto:

    No es culpa de Google, sino de mí. Reservé una IP estática pero olvidé liberarla después de eliminar la VM. Sucede, y supongo que no sería solo yo.

    Miré alrededor de la consola de GCP y no pude encontrar ninguna opción para alertar cuando la IP estática no está en uso. Tal vez una solicitud de características del producto.

    Pero no voy a repetir el error.

    Gracias a SDK de Google Cloud que ofrece gcloud CLI que puede usar en un script para hacer casi cualquier cosa. Pensé en escribir un script que se ejecutará todos los días y notificará cuando no se use ninguna IP estática. Hay varias formas de recibir notificaciones y el primer método conveniente es el correo electrónico. Pero no ejecuto un servidor de correo, así que tuve que encontrar alguna alternativa.

    A los pocos minutos de búsqueda, encontré Pushbullet. Es un sistema de notificación que puede usarse para enviar la alerta a Chrome, Firefox, Safari, Opera, Android, iOS y Windows. Prácticamente todo. ¿Qué más necesito?

    Puede adivinar que Pushbullet es un requisito previo ahora para recibir una notificación cuando no tenga un servidor de correo ejecutándose en el servidor o donde quiera que lo desee. gcloud mando.

    Si decide ir a Pushbullet, cree una cuenta gratuita, configure el lugar donde desea recibir notificaciones y vaya a Configuración para generar un token de acceso.

    Supongo que tiene el token de acceso listo y funcionando gcloud comando en el servidor.

    Aquí está el pequeño guión. Cree un archivo con el contenido siguiente, digamos gcp-unused-ip-monitor.sh

    #!/bin/bash
    
    if gcloud compute addresses list | grep EXTERNAL | grep RESERVED ; then 
    	curl -u $Access_TOKEN: https://api.pushbullet.com/v2/pushes -d type=note -d title="Google Cloud IP NOT_INUSE" -d body="Some external IP is not in use"
    else :
    fi

    No olvide actualizar $ Access_TOKEN con el valor real.

    Guarde el archivo y hágalo ejecutable dando permiso de ejecución.

    chmod 755 gcp-unused-ip-monitor.sh

    Ejecute el script manualmente para verificar la alerta. Si tiene alguna IP sin usar, recibirá una alerta.

    La notificación anterior es de Chrome donde configuré Pushbullet para alertar. Pero como se mencionó anteriormente, puede enviar la alerta a dispositivos móviles u otro navegador. Elige lo que prefieras.

    Ahora, tenemos un script de trabajo y, a continuación, debemos ejecutarlo todos los días, automáticamente.

    Para programar el script para que se ejecute todos los días, usemos crontab que está disponible en sistemas operativos basados ​​en UNIX.

    Edite crontab con crontab -e y agregue lo siguiente

    0 0 * * * $PATH/gcp-unused-ip-monitor.sh > /dev/null

    Actualice $ PATH a la ruta donde se encuentra el script. La entrada de cron anterior ejecutará el script cada medianoche. Puede ajustar el tiempo de ejecución según sus preferencias.

    ¿Qué tan fácil es?

    Una vez que tenga una alerta, puede ir a la consola de GCP y revisar la IP NO EN USO y liberarlos.

    Espero que este pequeño guión te ahorre algo de dinero.