EC2。负载均衡器。必须至少指定两个子网

EC2. Load balancer. At least two subnets must be specified

我正在尝试创建和配置负载平衡器。 可用区部分只有一个子网和一个区域。

我遇到错误:

At least two subnets must be specified.

简单的问题 - 我该怎么办?谢谢。

您首先需要在 VPC 中创建两个或更多子网。为您所在地区的每个可用区 (AZ) 创建至少一个子网通常是一种很好的做法。请确保 select public/private 适合您的架构。

AWS文档中没有具体的例子,但是一定要先了解VPC的概念和子网的创建。有关创建子网的最接近示例演练,请参阅 Scenarios and Examples

配置 ELB 时选择子网现在应该很简单了。

您的 VPC 中需要两个子网:好的做法是在两个不同的可用性区域中使用一个子网,例如 ab . 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"
}