用于Cosmos DB ARM模板的virtualNetworkRule

时间:2018-05-23 14:31:13

标签: azure azure-cosmosdb arm-template

我可以使用ARM模板配置Cosmos DB帐户,并且我可以通过模板使用IP限制。但是,当我试图强制执行" virtualNetworkRules"通过模板,通过启用" isVirtualNetworkFilterEnabled"标记为" true"并且给出已经存在的vNet的ID,我没有看到反映的变化并且没有添加vNet。

我能否知道任何其他方式强制执行标记为" true"并将vNet详细信息添加到CosmosDB帐户(SQL / Mongo,因为vNet端点仅适用于那些)。

"isVirtualNetworkFilterEnabled": true,    
"virtualNetworkRules": [
      {
        "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
      }
    ],

2 个答案:

答案 0 :(得分:0)

通过添加服务端点,您实际上是在门户中启用“选定网络”。

如文档Connections部分所述,启用选定网络时会设置“ipRangeFilter”ip。我发现我必须在模板中设置这些选定网络才能显示。

    "ipRangeFilter": "104.42.195.92,40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26",
    "isVirtualNetworkFilterEnabled": true,
    "virtualNetworkRules": [
      {
        "id": "[parameters('subnetID')]"
      }
    ]

答案 1 :(得分:0)

我可以通过在ARM模板中执行此操作来实现此目的,

    "isVirtualNetworkFilterEnabled": true,
    "virtualNetworkRules": [
      {
        "virtualNetworkSubnetId": "[variables('subnetId')]"
      }
    ]

在变量部分,我传递字符串如下,

" subnetId":" [concat(' / subscriptions /',subscription()。subscriptionId,' / resourceGroups /',参数(' vnetRG'),' /providers/Microsoft.Network/virtualNetworks /',参数(' vnetName'),' / subnets /&# 39;,参数(' vnetSubnetName'))]"

但是,当我尝试将其分离到主模板{创建cosmosdb帐户}之外时,我们希望使用服务帐户来包含加固部分,它将配置VNET并设置IPRangeFilter,仅设置IPRangeFilter工作正常,但不是virtualNetworkRules。