如何通过Terraform自动将Azure专用端点注册到专用DNS区域
实现Azure存储账户专用端点DNS记录自动注册
问题描述
我已创建名为privatelink.file.core.windows.net的专用DNS区域,且该区域已链接到目标虚拟网络。通过Terraform创建存储账户及对应专用端点后,发现资源未自动注册到该专用DNS区域,目前只能手动创建专用DNS A记录,如何配置实现自动注册?
现有Terraform代码
存储账户创建代码
resource "azurerm_storage_account" "st" { name = var.st.name resource_group_name = var.rg_shared_name location = var.rg_shared_location account_tier = var.st.tier account_replication_type = var.st.replication }
专用端点创建代码
# PRIVATE ENDPOINT FOR STORAGE ACCOUNT resource "azurerm_private_endpoint" "pe" { name = var.pe.name resource_group_name = var.rg_shared_name location = var.rg_shared_location subnet_id = var.subnet_id private_service_connection { name = "test" private_connection_resource_id = azurerm_storage_account.st.id is_manual_connection = false subresource_names = ["file"] } }
手动创建DNS记录代码
resource "azurerm_private_dns_a_record" "st_fqdn" { name = azurerm_storage_account.st.name zone_name = "privatelink.file.core.windows.net" resource_group_name = "rg-hub-shared-core-dns-uks-001" ttl = 300 records = ["172.17.208.4"] }
自动注册实现方案
要实现专用端点DNS记录自动注册,需在azurerm_private_endpoint资源中添加private_dns_zone_group配置块,将专用端点与已有的专用DNS区域关联。具体修改步骤如下:
1. 引用已存在的专用DNS区域
先通过数据源获取已创建的专用DNS区域信息:
data "azurerm_private_dns_zone" "file_zone" { name = "privatelink.file.core.windows.net" resource_group_name = "rg-hub-shared-core-dns-uks-001" # DNS区域所在资源组 }
2. 修改专用端点代码添加DNS关联块
更新后的专用端点代码如下:
# PRIVATE ENDPOINT FOR STORAGE ACCOUNT resource "azurerm_private_endpoint" "pe" { name = var.pe.name resource_group_name = var.rg_shared_name location = var.rg_shared_location subnet_id = var.subnet_id private_service_connection { name = "test" private_connection_resource_id = azurerm_storage_account.st.id is_manual_connection = false subresource_names = ["file"] } # 新增此块实现DNS自动注册 private_dns_zone_group { name = "storage-dns-group" # 自定义DNS组名称 private_dns_zone_ids = [data.azurerm_private_dns_zone.file_zone.id] } }
3. 移除手动DNS记录资源
配置完成后,Azure会自动生成并注册专用端点的A记录到指定DNS区域,无需再保留手动创建的azurerm_private_dns_a_record资源。
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

