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

Azure中使用Terraform配置机密VM安全类型的问题

解决Terraform创建Azure AMD SEV机密VM的安全类型配置问题

核心配置修正

要成功创建Azure机密VM(如Standard_DC2as_v5规格),必须在azurerm_linux_virtual_machine资源的根级别设置security_type = "Confidential"——这就是Azure GUI中"Security type"设为Confidential对应的Terraform配置项。之前的问题在于漏设了这个顶层参数,反而尝试在os_disk块中添加不兼容的参数。

正确配置示例

resource "azurerm_linux_virtual_machine" "confidential_vm" {
  name                = "school-project-cvm"
  resource_group_name = azurerm_resource_group.your_rg.name
  location            = azurerm_resource_group.your_rg.location
  size                = "Standard_DC2as_v5"
  admin_username      = "ubuntu"
  network_interface_ids = [
    azurerm_network_interface.your_nic.id,
  ]

  # 关键配置:指定安全类型为机密
  security_type = "Confidential"

  os_disk {
    caching              = "ReadWrite"
    storage_account_type = "Premium_LRS"
    # 机密VM默认支持平台托管加密,无需额外配置加密类型;若需自定义加密,可关联磁盘加密集
  }

  source_image_reference {
    publisher = "Canonical"
    offer     = "0001-com-ubuntu-confidential-vm-focal"
    sku       = "20_04-lts-cvm"
    version   = "latest"
  }

  admin_ssh_key {
    username   = "ubuntu"
    public_key = file("~/.ssh/id_rsa.pub")
  }
}

关键说明

  • security_type是azurerm_linux_virtual_machine的顶层参数,不属于os_disk块,必须显式设置为"Confidential"才能匹配机密VM规格的强制要求。
  • 你尝试添加的security_encryption_type属于独立的azurerm_managed_disk资源参数,不适用于azurerm_linux_virtual_machine的os_disk块,因此会触发"参数不被支持"的报错。
  • 确认源镜像的sku正确:Canonical的Ubuntu 20.04机密镜像sku为20_04-lts-cvm,需与offer字段严格对应。

错误原因复盘

  • 未设置security_type时,默认值为<NULL>,而Standard_DC2as_v5这类机密VM规格不允许安全类型为NULL,因此触发"VM规格不支持安全类型"的报错。
  • 错误地在os_disk块中使用了不属于该块的参数,导致配置不兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 06:35:29