我没有找到一种方法来使用 aws_launch_template 中的 block_device_mappings 与Terraform AWS覆盖根大小设备。
我知道我可以指定一个额外的卷大小,例如:
as.numeric(str_extract(rs, "[0-9]+"))
as.numeric(str_extract(rs, "[0-9]+")[[1]])
as.numeric(str_extract(rs, "(?<=\\()[0-9]+(?=\\))"))
as.numeric(sapply(strsplit(rs, " "), "[[", 1))
但是我在VM中获得了具有这些规格的新磁盘。 但是我要做的是调整根磁盘的大小。
您能帮我弄清楚怎么做吗?
谢谢。
答案 0 :(得分:1)
block_device_mappings 用于其他bock设备。
您必须知道安装根设备的设备。例如,对于centos 7 AMI,它是/dev/sda1
resource "aws_launch_template" "foobar" {
name_prefix = "foobar"
image_id = "ami-9887c6e7"
instance_type = "t2.micro"
block_device_mappings {
device_name = "/dev/sda1"
ebs {
volume_size = 40
}
}
}
resource "aws_autoscaling_group" "bar" {
availability_zones = ["us-east-1a"]
desired_capacity = 1
max_size = 1
min_size = 1
launch_template = {
id = "${aws_launch_template.foobar.id}"
version = "$$Latest"
}
}
但是请记住,terraform中卷大小的更新不会对正在运行的实例生效。因此,您将不得不替换实例以增加卷大小。