azureazure-functionsazure-app-service-plansdisaster-recoveryazure-availability-zones

"Requested feature is not available in resource group..." when creating a new function app with a new app service plan


Background

My team is implementing disaster recovery via zone redundancy for our function apps. We currently have several function apps on a consumption app service plan. All of the apps and the service plan are in the same Azure region and in the same resource group. All of the apps run on Windows.

We need an elastic premium app service plan to enable zone redundancy for our function apps. As far as we can tell, the only way to create an elastic premium app service plan is to create a new function app.


Problem

When we use the Azure portal to create a new function app with a new elastic premium app service plan, the deployment fails.

Operation details > Status message gives some error details:

Requested feature is not available in resource group...
Try using a different resource group or create a new one.

How do we create a new elastic premium app service plan in our resource group?

We want to avoid moving our function apps to a different resource group if possible.


Related documentation


Solution

  • Requested feature is not available in resource group...

    Solution

    We eventually figured out a workaround for moving our function apps to an elastic premium app service plan with zone redundancy:

    1. Create a new resource group in the same Azure region as our function apps.
    2. Create a new dummy fxn app in the new resource group, and choose an elastic premium plan during app creation. Zone redundancy will be enabled by default.
    3. Delete the dummy fxn app and storage account. (Azure requires a storage account with each function app.)
    4. Move the elastic premium plan to the old resource group.
    5. Update the ARM template in our deployment pipeline to use the new elastic premium app service plan.
    6. Delete the function apps. (Make sure your deployment pipeline works before doing this! We actually deleted one function app at a time.)
    7. Redeploy the function apps via ARM template in the deployment pipeline.