В Amazon AWS создаю Launch Configuration для инстанса Ubuntu Server 16.04 LTS (HVM), SSD Volume Type - ami-da05a4a0
Эти инстансы я потом хочу использовать для Auto Scaling Groups
При старте инстанса необходимо установить nginx, php, nodejs и т.д., также необходимо установить SSL сертификаты и создать кастомные конфиги.
Для этого я в файле который передаю в USERDATA (это баш-скрипт) использую следующий метод:
cat << 'EOF' > /etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
.... тут весь конфиг ....
EOF
Вобщем у меня несколько больших конфигов + таким же образом я устанавливаю ssh ключи и SSL сертификаты.
В определенный момент наткнулся на ошибку "User data is limited to 16384 bytes" при старте инстанса. В связи с чем возник вопрос:
Как правильно передавать конфиги и устанавливать SSL сертификаты в моем случае?
Вижу два варианта:
1) Создать AMI в котором сертификаты, ключи и конфиги уже сохранены и в userdata скрипте при поднятии инстанса просто раскидать их по нужным папкам. Минус такого подхода в том что при изменении конфига нужно будет пересоздавать AMI образ. Хотя, наверное, это будет не часто.
2) Выложить все конфиги, ключи и сертификаты на отдельный сервер, закрыть basic auth и при старте инстанса скачивать их curl'ом или wget'ом.
Посоветуйте, как бы сделали вы?