You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Terraform中azurerm_virtual_machine_extension资源name参数的疑问

关于Terraform azurerm_virtual_machine_extension中name参数的疑问解答

嘿,我完全懂你为啥被官方文档的描述搞懵了——那句“virtual machine extension peering”绝对是个误导性的表述,甚至大概率是文档里的笔误!

咱们拆解一下这个name参数的真实含义:

  • 首先,它就是你要创建的虚拟机扩展资源本身的名称,和“peering(对等连接)”半毛钱关系都没有,应该是文档把“extension”错写成了“peering”。
  • 文档后半句“Changing this forces a new resource to be created”才是核心:Azure的虚拟机扩展资源是通过名称唯一标识的,一旦你修改这个name值,Terraform会判定你需要创建一个全新的扩展,而不是修改已存在的那个——因为Azure本身不允许修改已部署的虚拟机扩展的名称。

举个实际的例子更清楚:
假设你一开始的配置是这样的:

resource "azurerm_virtual_machine_extension" "vm_custom_script" {
  name                 = "MyCustomScriptExt"
  virtual_machine_id   = azurerm_virtual_machine.my_vm.id
  publisher            = "Microsoft.Compute"
  type                 = "CustomScriptExtension"
  type_handler_version = "1.10"
  # 其他扩展配置...
}

如果之后你把name改成"MyCustomScriptExt-v2",Terraform会先销毁原来名为MyCustomScriptExt的扩展,再创建一个新的叫MyCustomScriptExt-v2的扩展,而不是直接修改原扩展的名称。

另外补充一点:这个name也是你在Azure Portal或者Azure CLI里能看到的扩展名称,同一台虚拟机上的不同扩展(比如同时有自定义脚本扩展、监控扩展)需要用不同的name来区分,保证唯一性。

内容的提问来源于stack exchange,提问作者phydeauxman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:34:19