gpt4 book ai didi

Terraform ebs 卷

转载 作者:行者123 更新时间:2023-12-02 22:20:45 26 4
gpt4 key购买 nike

我是 terraform 的新手,已经创建了 3 个 ec2 实例,并且创建了 6 个 ebs 卷。我们如何将 2 个 ebs 卷附加到三个实例中的每一个?

#Create 6 EBS volumes and attach 2 per instance.
resource "aws_ebs_volume" "vertica_ebs" {
count = "6"
availability_zone = "${var.availability_zone}"
size = "500"
type = "st1"

}
}

#Attach ebs volume
resource "aws_volume_attachment" "ebs_att" {
count = "6"
volume {
device_name = "/dev/sdf"
volume_id = "[${element(aws_ebs_volume.vertica_ebs.*.id, count.index)}]"
}
volume{
device_name = "/dev/sdg"
volume_id = "[${element(aws_ebs_volume.vertica_ebs.*.id, count.index)}]"
}
instance_id = "[${element(aws_instance.vertica1.*.id,count.index)}]"
}

错误:

  • aws_volume_attachment.ebs_att #2:“device_name”:未设置必填字段
  • aws_volume_attachment.ebs_att #2:“volume_id”:未设置必填字段
  • aws_volume_attachment.ebs_att #2: : 无效或未知 key :卷
  • aws_volume_attachment.ebs_att #4:“device_name”:未设置必填字段
  • aws_volume_attachment.ebs_att #4:“volume_id”:未设置必填字段
  • aws_volume_attachment.ebs_att #4: : 无效或未知 key :卷
  • aws_volume_attachment.ebs_att #3:“device_name”:未设置必填字段
  • aws_volume_attachment.ebs_att #3:“volume_id”:未设置必填字段
  • aws_volume_attachment.ebs_att #3: : 无效或未知 key :卷
  • aws_volume_attachment.ebs_att #0:“volume_id”:未设置必填字段
  • aws_volume_attachment.ebs_att #0:“device_name”:未设置必填字段
  • aws_volume_attachment.ebs_att #0: : 无效或未知 key :卷
  • aws_volume_attachment.ebs_att #1:“device_name”:未设置必填字段
  • aws_volume_attachment.ebs_att #1:“volume_id”:未设置必填字段
  • aws_volume_attachment.ebs_att #1: : 无效或未知 key :卷
  • aws_volume_attachment.ebs_att #5:“volume_id”:未设置必填字段
  • aws_volume_attachment.ebs_att #5:“device_name”:未设置必填字段
  • aws_volume_attachment.ebs_att #5: : 无效或未知 key :卷

最佳答案

注意:此方法将销毁并重新创建服务器。使用'aws volume attachment' method如果这对您来说是 Not Acceptable 。

解决此问题的一种方法以及我将如何解决它的方法是将 ebs 卷直接附加到实例资源。

您可以通过向每个服务器配置添加“ebs_block_device”元素,然后运行 ​​terraform apply 来实现此目的。例如,您希望添加 2 个 ebs block 设备的每个服务器资源将如下所示:

resource "aws_instance""example_instance"{
#INSTANCE CONFIGURATION VALUES
ebs_block_device{
device_name = "/dev/sdf"
volume_size = 500
volume_type = "st1"
}
ebs_block_device{
device_name = "/dev/sdg"
volume_size = 500
volume_type = "st1"
}
}

然后运行terraform plan,看到 block 设备将被添加到服务器和服务器中。使用此方法,服务器将被销毁并重新创建。如果这是可以接受的,请运行 terraform apply 以使用附加卷重建服务器。

Check out the documentation around ebs_block_device and aws_instance here.

关于Terraform ebs 卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42610807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com