ARM テンプレートではなく、PowerShell を使用してコードで独自の Azure インフラストラクチャを作成します。VNet に接続されている WebApp があり、次のコマンドレットを使用して設定します。
New-AzureRmResource -ResourceGroupName $ComputeResourceGroupName -Location $ComputeResourceGroupLocation
-Properties $PropertiesObject
-ResourceName "$($WebAppConf.Name)/$($VNet.Name)/primary"
-ResourceType "Microsoft.Web/sites/virtualNetworkConnections/gateways"
-ApiVersion 2015-08-01 -Force
コスト上の理由と、これはテスト マシンであるため、すべてのテスト インフラストラクチャを毎晩オフにし、チームが作業を開始する前に毎朝オンにします。これには、App Service プランと含まれている Web アプリを削除し、毎朝デプロイされる新しいビルドで再作成することが含まれます。繰り返しますが、これは、誰もオフィスにいない、または働いていない時間帯の大部分の費用を節約するためです。私たちが直面している問題は、Web アプリを再作成してから Web アプリを VNet に再接続しようとすると、次のスクリーンショットに示すように、常に新しい接続インスタンスが作成されることです。古い既存の接続を削除して再作成するだけでよいという答えは明らかですが、Get-AzureRmResource を呼び出した後でも、接続インスタンスのハンドルを取得することはできません。
つまり、Web アプリと VNet の間に VNet 統合接続を作成すると、Web アプリと VNet の両方を削除した場合でも、その接続は永久に削除できなくなります。さらに、作成中の新しい接続は、それを選択して [ネットワークの同期] ボタンをクリックしない限り機能しません。