【问题标题】:How to add multiple instances under an elb如何在一个elb下添加多个实例
【发布时间】:2019-07-17 06:58:24
【问题描述】:

我正在尝试使用 count 函数在我的 elb 下添加 4 个 ec2 实例。但是,当我执行模板时,出现以下错误:

错误:属性值类型不正确 在 main.tf 第 19 行,在资源“aws_elb”“web”中: 19: 实例 = ["${aws_instance.web.*.id}"] 属性“实例”的值不合适:元素 0:需要字符串。

provider "aws" {
  region = "${var.aws_region}"
}

resource "aws_elb" "web" {
  name = "terraform-example-elb"

  # The same availability zone as our instances
  availability_zones = ["${aws_instance.web.*.availability_zone}"]

  listener {
    instance_port     = 80
    instance_protocol = "http"
    lb_port           = 80
    lb_protocol       = "http"
  }

  # The instances are registered automatically
  instances = ["${aws_instance.web.*.id}"]
}

resource "aws_instance" "web" {
  instance_type = "m1.small"
  ami           = "${lookup(var.aws_amis, var.aws_region)}"

  # This will create 4 instances
  count = 4
}

我该如何解决这个问题?

【问题讨论】:

    标签: terraform-provider-aws


    【解决方案1】:

    availability_zonesinstances 参数需要一个列表,但使用 splat 运算符返回的数据也返回一个列表。看起来您正在使用方括号传递列表列表,这就是它失败的原因。

    例如使用 v0.12 表示法:

    availability_zones = aws_instance.web[*].availability_zone
    

    使用 v0.11 表示法:

    availability_zones = aws_instance.web.*.availability_zone
    

    几个笔记:

    • ELB 不会“工作”,因为它的运行状况检查失败,直到实例在 80 开始广播
    • m1.small是老一辈

    【讨论】:

      【解决方案2】:

      我完全同意 user11391264 的观点,即您的 ELB 将无法工作,因为它缺少运行状况检查......请将下面的代码添加到您的脚本中。

      health_check {
          healthy_threshold   = 3
          unhealthy_threshold = 5
          timeout             = 5
          target              = "${var.elb_healthcheck_target}"
          interval            = 30
      }
      cross_zone_load_balancing   = true
      connection_draining         = true
      connection_draining_timeout = 400
      
      variable "elb_healthcheck_target" {
        default = "HTTP:80/"
      }
      

      【讨论】:

        猜你喜欢
        • 2018-04-02
        • 1970-01-01
        • 2013-10-24
        • 2014-06-08
        • 2019-06-01
        • 1970-01-01
        • 2018-10-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多