Azure ARM模板,用于部署具有cname和证书的网站

时间:2017-12-06 20:20:45

标签: azure azure-resource-manager azure-deployment azure-template

我正在尝试构建一个自定义ARM模板,该模板部署一个新资源组(web,sql,redis,storage),该资源组还在我们在另一个/现有resGroup中托管的dnsZone中创建自定义CNAME记录。最后,我想从KeyVault中添加一个证书绑定(通配符),也存储在另一个resGroup中。

似乎支持在新的resGroup中添加区域,但无法找到利用现有区域的示例,只需添加指向我的新网络应用的CNAME记录。

似乎还有创建密钥保管库的示例,但不会将站点绑定到不同resGroup中现有保管库中的现有证书。

这是一种非常常见的多租户方案,看起来应该可以在我们的模板中使用,而不必依赖PowerShell或Azure CLI。

1 个答案:

答案 0 :(得分:2)

使用部署资源包装dnsZone资源,并将其范围限定为另一个组。

{
    "apiVersion": "2017-05-10",
    "name": "nestedTemplate",
    "type": "Microsoft.Resources/deployments",
    "resourceGroup": %%% resource group name goes here %%%,
    "properties": {
        "mode": "Incremental",
        "template": {
            "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
            "contentVersion": "1.0.0.0",
            "parameters": {},
            "variables": {},
            "resources": [
                %%%% dnsZone goes here %%%
            ]
        },
        "parameters": {}
    }
}

对于KV,您可以使用快速入门中的示例:
https://github.com/Azure/azure-quickstart-templates/blob/master/webapp-keyvault-ssl/azuredeploy.json