前に少し調べたときにはよくわからなかくて他の方法で逃げたんですが、昨日Azure Monitorのドキュメントとかを何の気なしに眺めてるとなんか簡単にできそうなので試してみました。
実現したいこと&実現方法
実現したいこと:
- 仮想マシンの起動が成功したらメールで通知する
- 仮想マシンの停止が成功したらメールで通知する
実現方法:
- 仮想マシンのブレードから「アクティビティ ログ アラート」を追加する
手順
1. 仮想マシンを選択して[アラートルール]で[アクティビティログアラートの追加]を選択
いくつか入り口がありそうですがとりあえずここから。

2. 各プロパティーを設定
ブレードのフォームを埋めていきます。
仮想マシンのアクティビティログのイベントをひっかけるにはソースはこんな感じで良さそう。
| 項目 | 選択値 |
|---|---|
| イベント カテゴリ | 管理 |
| リソースの種類 | Vertual Machines |
| リソースグループ | <監視したい仮想マシンのリソースグループ> |
| リソース | <監視したい仮想マシン> |
| 操作名 | 仮想マシンの起動 |
| レベル | すべて |
| 状態 | 成功 |
アクションではメール通知を[Edit details]からメールアドレスを設定しておきます。

登録を完了させると、通期先のメールアドレスに登録完了の旨のメールが届きます。

以上で設定は完了です。
その後仮想マシンを起動するとメールで通知が飛んできました。
そのほかの操作について通知を飛ばしたい場合
なお、仮想マシン終了時など、そのほかの操作をトリガに通知したい場合は操作名で該当する操作を選択すればOKです。

まとめ
なんだか拍子抜けするほど簡単でした。素晴らしい。
今回は通知方法にメールを使いましたが、WebHookで任意のURLにJSON形式のデータをPOSTすることもできます。とりあえずAzure Functionsに投げたらそのまま素直に連携できましたので、後日またそれについて書いてみたいと思います。