Tôi đang cố gắng tạo hai máy centos 8 với địa hình trên Azure.
Mẫu của tôi github liên kết
Khi tôi cố gắng đăng ký, tôi nhận được lỗi dưới đây liên quan đến chính sách.
Bạn có thể vui lòng đề nghị làm thế nào để khắc phục điều này?
> â Lỗi: tạo Subnet: (Name "subnetforAutomation" / Virtual Network Name "vnetforAutomation" / Resource Group "automation_mart"):
> network.SubnetsClient#CreateOrUpdate: Lỗi gửi yêu cầu:
> StatusCode=0 -- Lỗi Gốc: Code="RequestDisallowedByPolicy"
> Message="Tài nguyên 'subnetforAutomation' không được phép theo chính sách.
> Định danh chính sách:
> '[{\"policyAssignment\":{\"name\":\"Deny-Subnet-Without-Nsg\",\"id\":\"/providers/Microsoft.Management/managerGroups/QSFT-landingzones/ nhà cung cấp/Microsoft.Authorization/policyAssignments/Deny-Subnet-Without-Nsg\"},\"policyDefinition\":{\"name\":\"Mạng con
> nên có Nhóm An ninh mạng
> \",\"id\":\"/providers/Microsoft.Management/managerGroups/QSFT/providers/Microsoft.Authorization/policyDefinitions/Deny-Subnet-Without-Nsg\"}}]'."
> Target="subnetforAutomation"
> AdditionalInfo=[{"info":{"evaluationDetails":{"evaluatedExpressions":[{"expression":"type","expressionKind":"Field","expressionValue":"Microsoft.Network/virtualNetworks/subnets" "operator":"Equals","path":"type","result":"True","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/managerGroups/QSFT-landingzones/providers/Microsoft.Authorization/policyAssignments/Deny-Subnet- Without-Nsg","policyAssignmentName":"Deny-Subnet-Without-Nsg","policyAssignmentScope":"/providers/Microsoft.Management/managerGroups/QSFT-landingzones","policyDefinitionDisplayName":"Mạng con
> nên có Nhóm An ninh mạng
> ","policyDefinitionEffect":"Từ chối","policyDefinitionId":"/providers/Microsoft.Management/managerGroups/QSFT/providers/Microsoft.Authorization/policyDefinitions/Deny-Subnet-Without-Nsg","policyDefinitionName":"Từ chối -Subnet-Without-Nsg"},"type":"Vi phạm chính sách"}]
>
> â
> â với azurerm_subnet.subnet,
> â trên main.tf dòng 24, trong tài nguyên "azurerm_subnet" "subnet":
> â 24: tài nguyên "azurerm_subnet" "mạng con" {
> â
Tôi đã thử giữ nội tuyến, mạng con bên trong vnet. Và vấn đề xảy ra ngay bây giờ khi giới thiệu mạng con từ khối tài nguyên phiên bản VM ở chính giai đoạn lập kế hoạch.
Lỗi: Thuộc tính không được hỗ trợ
â
â trên network.tf dòng 26, trong tài nguyên "azurerm_network_interface" "example":
â 26: subnet_id = azurerm_virtual_network.vnet.subnet.id #azurerm_subnet.subnet.id
â
â Không thể truy cập các thuộc tính trên một tập hợp các đối tượng. Ý của bạn là truy cập một thuộc tính trên tất cả các phần tử của tập hợp?
âµ
//chính.tf
## <https://www.terraform.io/docs/providers/azurerm/r/windows_virtual_machine.html>
tài nguyên "azurerm_windows_virtual_machine" "ví dụ" {
tên = var.machine_details.name
computer_name = var.machine_details.name
resource_group_name = azurerm_resource_group.rg.name
vị trí = azurerm_resource_group.rg.location
kích thước = var.machine_details.size
admin_username = var.machine_details.username
admin_password = var.machine_details.password
network_interface_ids = [
azurerm_network_interface.example.id,
]
os_disk {
bộ nhớ đệm = "Đọc ghi"
storage_account_type = "Standard_LRS"
}
source_image_reference {
nhà xuất bản = "MicrosoftWindowsServer"
ưu đãi = "Máy chủ Windows"
sku="2019-Trung tâm dữ liệu"
phiên bản = "mới nhất"
}
}
//mạng.tf
## <https://www.terraform.io/docs/providers/azurerm/r/virtual_network.html>
tài nguyên "azurerm_virtual_network" "vnet" {
tên = "vNet"
address_space = ["10.0.0.0/16"]
vị trí = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
mạng con{
tên = "nội bộ"
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>
tài nguyên "azurerm_network_interface" "ví dụ" {
tên = "ví dụ-nic"
vị trí = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
ip_configuration {
tên = "nội bộ"
subnet_id = azurerm_virtual_network.vnet.subnet.id #azurerm_subnet.subnet.id
private_ip_address_allocation = "Động"
public_ip_address_id = azurerm_public_ip.myvm1publicip.id
}
}
tài nguyên "azurerm_public_ip" "myvm1publicip" {
tên = var.public_ip.name
vị trí = 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
}
tài nguyên "azurerm_network_security_group" "ví dụ" {
tên = var.nsg
vị trí = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
security_rule {
tên = "test123"
ưu tiên = 100
hướng = "Trong nước"
truy cập = "Cho phép"
giao thức = "Tcp"
source_port_range = "*"
Destination_port_range = "*"
source_address_prefix = "*"
Destination_address_prefix = "*"
}
}
//nhà cung cấp.tf
## <https://www.terraform.io/docs/providers/azurerm/index.html>
nhà cung cấp "azurerm" {
Tính năng, đặc điểm {}
}
//rg.tf
## <https://www.terraform.io/docs/providers/azurerm/r/resource_group.html>
tài nguyên "azurerm_resource_group" "rg" {
tên = "Testing địa hình2"
vị trí = var.location
}
// biến.tf
biến "vị trí" {
loại = chuỗi
description = "Vùng Azure nơi tất cả các tài nguyên này sẽ được cung cấp"
mặc định = "eastus2"
}
biến "public_ip" {
mặc định = {
tên = "pip1"
Allocation_method = "Động"
sku = "Cơ bản"
}
}
biến "nsg" {
loại = chuỗi
mô tả = "Azure NSG"
mặc định = "ví dụ-nsg"
}
biến "machine_details" {
mặc định = {
tên = "ví dụ-vm2"
size="Standard_E2s_v3" #"Standard_F2"
tên người dùng = "adminnasme"
mật khẩu = "MyPaword!@3"
}
}