Невозможно подключить существующий том EBS (диск данных) к недавно запущенному экземпляру EC2 (RHEL 8) с помощью команд пользовательских данных. Я могу подключить том EBS вручную, подключив сервер через замазку и используя тот же набор команд, но не через ввод пользовательских данных.
1) Запустил бесплатный экземпляр RHEL уровня и подключил том EBS - X (данные
диск) к нему через веб-консоль AWS. Том X, как ожидается, сохранит
несколько данных приложения.
2) Подключил экземпляр EC2 через замазку и проверил, что том X был виден
ОС.
>
# fdisk -l
Диск / dev / xvdf: 11 ГиБ, 11811160064 байта, 23068672 секторов
3) Отформатировал / разбил диск, как показано ниже
>
# / sbin / mkfs -t ext3 / dev / xvdf
4) Создан каталог для монтирования тома.
# mkdir / mnt / data
5) Обновлен / etc / fstab, чтобы убедиться, что монтирование доступно даже после
перезагрузка сервера. Ниже приведена запись в fstab, которую я сделал.
# vi / etc / fstab
/ dev / xvdf / mnt / data ext4 по умолчанию, nofail 0 0
6) Перезагрузка.
7) #df -h
>
Filesystem Size Used Avail Use% Mounted on
devtmpfs 391M 0 391M 0% /dev
tmpfs 410M 0 410M 0% /dev/shm
tmpfs 410M 11M 400M 3% /run
tmpfs 410M 0 410M 0% /sys/fs/cgroup
/dev/xvda2 10G 1.1G 9.0G 11% /
/dev/xvdf 11G 28M 11G 1% /IIG --> New mount point listed.
tmpfs 82M 0 82M 0% /run/user/1000
8) Установил aws cli и настроил его как показано ниже
$ sudo yum install -y python3
установить aws cli
$ pip3 install awscli --upgrade --user
$ aws configure
Идентификатор ключа доступа AWS: abc123
Секретный ключ доступа AWS [Нет]: def456
Имя региона по умолчанию [Нет]: us-west-2
Формат вывода по умолчанию [Нет]:
9) Я создал AMI, используя этот EC2 только с корневым устройством.
10) Завершено EC2.
11) Запустил новый EC2 от AMI без дополнительного объема и предоставил ниже входные данные в разделе пользовательских данных
#! / Bin / Баш
instanceid = $ (curl -s http://169.254.169.254/latest/meta-data/instance-id)
aws ec2 attach-volume --volume-id vol-abcd1234 --instance-id echo instanceid
--device / dev / sdf
сон 20
mount -a
12) EC2 запускается нормально, но том X не привязывается к нему.
Ввод данных пользователя:
#! / Bin / Баш
instanceid = $ (curl -s http://169.254.169.254/latest/meta-data/instance-id)
aws ec2 attach-volume --volume-id vol-abcd1234 --instance-id `echo
$ instanceid` --device / dev / sdf
сон 20
mount -a
Когда я запускаю команды пользовательского ввода вручную, подключая EC2 через Putty, он работает отлично, и том X присоединяется к экземпляру без каких-либо ошибок. Том X также указан в разделе df -h.
Ожидаемый результат: Том X автоматически подключается к новому экземпляру EC2 при запуске через AMI. Этого не происходит.