【问题标题】:Initializing EBS Volume in EC2 Windows Instance using Terraform使用 Terraform 在 EC2 Windows 实例中初始化 EBS 卷
【发布时间】:2020-07-28 11:28:19
【问题描述】:

我有一个自定义 windows AMI,每当我使用它创建一个新实例时,我想根据要求自动初始化一个额外的驱动器。我正在尝试使用 Terraform 来做到这一点。

我正在获取驱动器,但必须手动初始化它。

创建和 ec2 实例并附加卷。

resource "aws_instance" "example" {
  ami           = "ami-098792953bbd38e18"
  instance_type = "t2.micro"

}

resource "aws_ebs_volume" "ebs-volume-1" {
    availability_zone = "eu-west-1a"
    size = 160
    type = "st1"
    tags {
        Name = "more volume"
    }
}

resource "aws_volume_attachment" "ebs-volume-1-attachment" {
  device_name = "/dev/sdf"
  volume_id = "${aws_ebs_volume.ebs-volume-1.id}"
   instance_id = "${aws_instance.example.id}"
}

【问题讨论】:

  • 你能分享你现有的 Terraform 代码吗?您必须执行哪些步骤来手动初始化额外的 EBS 卷?
  • 我没有那个部分。我只能附加卷但无法初始化。下面我正在创建一个卷并附加它。这是通用步骤。资源“aws_ebs_volume”“驱动器”{availability_zone =“ap-south-1b”大小 = 8 个标签 = {名称 =“Hello”}} 资源“aws_volume_attachment”“ebs_att”{device_name =“xvdj”volume_id =“${aws_ebs_volume. Drive.id}" instance_id = "${aws_instance.windows.id}" skip_destroy = true 生命周期 { ignore_changes = ["tags"] } }
  • 您应该编辑您的问题以包含任何请求的更改,尤其是代码,因为这可以让您在代码块中很好地格式化它,以便人们可以阅读它。
  • 我试过了。由于某些奇怪的原因,它不允许提交格式错误。
  • 我可以添加我用来创建实例和附加卷的示例代码。但不确定如何初始化它。

标签: terraform terraform-provider-aws


【解决方案1】:

我在 Ubuntu 18 上执行此操作,因此您必须进行修改,但将其放在这里,因为这不是显而易见的 imo。

### instance.tf

resource "aws_instance" "main" {
  user_data = data.local_file.user_data
  # ...
}
### user_data.sh

DEVICE="/dev/xvdf"

# Get device id
DEVICE_FS=`sudo lsblk -o UUID -d ${DEVICE} -n`

# Create a file system on the volume if one does not already exist
 if [ "`echo -n $DEVICE_FS`" == "" ] ; then
         mkfs.ext4 ${DEVICE}
 fi

# Create a mount point directory
 sudo mkdir /data

# Backup fstab
 sudo cp /etc/fstab /etc/fstab.orig

# Setup auto mount on reboot
 echo "UUID=${DEVICE_FS} /data xfs defaults,nofail 0 2" | sudo tee -a /etc/fstab

# Unmount
 sudo umount /data

# Mount and exit on error
 sudo mount -a
 if [ $? -eq 0 ]
 then
    echo "Mounted"
 else
    exit 1
 fi

【讨论】:

    猜你喜欢
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 2010-09-24
    • 1970-01-01
    • 2019-01-23
    • 2015-01-18
    • 2019-11-04
    相关资源
    最近更新 更多