Azure のムダ遣いを見つける
この記事は Microsoft Azure Advent Calendar 2017 の15日目の記事です。
私からは特定の Azure のサービスについてではなく、普段 Azure を使っていて困ることとその解決策について書きます。
困ること
- 請求金額がやけに高いと思ったら、検証で作った VM が生き残っていた
- イベントのセッション聴きながら作ったリソースが散在してる
- ちりつもで MSDN サブスクリプションのクレジット を使い切って停止してあとX日しないと復帰しない
クレジットを超過するとこういうことになります。
マジか。 pic.twitter.com/FD8hUW8hHh
— kheiakiyama (@kheiakiyama) 2017年9月30日
豆知識ですが、クレジット超過分の制限は一時的に解除できる仕様でした。
これは知らなかった。 pic.twitter.com/Ar1OsRHUhy
— kheiakiyama (@kheiakiyama) 2017年9月30日
解決策
NuGet Gallery | Microsoft.Azure.Management.Fluent 1.4.1
NuGet に Microsoft.Azure.Management.Fluent
という Azure のリソース情報を取得するパッケージがあることを知ったので、これを利用して有償のサービスをムダ使いしているものをお知らせする ARMNotify
をつくりました。
いや、つくってます。
みんな大好きな Deploy To Azure ボタンを用意してあるので、簡単に試せるはずです。
ARMNotify
は Azure Functions で動かす想定です。
サブスクリプションにアクセスできる Service Principal を用意しておく必要があります。
ARMNotify
はムダ使いしていると思われるリソースとそのリソースを操作しているアカウントの情報をまとめてくれます。
現時点のソースコードでは Deploy To Azure でデプロイすると、ARMNotify
から Logic App を経由し、指定の WebHookURL までお知らせしてくれます。
VMなどオーソドックスなサービスについては対応してますが、あまり使い馴染んでないサービスについては検証が面倒なので対応できてません。
お願い
ムダ遣いをなくすために、もっといいソリューションがありましたらぜひお聴かせください。
最後に
Azure 始めたばかりの方はこちらもよろしければどうぞ。