Amazon ec2 Terraform AWS:使用AWS_启动_模板和块_设备_映射覆盖根设备大小
我找不到使用terraform aws的aws\u启动\u模板中的块\u设备\u映射来覆盖根大小设备的方法 我知道我可以指定额外的卷大小,例如:Amazon ec2 Terraform AWS:使用AWS_启动_模板和块_设备_映射覆盖根设备大小,amazon-ec2,terraform,Amazon Ec2,Terraform,我找不到使用terraform aws的aws\u启动\u模板中的块\u设备\u映射来覆盖根大小设备的方法 我知道我可以指定额外的卷大小,例如: block_device_mappings { device_name = "/dev/xvda" ebs { volume_size = "${var.frontend_kong_volume_size}" volume_type = "${var.frontend_kong_volum
block_device_mappings {
device_name = "/dev/xvda"
ebs {
volume_size = "${var.frontend_kong_volume_size}"
volume_type = "${var.frontend_kong_volume_type}"
delete_on_termination = "true"
}
}
但是我在虚拟机中得到了一个具有这些规格的新磁盘。
但是我想做的是调整根磁盘的大小
你能帮我想想怎么做吗
谢谢。块设备映射用于其他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中卷大小的更新不会对正在运行的实例生效。因此,您必须更换实例以增加卷大小。您使用的是哪种操作系统?在您的aws_autoscaling_组中,您可以使用aws_launch_模板或aws_launch_配置。注意:您必须指定launch_配置、launch_模板或混合_实例策略OP询问如何覆盖aws_launch_模板中的根设备大小,而不是aws_launch_配置中的根设备大小。@DmytroLeonenko您说得对,我对上一个terraform文档感到困惑,加上最常用的
aws\u自动校准组
以及'aws\u启动\u配置。用我上次测试的
aws_launch_template`更新我的答案同样,我从未见过/dev/sda1作为Linux AMI中的根设备。它始终是/dev/xvda。请注意,sda1是一个分区名,而不是设备名。@DmytroLeonenko for Centos 7 ami来自上面的代码片段,它是/dev/sda1
,您正确地认识到它是一个常见的分区名,但在特定的ami中,根设备设置如下所示。您可以运行terraform来检查它。