我想附加一个EBS卷而不是快照作为我的竞价型实例的持久存储。我知道如何手动附加卷,挂载它并使它在重启后不受影响,但是如何在启动时自动附加该卷?
启动实例时我可以在用户数据中做些什么吗?
目前,我有一个AMI作为竞价型实例运行。我有一个单独的卷,该卷将持续存在,并且既用于实例的输入又用于保存结果。我一次只实例一次。 AMI将驱动器安装在/ data。为了使挂载不重启,我对/etc/fstab
进行了编辑,包括:
UUID=MY_VOLUME_UUID /data xfs defaults,nofail 0 2
再次编辑以显示Passatizhi的解决方案
我在EC2启动向导的“配置实例详细信息”>“高级详细信息”>“用户数据”部分中添加了以下内容:
#!/bin/bash
INSTANCE_ID=$(curl 169.254.169.254/latest/meta-data/instance-id)
export AWS_DEFAULT_REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone | sed 's/[a-z]$//')
/home/ubuntu/miniconda3/bin/aws ec2 attach-volume --volume-id vol-myVol12345 --instance-id $INSTANCE_ID --device /dev/sdf
sleep 10
sudo mkdir -p /data
sudo mount /dev/nvme1n1 /data
注意:
我需要将完整路径添加到aws才能使其正常工作。另外,由于ami已经具有/ data设置,因此我不需要sudo mkdir -p /data
答案 0 :(得分:0)
#!/bin/bash INSTANCE_ID=$(curl 169.254.169.254/latest/meta-data/instance-id)
export AWS_DEFAULT_REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone | sed 's/[a-z]$//')
/bin/aws ec2 attach-volume --volume-id vol-0fdb738415896f8f6 --instance-id $INSTANCE_ID --device /dev/sdf
sleep 10
sudo mkdir -p /data
sudo mount /dev/nvme1n1 /data
尝试使用/ bin / aws而不是aws。我使用了t3.small,所以/ dev / nvme1n1