我正在尝试创建和配置Load Balancer。 可用区部分对我来说只有一个子网和一个区域。
我遇到了错误:
必须至少指定两个子网。
一个简单的问题-我该怎么办?谢谢。
答案 0 :(得分:6)
您首先需要在VPC中创建两个或多个子网。通常最好的做法是为您所在地区的每个可用区(AZ)创建至少一个子网。确保根据您的体系结构选择公共/私有。
AWS文档中没有特定的示例,但是请确保首先了解VPC概念和子网的创建。有关创建子网的最接近的示例演练,请参见Scenarios and Examples。
配置ELB时选择子网应该很简单。
答案 1 :(得分:0)
您的VPC中需要两个子网:一种好的做法是在两个不同的可用性区域中拥有一个,例如 a 和 b 。 TERRAFORM_CONFIG_NAME.tf的相关部分如下所示:
setting {
namespace = "aws:ec2:vpc"
name = "Subnets"
value = "${lookup(var.vpc_subnets, format("%s_%s", var.location, var.availability_zone))}, ${lookup(var.vpc_subnets, format("%s_%s", var.location, var.secondary_availability_zone))}"
}
,variables.tf像这样:
variable "vpc_subnets" {
type = "map"
default = {
"frankfurt_a" = "subnet-12345671"
"frankfurt_b" = "subnet-12345672"
"frankfurt_c" = "subnet-12345673"
"ireland_a" = "subnet-12345674"
"ireland_b" = "subnet-12345675"
"ireland_c" = "subnet-12345676"
}
}
variable "availability_zone" {
default = "a"
}
variable "secondary_availability_zone" {
default = "b"
}
variable "regions" {
type = "map"
default = {
"frankfurt" = "eu-central-1"
"ireland" = "eu-west-1"
"london" = "eu-west-2"
}
}
variable "location" {
default = "ireland"
}