【问题标题】:Connect Azure Function App to VNet将 Azure Function App 连接到 VNet
【发布时间】:2017-07-11 16:28:58
【问题描述】:

如何使用 arm 模板部署附加到 VNet 的函数应用?

现在我的 arm 模板部署了一个基于 AppServicePlan 的函数应用程序就好了,并在“站点”资源“属性”部分设置了“vnetName”......但是在部署之后,函数应用程序仍然显示为“未配置”任何 VNet。然后我可以进入门户并单击几下添加到所需的 VNet...但是为什么它不能通过 arm 模板工作?有人可以提供一个示例手臂模板吗?

【问题讨论】:

    标签: azure azure-web-app-service azure-functions azure-virtual-network azure-resource-manager


    【解决方案1】:

    经过进一步审查,这不可能仅通过 ARM 实现。以下是将 Web 应用连接到 VNet 的说明:https://docs.microsoft.com/en-gb/azure/app-service-web/app-service-vnet-integration-powershell


    旧答案:这是另一篇试图通过 Web 应用实现相同功能的帖子(功能基于 Web 应用构建):https://stackoverflow.com/a/39518349/5915331


    如果我必须根据 powershell 命令进行猜测,请尝试将子资源添加到类型为 config 的站点,名称为 web,类似于 github 部署的 arm 模板: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')]"
        },
      ]
    }
    

    【讨论】:

    • 那么arm是不可能的?
    • 通过 powershell 更新资源似乎“工作”,但这样做后应用程序仍显示为任何 VNET 的“未配置”
    【解决方案2】:

    我可以用 ARM 做所有事情,除了创建 VPN 包 - 这就是设置资源属性和实际使应用正确连接到 VNET 之间的区别。

    本文 (https://docs.microsoft.com/en-gb/azure/app-service-web/app-service-vnet-integration-powershell) 中的所有内容都可以轻松地从 PowerShell 转换为 ARM,Get-AzureRmVpnClientPackage 除外

    假设,如果您使用的是旧版 VNET,则可以通过 ARM 获取 VPN 客户端包 URL,因为旧版 VNET 资源提供程序支持该操作 (https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-control-resource-provider-operations):

    Microsoft.ClassicNetwork/virtualNetworks/gateways/listPackage/action
    

    ARM VNET 提供程序似乎没有

    【讨论】:

      猜你喜欢
      • 2020-12-26
      • 2017-07-15
      • 2017-01-16
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      相关资源
      最近更新 更多