监控释放Google云外网静态IP地址

监控释放Google云外网静态IP地址

技术开发 编程 技术框架 技术发展

 

监控释放Google云外网静态IP地址

当未使用Google Cloud外部静态IP时获得通知,因此您可以释放它们以节省资金。


我正在查看Google Cloud Platform(GCP)帐单,并注意到以下几点:


gcp静态ip帐单


这不是谷歌的错,而是我。我保留了一个静态IP,但在删除VM后忘记释放它。它发生了,我想那不只是我一个。


我环顾了GCP控制台,找不到未使用静态IP的警报选项。也许是产品功能要求。


但是,我不会重复该错误。


感谢Google Cloud SDK提供的gcloudCLI,您可以在脚本中使用它执行几乎所有操作。我想写一个每天运行的脚本,并在不使用任何静态IP时发出通知。有多种方法可以得到通知,第一种便捷的方法是电子邮件。但是,我没有运行邮件服务器,因此不得不寻找其他选择。


经过几分钟的搜索,我发现了Pushbullet。它是一个通知系统,可用于将警报推送到Chrome,Firefox,Safari,Opera,Android,iOS和Windows。几乎所有的东西。我还需要什么?


您可以猜测,当您没有在服务器上运行邮件服务器或想要在任何地方运行gcloud命令时,Pushbullet现在是获得通知的先决条件。


如果您决定转到Pushbullet,则创建一个免费帐户,设置要接收通知的位置,然后转到“设置”以生成访问令牌。


我假设您gcloud在服务器上已准备好访问令牌并可以使用该命令。


这是小脚本。创建一个具有以下内容的文件,假设gcp-unused-ip-monitor.sh


#!/bin/bashif 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

不要忘记用实际值更新$ Access_TOKEN。


保存文件并通过授予执行权限使其可执行。


chmod 755 gcp-unused-ip-monitor.sh

手动运行脚本以验证警报。如果您有未使用的IP,则会收到警报。


gcp ip警报


上面的通知来自我已配置Pushbullet进行提醒的Chrome浏览器。但是如上所述,您可以将警报推送到移动设备或其他浏览器。选择您喜欢的。


现在,我们有了一个工作脚本,接下来,我们需要每天自动运行此脚本。


要安排脚本每天运行,请使用基于UNIX的操作系统上可用的Crontab。


使用crontab -e编辑crontab并添加以下内容


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

将$ PATH更新到脚本所在的路径。在cron条目上方,将在每个午夜运行脚本。您可以根据自己的喜好调整运行时间。


有多容易?


收到警报后,您可以转到GCP控制台并查看“不在使用中” IP并将其释放。


我希望这个小脚本可以为您节省一些钱。


技术开发 编程 技术框架 技术发展