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

使用Terraform部署Azure TrustedLaunch类型VM遇SecurityType错误求助

问题解答

那个5个月前的说法已经过时,当前版本的Terraform AzureRM Provider已支持配置security_type参数来启用TrustedLaunch。

错误原因

你碰到的400错误,是因为使用的库镜像强制要求VM必须启用TrustedLaunch,但你的Terraform配置未指定该安全类型,导致Azure拒绝创建请求。

解决方法

在azurerm_linux_virtual_machine或azurerm_windows_virtual_machine资源块中添加以下配置:

  • 明确设置security_type = "TrustedLaunch"
  • 配置security_profile块内的uefi_settings,开启安全启动和vTPM(这是TrustedLaunch的必要组件)

示例配置(以Linux VM为例):

resource "azurerm_linux_virtual_machine" "example" {
  name                = "example-vm"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  size                = "Standard_D2s_v3"
  admin_username      = "adminuser"
  network_interface_ids = [
    azurerm_network_interface.example.id,
  ]

  # 指定TrustedLaunch安全类型
  security_type = "TrustedLaunch"

  security_profile {
    uefi_settings {
      secure_launch_enabled = true
      v_tpm_enabled         = true
    }
  }

  source_image_reference {
    publisher = "Canonical"
    offer     = "0001-com-ubuntu-server-jammy"
    sku       = "22_04-lts-gen2"
    version   = "latest"
  }

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

  os_disk {
    caching              = "ReadWrite"
    storage_account_type = "Premium_LRS"
  }
}

如果是虚拟机规模集(VMSS),配置逻辑一致,在azurerm_linux_virtual_machine_scale_set或azurerm_windows_virtual_machine_scale_set中添加对应的security_type和security_profile块即可。

注意事项

  • 确保使用的AzureRM Provider版本不低于3.0.0(该版本开始全面支持TrustedLaunch配置)
  • 部分旧代系VM规格不支持TrustedLaunch,需选择Gen2类型的实例大小(如Standard_D2s_v3这类带v3及更高代系的规格)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:28:20