创建多个AWS EBS卷并使用Terraform

时间:2018-06-05 08:28:23

标签: amazon-web-services amazon-ec2 terraform amazon-ebs

我正在创建一个terraform配置,允许用户输入他们想要附加到EC2实例的AWS EBS卷的数量。

variable "number_of_ebs" {}

resource "aws_volume_attachment" "ebs_att" {
  count = "${var.number_of_ebs}"
  device_name= "/dev/sdh"
  volume_id   = "${element(aws_ebs_volume.newVolume.*.id, count.index)}"
  instance_id = "${aws_instance.web.id}"
}

resource "aws_instance" "web" {
  ami           = "ami-14c5486b"
  instance_type = "t2.micro"
  availability_zone = "us-east-1a"
  vpc_security_group_ids=["${aws_security_group.instance.id}"]
  key_name="KeyPairVirginia"
  tags {
    Name = "HelloWorld"
  }
}

resource "aws_ebs_volume" "newVolume" {
  count = "${var.number_of_ebs}"
  name  = "${format("vol-%02d", count.index + 1)}"
  availability_zone = "us-east-1a"
  size              = 4
  type="standard"
  tags {
    Name = "HelloWorld"
  }
}

肯定是错误的。我不知道如何为每个创建的卷动态分配不同的名称,并将volume_id添加到实例的附加。

以下是我得到的错误。

  var.number_of_ebs
  Enter a value: 2

  Error: aws_ebs_volume.newVolume[0]: : invalid or unknown key: name

  Error: aws_ebs_volume.newVolume[1]: : invalid or unknown key: name

1 个答案:

答案 0 :(得分:1)

如果您检查资源aws_ebs_volume的{​​{3}},则会看到不支持参数name。 这解释了错误消息。