リソースグループごと各種リソースを削除してしまった場合について

less than 1 minute read

質問

誤って Azure リソースをリソースグループごと削除してしまいました。復旧することは可能ですか。

回答

リソースに依存します。例えば、ストレージアカウントに関しては、削除後すぐにお問い合わせいただければ、復旧可能な場合があります。※1

しかしながら、ほとんどのリソースの場合、復旧することはできません。

例えば、ARM テンプレートで対象リソースの設定状況を管理していた場合、誤って削除した際に ARM テンプレートを使って同様の構成で再度リソースを作成することは可能ですが、あくまでも新規リソースの作成となりますので、リソースによってはパブリック IP アドレスなど、削除前と全く同じ構成を実現することは難しい場合があります。純粋に元々あったリソースを復旧させる、といったことはできない状況となります。

そのため、誤って削除してしまわないように対策することを推奨いたします。

対策

Azure では、予期せぬ変更を防ぐために、対象リソースをロックする機能を提供しています。ロック機能を利用することで、誤ってリソースやリソースグループなどの更新・削除を実施しないよう、制限を設けることが可能です。

ロック機能は、Powershell、Azure CLI、ARM テンプレートを使用して設定することも可能ですが、本ブログでは、Azure ポータルを使った場合の設定手順についてご紹介します。

なお、設定方法の詳細については、公開ドキュメントを参照してください。※2

ロック機能の設定手順

ロック機能は、リソース、リソースグループ、またはサブスクリプションレベルで設定することが可能です。まずは、ロックを設定する対象の [ロック] ブレードをクリックします。今回は、リソースグループに対してロックを設定していきます。

image.png

「+ 追加」をクリックし、必要な項目を入力し、ロックを追加します。今回は「削除ロック」を追加します。

image.png

以上でロックの設定は完了です。実際に、ロックを設定したリソースグループを削除しようとすると、以下のようにエラーが発生し、削除できない状況となります。

image.png

ロック機能を利用する際の考慮事項

ロック機能を利用することで、予期せぬリソースグループの削除を未然に防ぐことが可能となります。しかしながら、ロック機能を利用する際は、いくつか考慮事項があります。

例えば、本ブログでは、リソースグループの「削除ロック」を設定しました。しかしながら、「削除ロック」をリソースグループに設定する場合、Azure Resource Manager がデプロイの履歴を自動的に削除できない状況となります。履歴内で保持可能なデプロイ数は、上限値が 800 となっておりますが、上限値に達した場合はデプロイに失敗してしまいます。

上記内容含め、ロック機能によってブロックされる操作例について、いくつか公式ドキュメントに記載されていますので、ご確認ください。※2

また、公式ドキュメントに記載されている内容以外にも、例えば、リソースグループに対して「読み取り専用ロック」を設定した場合、配下の Web Apps や Cloud Service の起動/停止、再起動といった操作が実施できない状況となります。

リソースを変更する操作には見えなくても、実際にはロックによって操作がブロックされる場合がございますので、その点ご認識の上、ご利用いただければと思います。

参考ドキュメント






2020 年 7 月 20 日時点の内容となります。
本記事の内容は予告なく変更される場合がございますので予めご了承ください。



Updated: