【问题标题】:give different volume tags while creating ec2 instance from custom AMI从自定义 AMI 创建 ec2 实例时提供不同的卷标签
【发布时间】:2019-06-01 23:32:40
【问题描述】:

我正在使用具有 2 个卷的自定义 AMI 创建一个 ec2 实例。我想为两个卷提供单独的名称/标签,例如

vol-lab-cam-web-aue1-sda1 到根卷和 vol-lab-cam-web-aue1-sdb 使用 terraform 到另一个卷。

我只能在 terraform 文档中看到 volume_tags 选项。这样做有什么解决方法吗? 我的示例代码如下

resource "aws_instance" "web" {
ami           = "ami-0e6f18d5546ceec3d"
instance_type = "t2.micro"
volume_tags = {
  Name = "vol-lab-cam-web01-aue1a-sda1"
  }

tags = {
  Name = "HelloWorld"
  }
}

以下是我使用此功能的屏幕截图 sdb

sda1

【问题讨论】:

  • 您是否有理由需要使用设备 ID 标记卷?
  • 是的,因为这些 AMI 有多个卷并且有超过 100 个 ec2 实例。很难找到哪个是 root 或不是。
  • 为什么需要从实例外部识别根卷/非根卷?
  • 因为有时我们需要增加非 root 的卷大小,我们不想通过停止或从服务器分离 root 卷来解决这种情况。
  • 您找到解决方案了吗?

标签: json amazon-web-services amazon-ec2 terraform amazon-ami


【解决方案1】:

由于volume_tags 统一应用于启动时创建的所有设备,因此请勿将其用于特定于设备的值。相反,使用aws_ebs_volume 资源创建sdb 卷并使用aws_volume_attachment 资源将其附加到实例。

aws_ebs_volume 代码中,您可以为 Name 值输入“vol-lab-cam-web-aue1-sdb”。

【讨论】:

  • 当 AMI 有 2 个卷时,这无济于事
  • 没错,这是创建新卷并将其附加到 ec2-instance 的解决方案。 @ydaetskcoR 是对的
  • Gotchya。我没有从问题中收集到这一点。
【解决方案2】:

就像 KLH 所说,如果您在 Terraform 中创建 2 个卷:

resource "aws_ebs_volume" "drivea" {
  availability_zone = "${var.availability_zone}"
  size              = 40

  tags = {
    Name = "HelloWorld"
  }
}

resource "aws_ebs_volume" "driveb" {
  availability_zone = "${var.availability_zone}"
  size              = 40

  tags = {
    Name = "WhaleTail"
  }
}

像这样然后将它们附加到您的实例:

resource "aws_volume_attachment" "ebsa" {
  device_name = "/dev/sdh"
  volume_id   = "${aws_ebs_volume.drivea.id}"
  instance_id = "${aws_instance.web.id}"
}

resource "aws_volume_attachment" "ebsb" {
  device_name = "/dev/sdi"
  volume_id   = "${aws_ebs_volume.driveb.id}"
  instance_id = "${aws_instance.web.id}"
}

您将有 2 个带有不同标签的磁盘附加到您的实例。 然后,如果您查看 AWS 控制台,您将看到带有不同标签的不同卷。

【讨论】:

  • 我的自定义 AMI 有 2 个卷,我没有创建新卷来附加 ec2 实例。
猜你喜欢
  • 2015-01-16
  • 2017-11-11
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 2016-01-03
  • 2014-02-18
  • 2015-07-02
  • 2012-10-06
相关资源
最近更新 更多