ARM 模板如何将公共 IP 添加到 dns 区域

问题描述

我正在使用手臂模板进行部署(最好是二头肌)。有没有一种简单的方法可以将我的公共 ip 资源添加到预先存在的 DNS 区域?公网IP有dnsSettings属性,但好像只能设置DNS指向azure默认域publicipname.eastus.cloudapp.azure.com,不能设置publicipname.customdomain.com。

resource publicIp 'Microsoft.Network/publicIPAddresses@2020-11-01' = {
  location: rg_location
  name: 'pip-example'
  tags: tags_list
  sku: {
    name: 'Standard'
    tier: 'Regional'
  }
  properties:{
    dnsSettings:{
      domainNameLabel: 'publicipname'
      fqdn: 'publicipname.customdomain.com'
    }
    publicIPAllocationMethod: 'Static'
  }
}

解决方法

您可以直接在 DNS 中注册 PublicIP 资源,例如:

...
resource dns 'Microsoft.Network/dnsZones@2018-05-01' = {
  name: 'customdomain.com'
  location: 'global'
  properties: {
    zoneType: 'Public'
  }
}

resource dnsEntry 'Microsoft.Network/dnsZones/A@2018-05-01' = {
  name: 'publicipname'
  parent: dns
  properties: {
    TTL: 3600
    targetResource: {
      id: publicIp.id
    }
  }
}

或使用 IP 地址

resource dns 'Microsoft.Network/dnsZones@2018-05-01' = {
  name: 'customdomain.com'
  location: 'global'
  properties: {
    zoneType: 'Public'
  }
}

resource dnsEntry 'Microsoft.Network/dnsZones/A@2018-05-01' = {
  name: 'publicipname'
  parent: dns
  properties: {
    TTL: 3600
    ARecords: [
      {
        ipv4Address: publicIp.properties.ipAddress
      }
    ]
  }
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...