Я использую ami-3ecc8f46
доступно с https://aws.amazon.com/marketplace/pp/B00O7WM7QW.
Если я использую этот AMI напрямую и задаю сценарий пользовательских данных, например:
#!/bin/bash
echo "Hello from userdata!"
.. commands
тогда все работает нормально и команды запускаются. Тем не менее, я хочу сделать пользовательский AMI, который является этим centos7 AMI + некоторые пакеты.
Например, я хочу создать экземпляр ami-3ecc8f46
, установить python 3.7 и заново создать его как пользовательский AMI. Когда я это делаю, userdata больше не запускается, и curl http://169.254.169.254/latest/user-data
возвращает ошибку 404.
К сожалению, похоже, что некоторая комбинация ec2 / userdata / cloudinit пометила этот экземпляр как уже запущенный один раз, и, следовательно, больше нет необходимости предоставлять или запускать userdata. Какой самый простой способ взять пользовательский AMOS CentOS, установить несколько пакетов поверх и переизобразить его как пользовательский AMI, который по-прежнему будет запускать мои сценарии пользовательских данных?