ฉันกำลังพยายามสร้างเครื่อง centos 8 สองเครื่องที่มีพื้นผิวเป็นสีฟ้า
GitHub เทมเพลตของฉัน ลิงค์
เมื่อฉันพยายามสมัคร ฉันได้รับข้อผิดพลาดด้านล่างเกี่ยวกับนโยบาย
คุณช่วยแนะนำวิธีแก้ไขปัญหานี้ได้ไหม
> â ข้อผิดพลาด: การสร้างเครือข่ายย่อย: (ชื่อ "subnetforAutomation" / ชื่อเครือข่ายเสมือน "vnetforAutomation" / กลุ่มทรัพยากร "automation_mart"):
> network.SubnetsClient#CreateOrUpdate: การส่งคำขอล้มเหลว:
> StatusCode=0 -- ข้อผิดพลาดดั้งเดิม: Code="RequestDisallowedByPolicy"
> Message="Resource 'subnetforAutomation' ไม่ได้รับอนุญาตตามนโยบาย
> ตัวระบุนโยบาย:
> '[{\"policyAssignment\":{\"name\":\"Deny-Subnet-Without-Nsg\",\"id\":\"/providers/Microsoft.Management/managementGroups/QSFT-landingzones/ ผู้ให้บริการ/Microsoft.Authorization/policyAssignments/Deny-Subnet-Without-Nsg\"},\"policyDefinition\":{\"name\":\"Subnets
> ควรมีกลุ่มความปลอดภัยเครือข่าย
> \",\"id\":\"/providers/Microsoft.Management/managementGroups/QSFT/providers/Microsoft.Authorization/policyDefinitions/Deny-Subnet-Without-Nsg\"}}]'"
> Target="subnetforAutomation"
> MoreInfo=[{"info":{"evaluationDetails":{"evaluatedExpressions":[{"expression":"type","expressionKind":"Field","expressionValue":"Microsoft.Network/virtualNetworks/subnets" ,"โอเปอเรเตอร์":"เท่ากับ","เส้นทาง":"ประเภท","ผลลัพธ์":"จริง","targetValue":"Microsoft.Network/virtualNetworks/subnets"},{"expression":"Microsoft.Network/ virtualNetworks/subnets/networkSecurityGroup.id","expressionKind":"Field","operator":"Exists","path":"properties.networkSecurityGroup.id","result":"True","targetValue":" false"}]},"policyAssignmentDisplayName":"Deny-Subnet-Without-Nsg","policyAssignmentId":"/providers/Microsoft.Management/managementGroups/QSFT-landingzones/providers/Microsoft.Authorization/policyAssignments/Deny-Subnet- ไม่มี Nsg","policyAssignmentName":"Deny-Subnet-Without-Nsg","policyAssignmentScope":"/providers/Microsoft.Management/managementGroups/QSFT-landingzones","policyDefinitionDisplayName":"Subnets
> ควรมีกลุ่มความปลอดภัยเครือข่าย
> ","policyDefinitionEffect":"ปฏิเสธ","policyDefinitionId":"/providers/Microsoft.Management/managementGroups/QSFT/providers/Microsoft.Authorization/policyDefinitions/Deny-Subnet-Without-Nsg","policyDefinitionName":"ปฏิเสธ -Subnet-Without-Nsg"},"type":"PolicyViolation"}]
>
>
> â กับ azurerm_subnet.subnet
> â บน main.tf บรรทัดที่ 24 ในทรัพยากร "azurerm_subnet" "subnet":
> â 24: ทรัพยากร "azurerm_subnet" "ซับเน็ต" {
>
ฉันพยายามรักษาอินไลน์ เครือข่ายย่อยภายใน vnet และตอนนี้ปัญหาก็มาถึงเมื่ออ้างอิงเครือข่ายย่อยจากบล็อกทรัพยากรอินสแตนซ์ VM ที่ขั้นตอนของแผนเอง
ข้อผิดพลาด: แอตทริบิวต์ที่ไม่รองรับ
â
â บน network.tf บรรทัดที่ 26 ในทรัพยากร "azurerm_network_interface" "example":
â 26: subnet_id = azurerm_virtual_network.vnet.subnet.id #azurerm_subnet.subnet.id
â
â ไม่สามารถเข้าถึงแอตทริบิวต์ในชุดของวัตถุ คุณต้องการเข้าถึงแอตทริบิวต์ในทุกองค์ประกอบในชุดหรือไม่
âµ
//main.tf
## <https://www.terraform.io/docs/providers/azurerm/r/windows_virtual_machine.html>
ทรัพยากร "azurerm_windows_virtual_machine" "ตัวอย่าง" {
ชื่อ = var.machine_details.name
ชื่อคอมพิวเตอร์ = var.machine_details.name
resource_group_name = azurerm_resource_group.rg.name
ตำแหน่ง = azurerm_resource_group.rg.location
size = var.machine_details.size
admin_username = var.machine_details.ชื่อผู้ใช้
admin_password = var.machine_details.password
network_interface_ids = [
azurerm_network_interface.example.id,
]
os_disk {
แคช = "อ่านเขียน"
storage_account_type = "Standard_LRS"
}
source_image_reference {
ผู้เผยแพร่ = "MicrosoftWindowsServer"
ข้อเสนอ = "Windows Server"
sku = "2019-ศูนย์ข้อมูล"
รุ่น = "ล่าสุด"
}
}
//network.tf
## <https://www.terraform.io/docs/providers/azurerm/r/virtual_network.html>
ทรัพยากร "azurerm_virtual_network" "vnet" {
ชื่อ = "วีเน็ต"
address_space = ["10.0.0.0/16"]
ตำแหน่ง = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
ซับเน็ต{
ชื่อ = "ภายใน"
address_prefix = "10.0.2.0/24"
security_group = azurerm_network_security_group.example.id
}
}
## <https://www.terraform.io/docs/providers/azurerm/r/network_interface.html>
ทรัพยากร "azurerm_network_interface" "ตัวอย่าง" {
ชื่อ = "example-nic"
ตำแหน่ง = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
ip_configuration {
ชื่อ = "ภายใน"
subnet_id = azurerm_virtual_network.vnet.subnet.id #azurerm_subnet.subnet.id
private_ip_address_allocation = "ไดนามิก"
public_ip_address_id = azurerm_public_ip.myvm1publicip.id
}
}
ทรัพยากร "azurerm_public_ip" "myvm1publicip" {
ชื่อ = var.public_ip.name
ตำแหน่ง = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
allocation_method = var.public_ip.allocation_method
sku = var.public_ip.sku
}
ทรัพยากร "azurerm_network_security_group" "ตัวอย่าง" {
ชื่อ = var.nsg
ตำแหน่ง = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
security_rule {
ชื่อ = "test123"
ลำดับความสำคัญ = 100
ทิศทาง = "ขาเข้า"
การเข้าถึง = "อนุญาต"
โปรโตคอล = "TCP"
source_port_range = "*"
destination_port_range = "*"
source_address_prefix = "*"
ปลายทาง_ที่อยู่_คำนำหน้า = "*"
}
}
//provider.tf
## <https://www.terraform.io/docs/providers/azurerm/index.html>
ผู้ให้บริการ "azurerm" {
คุณสมบัติ {}
}
//rg.tf
## <https://www.terraform.io/docs/providers/azurerm/r/resource_group.html>
ทรัพยากร "azurerm_resource_group" "rg" {
ชื่อ = "TerraformTesting2"
สถานที่ = var.location
}
//variables.tf
ตัวแปร "สถานที่" {
พิมพ์ = สตริง
คำอธิบาย = "ภูมิภาค Azure ที่ซึ่งทรัพยากรทั้งหมดเหล่านี้จะได้รับการจัดสรร"
ค่าเริ่มต้น = "eastus2"
}
ตัวแปร "public_ip" {
ค่าเริ่มต้น = {
ชื่อ = "pip1"
allocation_method = "ไดนามิก"
sku = "พื้นฐาน"
}
}
ตัวแปร "nsg" {
พิมพ์ = สตริง
คำอธิบาย = "Azure NSG"
ค่าเริ่มต้น = "ตัวอย่าง nsg"
}
ตัวแปร "machine_details" {
ค่าเริ่มต้น = {
ชื่อ = "ตัวอย่าง vm2"
size = "Standard_E2s_v3" #"Standard_F2"
ชื่อผู้ใช้ = "adminnasme"
รหัสผ่าน = "MyPaword!@3"
}
}