Подключите приложение-функцию Azure к виртуальной сети
Как я могу развернуть свое функциональное приложение, подключенное к виртуальной сети, с помощью шаблона руки?
Прямо сейчас мой шаблон руки хорошо разворачивает приложение-функцию на основе AppServicePlan и задает "vnetName" в разделе "Свойства" ресурса "site"... но после развертывания приложение-функция по-прежнему отображается как "не настроено" для любой виртуальной сети. Затем я могу зайти в портал и добавить в желаемую виртуальную сеть пару щелчков мыши... но почему это не работает через шаблон руки? Может кто-нибудь предоставить примерный образец руки для этого?
2 ответа
С ARM я могу делать все, кроме создания пакета VPN - именно в этом заключается разница между настройкой свойств ресурса и установлением правильного подключения приложения к VNET.
Все в этой статье ( https://docs.microsoft.com/en-gb/azure/app-service-web/app-service-vnet-integration-powershell) можно легко преобразовать из PowerShell в ARM, кроме Get-AzureRmVpnClientPackage
Гипотетически, если вы используете устаревшую VNET, вы можете получить URL-адрес пакета VPN-клиента через ARM, потому что устаревший поставщик ресурсов VNET поддерживает эту операцию ( https://docs.microsoft.com/en-us/azure/active-directory/ Ролевые операции контроля доступа-ресурса-провайдера):
Microsoft.ClassicNetwork/virtualNetworks/gateways/listPackage/action
Провайдер ARM VNET, похоже, не
При дальнейшем рассмотрении это невозможно только через ARM. Вот инструкции по подключению веб-приложения к виртуальной сети: https://docs.microsoft.com/en-gb/azure/app-service-web/app-service-vnet-integration-powershell
Старый ответ: Вот еще один пост, в котором мы пытаемся добиться того же с помощью веб-приложений (функции построены на веб-приложениях): /questions/6097477/podklyuchite-veb-prilozhenie-azure-k-virtualnoj-seti-ispolzuya-shablon-arm/6097492#6097492
Если мне нужно было угадать на основе команды powershell, попробуйте добавить подресурс на сайт типа config
с именем web
, аналогично шаблону руки для развертывания github: https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/app-service-web/app-service-web-arm-from-github-provision.md#web-app
Однако может быть какое-то волшебство под капотом.
{
"name": "[parameters('siteName')]",
"type": "Microsoft.Web/sites"
"location": ...,
"apiVersion": ...,
"properties": ...,
"resources": [
"name": "web",
"type": "config",
"apiVersion": "2015-08-01",
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('siteName'))]"
],
"properties": {
"vnetName": "[parameters('vnetName')]"
},
]
}