azureazure-deploymentfile-storageazure-logic-app-standardprivate-network

Cannot deploy workflows in Azure Standard Logic Apps with ASEv3 - ERROR: HTTPSConnectionPool(host='mylaname.scm.myasename.appserviceenvironment.net'


I cannot find a way to deploy workflows into a Standard Logic App when this Logic App is included in an App Service Plan included in an Azure Service Environment (ASEv3).

STANDARD LOGIC APP WIHOUT ASE

When I use a Standard Logic App without ASE, its content (Workflows, maps, schemas…) is stored in the FileShare of the Storage Account associated with the Standard Logic Apps (under site\wwwroot) So updating or creating new workflows for a Logic App was pretty easy, just update the file workflow.json or create an extra folder with a new file workflow.json.

I could use CLI to upload a zip file with all workflows and artifacts.

az logicapp deployment source config-zip --name $LogicApp --resource-group $RG --subscription $Subscription --src $artifactszip

And that works fine.

STANDARD LOGIC APP WITH ASE

But when I try the same with a Standard Logic App in an App Service Plan associated with an ASE, this does not work.

  1. There's no FileStorage associated with the Standard Logic App
  2. az logicapp deployment source config-zip fails with these errors:

az : WARNING: Getting scm site credentials for zip deployment WARNING: Starting zip deployment. This operation can take a while to complete ... ERROR: The command failed with an unexpected error. Here is the traceback: ERROR: HTTPSConnectionPool(host='mylaname.scm.myasename.appserviceenvironment.net', port=443): Max retries exceeded with url: /api/zipdeploy?isAsync=true (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x068F51C0>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))

In both cases (without and with ASE), the target Logic App is a stateless Logic App.

I TRIED ALSO WITH az deployment group create AND armclient

I tried also with az deployment group create --resource-group $RG --template-file .\myarmfile.json That works fine for:

But not for

I used ARMCLIENT to get examples of arm files for Microsoft.Web/sites/workflow

armclient.exe get https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{LAresourceGroup}/providers/Microsoft.Web/sites/la-main-dev/workflows/wf-main-dev?api-version=2018-11-01

That returns a nice arm file but I can't find a way to upload it to Azure.


Solution

  • The solution is to setup a DNS Private zone as documented in Microsoft Learn (https://learn.microsoft.com/en-us/azure/app-service/environment/create-ilb-ase) :

    To configure DNS in Azure DNS Private zones:

    1. create an Azure DNS private zone named .appserviceenvironment.net
    2. create an A record in that zone that points * to the ILB IP address
    3. create an A record in that zone that points @ to the ILB IP address
    4. create an A record in that zone that points *.scm to the ILB IP address

    When this DNS zone is created and that I linked to it:

    then I can deploy successfully the workflows and other artifacts (parameters, Maps, Schemas) via:

    or

    az webapp deployment source config-zip --name $LA --resource-group $RG --subscription $Subscription --src $artifactszip