【问题标题】:Terraform AWS: override root device size using aws_launch_template and block_device_mappingsTerraform AWS:使用 aws_launch_template 和 block_device_mappings 覆盖根设备大小
【发布时间】:2019-03-23 08:23:12
【问题描述】:

我找不到使用 aws_launch_template 中的 block_device_mappings 和 terraform aws 覆盖根大小设备的方法。

我知道我可以指定一个额外的卷大小,例如:

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"
        }
    }

但我在 VM 中获得了具有这些规格的新磁盘。 但我想做的是调整根磁盘的大小。

你能帮我弄清楚怎么做吗?

谢谢。

【问题讨论】:

  • 您使用的是哪个操作系统?

标签: amazon-ec2 terraform


【解决方案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 中卷大小的更新不会对正在运行的实例生效。因此,您将不得不替换实例以增加卷大小。

【讨论】:

  • 在您的 aws_autoscaling_group 中,您可以使用 aws_launch_template 或 aws_launch_configuration。 terraform.io/docs/providers/aws/r/autoscaling_group.html 注意:您必须指定launch_configuration、launch_template 或mixed_instances_policy
  • OP 询问如何在 aws_launch_template 而不是 aws_launch_configuration 中覆盖根设备大小。
  • @DmytroLeonenko 你说得对,我对上一个 terraform 文档感到困惑,而且主要使用 aws_autoscaling_group 以及`aws_launch_configuration. Updating my answer with my last tests of aws_launch_template`
  • 另外,我从未将 /dev/sda1 视为 Linux AMI 中的根设备。它始终是 /dev/xvda。请注意,sda1 是分区名称,而不是设备名称。
  • @DmytroLeonenko for Centos 7 ami from sn-p 以上是/dev/sda1 你说得对,它是通用的分区名称,但在那个特定的 AMI 中,根设备设置是这样的。你可以运行 terraform 来检查它。
猜你喜欢
  • 2021-03-17
  • 1970-01-01
  • 2021-09-14
  • 2016-01-22
  • 2017-07-31
  • 2014-03-27
  • 2013-03-13
  • 2014-05-26
  • 1970-01-01
相关资源
最近更新 更多