In this blog post, let's see how to recover an accidentally deleted Azure App Service (Web App). If you hear someone saying they have accidentally deleted any Azure service and want to restore it, it gives an indication they are lacking best practices and patterns in their cloud environment. One such pattern is described in my previous blog post named Resource Lock and if you haven't still read it, highly recommend having a look at it.
Within your Azure App Service, you will have multiple hosting capabilities like Web API, Static website, Front end application, Container-based solution.
Facts to know:
- At this point in time, the options to restore your App Service are through PowerShell or Azure CLI, and no option available through Azure Portal. I would recommend going with PowerShell because Azure CLI is still in preview and under development
- Only sites deleted in the past 30 days can be restored.
- Restore is not supported if the deleted app was in Free or Shared SKU
- Restore functionality isn't supported for the App Service which is running under the Consumption plan and App Service Environment.
- Restore functionality isn't supported for Function Apps.
- Deployment slots are not restored as part of your App. If you prefer to restore slots then the "-slot" flag should be used in the restore command.
Steps to Restore App Service
- Firstly, let's List deleted Apps
Below e.g. I am demonstrating using PowerShell
Pre-requisites: Register AppService resource provider using below command
List all the deleted Apps in your subscription
|
List deleted Azure Apps using PowerShell |
You also have options to list deleted apps in your subscription-based on filters like Resource Group, App name, location, etc.
- Restore deleted Azure Web App.
In the below e.g. I am restoring a web app that was hosting a container.
|
Restored deleted Azure App |
As part of the restore, you can opt to chose where to restore e.g. which resource group, app service plan, or deployment slot. If you want to only restore content not configuration, you use the -RestoreContentOnly
flag in the above command. If you need to restore slots as part of the above command, use the -Slot <slot-name> flag.
Comments
Post a Comment