我是新的地形,已经创建了3个ec2实例,我已经创建了6个ebs卷。我们如何将两个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)}]"
}错误:
发布于 2017-03-28 20:56:05
注意:此方法将破坏并重新创建服务器。如果这是不可接受的,请使用“'aws体积附件”方法。
解决这个问题的一种方法是将ebs卷直接附加到实例资源上,以及如何解决这个问题。
您可以通过在每个服务器配置中添加一个'ebs_block_device‘元素,然后运行terraform apply来做到这一点。例如,您希望向其中添加2个ebs块设备的每个服务器资源如下所示:
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,确保将块设备添加到服务器和服务器。使用此方法,服务器将被销毁并重新创建。如果这是可以接受的,请运行terraform apply以使用附加卷重新构建服务器。
发布于 2017-05-18 20:00:03
我将以这种格式做一些事情:
resource "aws_instance" "example" {
ami = "${lookup(var.AMIS, var.AWS_REGION)}"
instance_type = "t2.micro"
}
resource "aws_ebs_volume" "ebs-volume-1" {
availability_zone = "eu-west-1a"
size = 500
type = "st1"
tags {
Name = "more volume"
}
}
resource "aws_ebs_volume" "ebs-volume-2" {
availability_zone = "eu-west-1a"
size = 500
type = "st1"
tags {
Name = "more volume"
}
}
resource "aws_volume_attachment" "ebs-volume-1-attachment" {
device_name = "/dev/sdf"
volume_id = "${aws_ebs_volume.ebs-volume-1.id}"
instance_id = "${aws_instance.example.id}"
}
resource "aws_volume_attachment" "ebs-volume-2-attachment" {
device_name = "/dev/sdg"
volume_id = "${aws_ebs_volume.ebs-volume-2.id}"
instance_id = "${aws_instance.example.id}"
}我希望这能帮上忙
https://stackoverflow.com/questions/42610807
复制相似问题