我是terraform的新手,创建了3个ec2实例,并创建了6个ebs卷.我们如何将3个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)}]"
}
Run Code Online (Sandbox Code Playgroud)
错误:
解决此问题的一种方法,以及如何解决它,是将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"
}
}
Run Code Online (Sandbox Code Playgroud)
然后运行terraform plan,看到块设备将被添加到服务器和服务器.使用此方法,服务器将被破坏和重新启动.如果这是可接受的,请运行terraform apply以使用其他卷重建服务器.
查看ebs_block_device和aws_instance周围的文档.
| 归档时间: |
|
| 查看次数: |
7653 次 |
| 最近记录: |