我正在尝试使用Terraform在Azure上的Windows Server 2012 R2 Datacenter VM上构建SQL Server 2014。
这就是我的模块的样子
module "ms-sql-vm" {
source = ".../terraform_module/windows_vm"
vm_name = "ex-sql-vm"
name_space = "${module.randomename}"
arm_location = "centralus"
vm_resource_group_name = "${module....}"
availability_set_id = "${module....}"
vm_network_interface_ids = ["${module....}"]
vm_size = "Standard_D2s_v3"
vm_os_disk_name = "example-os-disk-${randomname}"
vm_os_caching = "ReadWrite"
vm_os_publisher = "MicrosoftSQLServer"
vm_os_offer = "SQL2014SP2-WS2012R2"
vm_os_sku = "Enterprise"
vm_os_version = "12.10.0"
vm_os_disk_size_gb = "127"
vm_data_disk_name = "${module.....}"
vm_data_disk_id = "${module.....}"
vm_managed_disk_type = "Standard_LRS"
vm_data_disk_size_gb = "${module.....}"
vm_data_caching = "ReadWrite"
vm_data_lun = 1
vm_admin_name = "exampleusername"
vm_admin_password = "Example12345!!"
boot_diagnostics_primary_blob_endpoint = "${module......}"
vm_delete_os_disk_on_termination = true
vm_delete_data_disk_on_termination = true
}
我正在使用这个 - https://www.terraform.io/docs/providers/azurerm/r/virtual_machine.html作为构建我的基础模块。
以上脚本为我启动了虚拟机2012,但不是SQL Server。如果您查看此图像,在我的脚本完成执行后,我无法在下面上传的图像中使用SQL Server配置选项。
如果我从Azure门户启动Windows Server 2012 R2上的Same SQL Server 2014 SP2企业版,我可以看到SQL Server配置选项。
与我的VM一起,我在我的资源组仪表板上找到了这个扩展,如下图所示,使用Portal进行VM调整,但如果我使用Terraform进行此扩展,则该扩展不可用。我试图找到扩展名,但无法找到该扩展名。
此扩展程序的资源类型和名称是
名称:SqlIaasExtension 资源类型:Microsoft.Compute / virtualMachines / extensions
如果我尝试使用此命令找到SqlIaasExtension -
az vm extension image list-names --publisher Microsoft.Compute/virtualMachines/extensions --query"[?starts_with(name, 'SqlIaasExtension')]"
我收到“请求网址无效。”
如果我尝试使用下面的命令,我会得到一个空数组[]:
az vm extension image list-names --publisher Microsoft.Compute --query "[?starts_with(name, 'SqlIaasExtension')]"
有没有办法在Azure上使用Terraform在Windows Server 2012 R2 Datacenter VM上启动此SQL Server 2014?
有人早点试过吗?
感谢您的帮助
答案 0 :(得分:1)
我已经弄清楚了。我需要为此
添加azure_vm_extensionresource "azurerm_virtual_machine_extension" "test" {
name = "SqlIaasExtension"
location = "West US"
resource_group_name = "${azurerm_resource_group.test.name}"
virtual_machine_name = "${azurerm_virtual_machine.test.name}"
publisher = "Microsoft.SqlServer.Management"
type = "SqlIaaSAgent"
type_handler_version = "1.2"
settings = <<SETTINGS
null
SETTINGS
tags {
environment = "Production"
}
请记住,运行脚本需要很长时间!