我正在尝试将端点添加到现有的Azure流量管理器。使用NULL
部署下面的模板时,它会删除以前的端点配置。
是否可以通过ARM模板将端点添加到现有流量管理器而不删除以前的?或建议使用Azure PowerShell客户端吗?
New-AzureRmResourceGroupDeployment
作为类比,可以将访问策略逐步添加到Azure Key Vault,如下所示:
{
"$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"trafficManagerName": {
"type": "String"
},
"webAppName": {
"type": "String"
},
"webAppLocationRegion": {
"type": "String"
},
"monitorPath": {
"type": "String"
}
},
"resources": [
{
"type": "Microsoft.Network/trafficManagerProfiles",
"name": "[parameters('trafficManagerName')]",
"apiVersion": "2017-05-01",
"location": "global",
"properties": {
"profileStatus": "Enabled",
"trafficRoutingMethod": "Performance",
"dnsConfig": {
"relativeName": "[parameters('trafficManagerName')]",
"ttl": 70
},
"monitorConfig": {
"protocol": "HTTPS",
"port": 443,
"path": "[parameters('monitorPath')]"
},
"endpoints": [
{
"name": "[parameters('webAppName')]",
"type": "Microsoft.Network/trafficManagerProfiles/azureEndpoints",
"properties": {
"endpointStatus": "Enabled",
"targetResourceId": "[resourceId('Microsoft.Web/sites', parameters('webAppName'))]",
"weight": 1,
"priority": 1,
"endpointLocation": "[parameters('webAppLocationRegion')]"
}
}
]
}
}
]
}
答案 0 :(得分:3)
是的,你可以。
诀窍是要了解Traffic Manager端点同时是配置文件的属性,也是它们自身的子资源。
因此,您的模板可以将端点部署为子资源。这不会影响其他端点或任何其他配置文件属性。
例如,请查看模板库中的Azure Traffic Manager / Web Apps示例。Traffic Manager template。
该示例使用CopyIndex循环以递增方式部署多个端点,每个Web App一个端点。您可以简化此操作,删除循环,以增量方式添加单个端点。
答案 1 :(得分:2)
它是可行的,但是由于配置是声明性的,你需要指定所有现有的端点并为它们添加一个新端点,否则它们会像你观察到的那样被删除。
模板中未指定的任何内容都将被删除;)