Я хотел бы присоединить том EBS, а не снимок, в качестве постоянного хранилища для моих выборочных экземпляров. Я понимаю, как вручную подключить том, смонтировать его и заставить его выжить после перезагрузки, но как мне заставить его автоматически подключаться при запуске?
Могу ли я что-то сделать в пользовательских данных при запуске экземпляра?
В настоящее время у меня есть ами, которые я использую в качестве точечного экземпляра. У меня есть отдельный том, который сохраняется и используется как для ввода в экземпляр, так и для сохранения результатов. У меня только один экземпляр за раз. Ami монтирует диск в / data. Чтобы маунт выжил после перезагрузки, я отредактировал /etc/fstab
, включив в него:
UUID=MY_VOLUME_UUID /data xfs defaults,nofail 0 2
Снова отредактировано, чтобы показать решение Пассатижи
Я добавил следующее в раздел «Настройка подробностей экземпляра»> «Дополнительные сведения»> «Данные пользователя» в мастере запуска 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 уже имеет настройки / данных, мне не нужно sudo mkdir -p /data