結論から書くと、
診断設定はリソースグループに紐づかないため、リソースグループの削除をしても診断設定は残り続ける、
です。
何が言いたいのか?
例えばTerraformでAzureリソースを構築し、診断設定も実施したとします。
ここで、「この環境作り直したいな」となった場合、 terraform destroy すればいいのですが、Terraformを見守るのが辛いなどの理由でリソースグループの削除をしてtfstateファイルを捨ててから再度 terraform apply をすると、診断設定の名前が重複してコケます。
これは、リソースグループの削除で診断設定の削除が行われないためです。
下記のissueに記載がありました。サブスクリプションに紐づいているみたいですね?
https://github.com/MicrosoftDocs/azure-docs/issues/67267
terraform destroy でリソース削除をすればいいんですが、検証で作った環境なんかはついついリソースグループ削除をしてしまい、ここでハマります。。
やってしまった時の対応
terraformでリソースの作成と診断設定の追加を実装している場合、リソースに診断設定が関連づいた状態なので、リソースが作られた後に診断設定の作成で失敗しますよね?
terraformが失敗したらAzureポータルでリソースの設定を見に行って診断設定を削除し、terraformを再実行するのが一つの手です。
結構地道ですね・・・
あとは az monitor diagnostic-settings delete を使うなど、CLI等で頑張るくらいですかね。
まとめ
リソースを頻繁に作ったり消したりする場合、診断設定の扱いに注意しましょう。
失敗しても何とかなるので、ほどほどに対処したいところです。







![Microsoft Power BI [実践] 入門 ―― BI初心者でもすぐできる! リアルタイム分析・可視化の手引きとリファレンス](/assets/img/banner-power-bi.c9bd875.png)
![Microsoft Power Apps ローコード開発[実践]入門――ノンプログラマーにやさしいアプリ開発の手引きとリファレンス](/assets/img/banner-powerplatform-2.213ebee.png)
![Microsoft PowerPlatformローコード開発[活用]入門 ――現場で使える業務アプリのレシピ集](/assets/img/banner-powerplatform-1.a01c0c2.png)


