サービスの検証などでプライベートエンドポイントを作成し、不要になったので削除しようとしたところスムーズに削除が出来なかったので自分用のメモとして記録します。
結論から記載すると、Azureポータル上からポチポチ消すことは可能なのですがちょっとした手順が必要になります。
プライベートエンドポイントの作成で作成されるリソース
プライベートエンドポイントを削除しようと思った時にプライベートエンドポイントリソースを1つ削除すれば良いわけではありません。
プライベートエンドポイント作成時に付随して作成されるリソースがあるので、そちらも削除する必要があります。
▼プライベートエンドポイント作成後
※Vnetは手動で作成しました
今回はAzure Cosmos DB用のプライベートエンドポイントを作成したため、Azure Cosmos DBのページからプライベートエンドポイントを作成すると以下のリソースが作成されました。
- プライベート DNS ゾーン
- ネットワーク インターフェイス
- プライベート エンドポイント
注意点
ここから本題ですが、プライベートエンドポイントの削除は上記に記載したリソースを削除することで完了します。
ただしプライベート DNSゾーンのみ削除に注意が必要です。
単純に削除しようとすると以下のように「ネストされたリソースが存在する間は削除できません」といったエラーが発生します。
プライベート DNS ゾーン 'privatelink.documents.azure.com' を削除できませんでした。エラー: Cannot delete resource while nested resources exist. Some existing nested resource IDs include:
ネストされたリソース
プライベートエンドポイントやネットワークインターフェースは削除済みで「ネストされたリソース」なるものは見つかりませんが、既定では表示がされないようになっているようです。
リソースグループのリソース一覧の上部にある「非表示の型の表示」にチェックを入れると表示されるようになります。
[microsoft.network/privatednszones/virtualnetworklinks]という種類のリソースが表示されました。
これが今回の「ネストされたリソース」になります。
このリソースはプライベートエンドポイント作成時に補助的なリソースとしてAzureインフラストラクチャで作成、管理されているものになります。
今回の目的であるプライベートエンドポイントの削除では補助的なリソースの削除が必要となります。
補助的なリソースを削除すると、当初エラーのでていたプライベート DNS ゾーンも自動的に削除されます。(補助的なリソース削除後少し時間をおくと削除されます)
おわりに
▼今回のポイント
リソースの作成時にはAzureインフラストラクチャ側で自動的に作成・管理されている補助的なリソースが存在する。
リソース削除の際には補助的なリソースも削除する必要がある。
一部の補助的なリソースは、Azure インフラストラクチャで作成、管理します。既定では、ポータルにこれらのリソースは表示されません。表示/非表示を切り替えるには、このチェック ボックスを切り替えてください。リソース グループやサブスクリプションのクリーンアップを実行する場合に、これらのリソースを表示しておくと便利です。
作成時には自動で作成されかつ、補助的なリソースとしてポータルの既定では非表示となっているので注意が必要です。