如何通过Terraform为Azure虚拟机设置DNS名称
Terraform 配置Azure虚拟机DNS名称方案
核心原理
Azure 门户中虚拟机展示的DNS名称,绑定在虚拟机关联的公网IP资源上,并非直接配置在虚拟机资源本身,只需在公网IP的Terraform配置中添加对应参数即可实现需求。
配置示例
1. 公网IP资源配置(核心配置项)
resource "azurerm_public_ip" "vm_public_ip" { name = "vm-pip-france" resource_group_name = azurerm_resource_group.your_rg.name location = "francecentral" allocation_method = "Dynamic" # 静态IP可改为Static # 此处填写你的服务器名称前缀,最终DNS会自动拼接区域后缀 domain_name_label = "你的服务器名称" }
2. 网卡关联公网IP(确保公网IP绑定到对应虚拟机)
resource "azurerm_network_interface" "vm_nic" { name = "vm-nic-france" resource_group_name = azurerm_resource_group.your_rg.name location = "francecentral" ip_configuration { name = "vm-ip-config" subnet_id = azurerm_subnet.your_subnet.id private_ip_address_allocation = "Dynamic" # 关联上述公网IP资源 public_ip_address_id = azurerm_public_ip.vm_public_ip.id } }
3. 虚拟机关联网卡
resource "azurerm_linux_virtual_machine" "your_vm" { name = "你的服务器名称" resource_group_name = azurerm_resource_group.your_rg.name location = "francecentral" size = "Standard_D2s_v3" admin_username = "adminuser" # 关联上述网卡资源 network_interface_ids = [azurerm_network_interface.vm_nic.id] # 其他虚拟机配置(镜像、SSH密钥等)按需补充 }
效果验证
- 部署完成后,自动生成的DNS地址格式为
{你填写的服务器名称}.francecentral.cloudapp.azure.com,完全匹配你需要的格式要求 - 你可以直接在Azure门户虚拟机概览页的DNS名称字段查看生成结果
内容的提问来源于stack exchange,提问作者esngsrj
相关产品推荐
相关产品推荐

