Azure DNS Zone
This page shows how to write Terraform and Azure Resource Manager for DNS Zone and write them securely.
azurerm_dns_zone (Terraform)
The Zone in DNS can be configured in Terraform with the resource name azurerm_dns_zone. The following sections describe 10 examples of how to use the resource and its parameters.
Example Usage from GitHub
resource "azurerm_dns_zone" "dns_zone" {
name = var.domain_name
resource_group_name = var.resource_group_name
tags = var.tags
}
resource "azurerm_dns_zone" "primary-public" {
name = var.dns_zone_name
resource_group_name = azurerm_resource_group.hub.name
resource "azurerm_dns_zone" "my_public_zone" {
name = var.dns_public_zone_name
resource_group_name = azurerm_resource_group.first_rg.name
}
resource "azurerm_dns_zone" "my_private_zone" {
resource "azurerm_dns_zone" "dns_zone" {
name = var.domain
resource_group_name = azurerm_resource_group.rg.name
}
resource "azurerm_dns_cname_record" "cname" {
resource "azurerm_dns_zone" "dns" {
for_each = toset(var.dns_zones)
name = each.value
resource_group_name = var.rg_name
resource "azurerm_dns_zone" "dnsDomain" {
name = var.zoneName
resource_group_name = var.resourceGroupName
}
resource "azurerm_dns_zone" "westus" {
name = "mydomain.com"
resource_group_name = azurerm_resource_group.example.name
}
resource "azurerm_resource_group" "example1" {
name = "example-resources"
resource "azurerm_dns_zone" "dns_zone" {
name = var.name
resource_group_name = var.resource_group
}
resource "azurerm_dns_cname_record" "app_cname" {
resource "azurerm_dns_zone" "cluster_domain" {
name = var.domain
resource_group_name = azurerm_resource_group.cluster.name
tags = local.tags
}
resource "azurerm_dns_zone" "dns_zone" {
name = var.dns_zone_name
resource_group_name = var.rg_name
Parameters
-
idoptional computed - string -
max_number_of_record_setsoptional computed - number -
namerequired - string -
name_serversoptional computed - set of string -
number_of_record_setsoptional computed - number -
resource_group_namerequired - string -
tagsoptional - map from string to string -
soa_recordlist block-
emailrequired - string -
expire_timeoptional - number -
fqdnoptional computed - string -
host_namerequired - string -
minimum_ttloptional - number -
refresh_timeoptional - number -
retry_timeoptional - number -
serial_numberoptional - number -
tagsoptional - map from string to string -
ttloptional - number
-
-
timeoutssingle block
Explanation in Terraform Registry
Enables you to manage DNS zones within Azure DNS. These zones are hosted on Azure's name servers to which you can delegate the zone from the parent domain.
Microsoft.Network/dnszones (Azure Resource Manager)
The dnszones in Microsoft.Network can be configured in Azure Resource Manager with the resource name Microsoft.Network/dnszones. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
"type": "Microsoft.Network/dnszones",
"name": "[parameters('DnsZoneName')]",
"apiVersion": "2016-04-01",
"location": "global",
"tags": {},
"properties": {
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dnsZoneName": {
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dnsZoneName": {
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dnsZoneName": {
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dnsZoneName": {
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dnsZoneName": {
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dnsZoneName": {
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dnsZoneName": {
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dnsZoneName": {
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dnsZoneName": {
Frequently asked questions
What is Azure DNS Zone?
Azure DNS Zone is a resource for DNS of Microsoft Azure. Settings can be wrote in Terraform.
Where can I find the example code for the Azure DNS Zone?
For Terraform, the techiesathya/k8sprovisioning, raykao/ray-kaorp and linuxlsr/azureLearning source code examples are useful. See the Terraform Example section for further details.
For Azure Resource Manager, the pcossu/SkypeforBusiness_IaC_lab_V4, Somphodj/azure and RTmtfiallos/ABCDS-AKS-NAT-AGIC source code examples are useful. See the Azure Resource Manager Example section for further details.