Tôi đang cố gắng tạo một bộ định tuyến đám mây, với hai dải mạng được quảng cáo từ nó, tuy nhiên tôi đang gặp phải một số lỗi rất mơ hồ từ địa hình và tôi không thể xác định được lỗi của mình.
tài nguyên "google_compute_router" "router1" {
tên = "${var.alias}-prod1-ha-vpn-cloud-router-1"
dự án = var.project_name
mạng = var.mạng1
khu vực = var.khu vực1
bgp {
asn = var.asn
quảng cáo_mode = "TÙY CHỈNH"
động "advertised_ip_ranges" {
for_each = var.advertised_ip_ranges_prod1
Nội dung {
phạm vi = quảng cáo_ip_ranges_prod1.value["cidr"]
mô tả = quảng cáo_ip_ranges_prod1.value["desc"]
}
}
}
}
Và mã mô-đun thực tế:
mô-đun "vpn-ha-gateway" {
nguồn = "-----"
project_name = var.project_name
khách hàng = var.customer
bí danh = var.alias
vùng1 = var.vùng1
đếm = (var.vpn_type == "ha-vpn"? 1 : 0) ## Bản dựng nếu vpn_type là ha-vpn
mạng1 = module.prod1-vpc.self_link
customer_redundancy = var.customer_redundancy
customer_ha_vpn_peers = var.customer_ha_vpn_peers
shared_secret = var.shared_secret
asn = var.asn
cust_asn = var.cust_asn
quảng cáo_ip_ranges_prod1 = var.advertised_ip_ranges_prod1
}
Chúng tôi xác định Advertisement_ip_ranges_prod1 dưới dạng bản đồ vì chúng tôi không biết sẽ có bao nhiêu mô-đun:
biến "advertised_ip_ranges_prod1" {
loại = danh sách (bản đồ (chuỗi))
description = "được quảng cáo bởi BGP trên prod1"
mặc định = [
{
cidr = "1.2.3.4/28" ## Phạm vi quảng cáo Prod1
desc = "phạm vi thứ cấp được quảng cáo qua BGP"
},
{
cidr = "5.6.7.8/28" # Kiểm tra phạm vi được quảng cáo
desc = "Phạm vi thử nghiệm được quảng cáo qua BGP"
},
]
}
Và trong khi tôi có các mô-đun khác được xây dựng theo cách tương tự (với for_each) hoạt động chính xác, mô-đun này vẫn tiếp tục đưa ra các lỗi mơ hồ sau:
Lỗi: Tham chiếu đến tài nguyên chưa được khai báo
trên .terraform\modules\vpn-ha\main.tf dòng 36, trong tài nguyên "google_compute_router" "router1":
36: phạm vi = quảng cáo_ip_ranges_prod1.value["cidr"]
Tài nguyên được quản lý "advertised_ip_ranges_prod1" "giá trị" chưa được khai báo
trong module.vpn-ha-gateway.
Lỗi: Tham chiếu đến tài nguyên chưa được khai báo
trên .terraform\modules\vpn-ha-gateway\main.tf dòng 37, trong tài nguyên "google_compute_router" "router1":
37: mô tả = quảng cáo_ip_ranges_prod1.value["desc"]
Tài nguyên được quản lý "advertised_ip_ranges_prod1" "giá trị" chưa được khai báo
trong module.vpn-ha-gateway.```