Azure 上 Windows Server 2012 R2 数据中心 VM 上 SQL Server 2014 的 Terraform 脚本
Terraform Script for SQL Server 2014 on Windows Server 2012 R2 Datacenter VM on Azure
我正在尝试使用 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 作为我要构建的基础模块。
上面的脚本正在为我启动一个 Virtual Machine 2012,而不是 SQL 服务器。如果你看这张图片,在我的脚本执行完成后,我无法在下面上传的图片中调整 SQL 服务器配置选项。
如果我从 Azure 门户在 Windows Server 2012 R2 上启动相同的 SQL Server 2014 SP2 Enterprise,我可以看到 SQL 服务器配置选项。
连同我的 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')]"
我得到"The request URL is not valid."
如果我尝试使用下面的命令,我会得到一个空数组 []:
az vm extension image list-names --publisher Microsoft.Compute --query "[?starts_with(name, 'SqlIaasExtension')]"
有什么方法可以使用 Terraform 在 Azure 上的 Windows Server 2012 R2 Datacenter VM 上启动此 SQL Server 2014?
之前有人试过吗?
感谢您的帮助
我已经弄明白了。我需要为此添加 azure_vm_extension
resource "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"
}
请注意,运行 脚本需要相当长的时间!
我正在尝试使用 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 作为我要构建的基础模块。
上面的脚本正在为我启动一个 Virtual Machine 2012,而不是 SQL 服务器。如果你看这张图片,在我的脚本执行完成后,我无法在下面上传的图片中调整 SQL 服务器配置选项。
如果我从 Azure 门户在 Windows Server 2012 R2 上启动相同的 SQL Server 2014 SP2 Enterprise,我可以看到 SQL 服务器配置选项。
连同我的 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')]"
我得到"The request URL is not valid."
如果我尝试使用下面的命令,我会得到一个空数组 []:
az vm extension image list-names --publisher Microsoft.Compute --query "[?starts_with(name, 'SqlIaasExtension')]"
有什么方法可以使用 Terraform 在 Azure 上的 Windows Server 2012 R2 Datacenter VM 上启动此 SQL Server 2014?
之前有人试过吗?
感谢您的帮助
我已经弄明白了。我需要为此添加 azure_vm_extension
resource "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"
}
请注意,运行 脚本需要相当长的时间!