我正在尝试通过运行 AzureRM 的 customscriptextension 来配置 vm 并通过 powershell 脚本将其提升到域控制器,但它给出了意外的网络关闭错误。我正在从 github 存储库导入 powershell 脚本以在部署后运行这里是代码:
provider "azurerm" {
version = "~>1.44.0"
}
# Create a new resource group
resource "azurerm_resource_group" "rg" {
name = "myTFResourceGroup"
location = "eastus2"
tags = {
Environment = "Terraform Getting Started"
Team = "DevOps"
}
}
variable "prefix" {
default = "vmtrial"
}
resource "azurerm_virtual_network" "main" {
name = "${var.prefix}-network"
address_space = ["10.0.0.0/16"]
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
}
resource "azurerm_subnet" "internal" {
name = "internal"
resource_group_name = azurerm_resource_group.rg.name
virtual_network_name = azurerm_virtual_network.main.name
address_prefix = "10.0.2.0/24"
}
resource "azurerm_public_ip" "main" {
name = "${var.prefix}-publicip"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
allocation_method = "Static"
}
resource "azurerm_network_security_group" "main" {
name = "${var.prefix}-nsg"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
security_rule {
name = "test123"
priority = 100
direction = "Inbound"
access = "Allow"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "*"
source_address_prefix = "*"
destination_address_prefix = "*"
}
tags = {
environment = "Production"
}
}
resource "azurerm_network_interface" "main" {
name = "${var.prefix}-nic"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
network_security_group_id = azurerm_network_security_group.main.id
ip_configuration {
name = "testconfiguration1"
subnet_id = azurerm_subnet.internal.id
private_ip_address_allocation = "Dynamic"
public_ip_address_id = azurerm_public_ip.main.id
}
}
resource "azurerm_storage_account" "main" {
name = "*******************"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
account_tier = "Standard"
account_replication_type = "LRS"
}
resource "azurerm_storage_container" "main" {
name = "vhds"
resource_group_name = azurerm_resource_group.rg.name
storage_account_name = azurerm_storage_account.main.name
container_access_type = "private"
}
resource "azurerm_virtual_machine" "main" {
name = "${var.prefix}-vm"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
network_interface_ids = [azurerm_network_interface.main.id]
vm_size = "Standard_D2s_v3"
# Uncomment this line to delete the OS disk automatically when deleting the VM
delete_os_disk_on_termination = true
# Uncomment this line to delete the data disks automatically when deleting the VM
delete_data_disks_on_termination = true
storage_image_reference {
publisher = "MicrosoftWindowsServer"
offer = "WindowsServer"
sku = "2019-Datacenter"
version = "latest"
}
storage_os_disk {
name = "myosdisk1"
vhd_uri = "${azurerm_storage_account.main.primary_blob_endpoint}${azurerm_storage_container.main.name}/myosdisk1.vhd"
caching = "ReadWrite"
create_option = "FromImage"
#managed_disk_type = "Standard_LRS"
}
os_profile {
computer_name = "hostname"
admin_username = "*********"
admin_password = "*************"
}
os_profile_windows_config{
provision_vm_agent = true
}
tags = {
Owner = "staging"
}
}
resource "azurerm_virtual_machine_extension" "test" {
name = "hostname"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
virtual_machine_name = azurerm_virtual_machine.main.name
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
type_handler_version = "1.9"
protected_settings = <<PROTECTED_SETTINGS
{
"commandToExecute": "powershell.exe -Command \"./dservicerole.ps1; exit 0;\""
}
PROTECTED_SETTINGS
settings = <<SETTINGS
{
"fileUris": [
"https://github.com/Aditya0311/Scripts/blob/master/dservicerole.ps1"
]
}
SETTINGS
}
这是我收到的错误:
Code="VMExtensionProvisioningError" Message="VM 在处理扩展 'hostname' 时报告失败。错误消息:\"无法下载所有指定文件。退出。错误消息:请求已中止:连接意外关闭。\"\r\n\r\n有关疑难解答的更多信息,请访问https://aka.ms/VMExtensionCSEWindowsTroubleshoot "
为什么我会收到 VMExtensionProvisioningError。无法下载所有指定文件?