Azure ARM 模板、站点的 VNET 集成 [英] Azure ARM Templates, VNET Integration of a Site

查看:27
本文介绍了Azure ARM 模板、站点的 VNET 集成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在 Azure 云中管理整个系统的创建.是否可以在模板中设置站点资源(Web 应用程序或功能)的 VNET 集成?

附上我要管理的设置的屏幕截图.

解决方案

是否可以在模板中设置站点资源(Web 应用程序或功能)的 VNET 集成?

以下模板可用于创建网站并将其连接到现有的 VNET,请参考.

<代码>{"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#","contentVersion": "1.0.0.0",参数": {托管计划名称":{类型":字符串",最小长度":1},skuName":{类型":字符串",默认值":F1",允许值":["F1","D1","B1","B2","B3","S1","S2","S3","P1","P2","P3",P4"],元数据":{"description": "描述计划的定价层和实例大小.在 https://azure.microsoft.com/en-us/pricing/details/app-service/查看详细信息"}},sku容量":{类型":整数",默认值":1,最小值":1,元数据":{"description": "描述计划的实例数"}},虚拟网络名称":{类型":字符串",分钟长度":1,元数据":{"description": "现有 Azure VNet 的名称,它已经有一个网关子网,并且在你要部署的资源组中."}}},变量":{"webSiteName": "[concat('webSite', uniqueString(resourceGroup().id))]"},资源": [{"apiVersion": "2015-08-01","name": "[参数('hostingPlanName')]","type": "Microsoft.Web/serverfarms","location": "[resourceGroup().location]",标签":{"displayName": "HostingPlan"},sku":{"name": "[参数('skuName')]",容量":[参数('skuCapacity')]"},特性": {"name": "[参数('hostingPlanName')]"}},{"apiVersion": "2015-08-01","name": "[变量('webSiteName')]","type": "Microsoft.Web/sites","location": "[resourceGroup().location]",标签":{"[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource","displayName": "网站"},取决于": ["[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"],特性": {"name": "[变量('webSiteName')]","serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"},资源": [{"apiVersion": "2015-08-01","name": "[参数('vnetName')]","type": "virtualNetworkConnections","location": "[resourceGroup().location]",取决于": ["[concat('Microsoft.Web/sites/', variables('webSiteName'))]"],特性": {"vnetResourceId": "[concat(resourceGroup().id,'/providers/Microsoft.Network/virtualNetworks/', parameters('vnetName'))]"}}]}]}

然后从

I'm mamanging a creation of a whole system in Azure cloud. It is possible to set VNET integration of a Site Resource (Webapp or Functions) within templates ?

Attaching a screenshot of the settings that I'd manage.

解决方案

It is possible to set VNET integration of a Site Resource (Webapp or Functions) within templates?

The following template could be used to create website and connect it to an existing VNET, please refer to it.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "hostingPlanName": {
      "type": "string",
      "minLength": 1
    },
    "skuName": {
      "type": "string",
      "defaultValue": "F1",
      "allowedValues": [
        "F1",
        "D1",
        "B1",
        "B2",
        "B3",
        "S1",
        "S2",
        "S3",
        "P1",
        "P2",
        "P3",
        "P4"
      ],
      "metadata": {
        "description": "Describes plan's pricing tier and instance size. Check details at https://azure.microsoft.com/en-us/pricing/details/app-service/"
      }
    },
    "skuCapacity": {
      "type": "int",
      "defaultValue": 1,
      "minValue": 1,
      "metadata": {
        "description": "Describes plan's instance count"
      }
    },
    "vnetName": {
      "type": "string",
      "minLength": 1,
      "metadata": {
        "description": "Name of an existing Azure VNet which has a Gateway Subnet already, and is in the resource group you are going to deploy."
      }
    }
  },
  "variables": {
    "webSiteName": "[concat('webSite', uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "apiVersion": "2015-08-01",
      "name": "[parameters('hostingPlanName')]",
      "type": "Microsoft.Web/serverfarms",
      "location": "[resourceGroup().location]",
      "tags": {
        "displayName": "HostingPlan"
      },
      "sku": {
        "name": "[parameters('skuName')]",
        "capacity": "[parameters('skuCapacity')]"
      },
      "properties": {
        "name": "[parameters('hostingPlanName')]"
      }
    },
    {
      "apiVersion": "2015-08-01",
      "name": "[variables('webSiteName')]",
      "type": "Microsoft.Web/sites",
      "location": "[resourceGroup().location]",
      "tags": {
        "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource",
        "displayName": "Website"
      },
      "dependsOn": [
        "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
      ],
      "properties": {
        "name": "[variables('webSiteName')]",
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
      },
      "resources": [
        {
          "apiVersion": "2015-08-01",
          "name": "[parameters('vnetName')]",
          "type": "virtualNetworkConnections",
          "location": "[resourceGroup().location]",
          "dependsOn": [
            "[concat('Microsoft.Web/sites/', variables('webSiteName'))]"
          ],
          "properties": {
            "vnetResourceId": "[concat(resourceGroup().id, '/providers/Microsoft.Network/virtualNetworks/', parameters('vnetName'))]"
          }
        }
      ]
    }
  ]
}

And then from Azure Resource Explorer, we could find there is a virtualNetworkConnections node under the site.

这篇关于Azure ARM 模板、站点的 VNET 集成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆