У меня есть AMI, который я использую для своих веб-серверов rails. Этот AMI использует моментальный снимок EBS для запуска с базовыми функциями, готовыми к производству.
Теперь мне нужно обновить некоторые параметры конфигурации на веб-серверах (nginx.conf). Я могу легко установить ssh в ящик и обновить настройки, но тогда будущие запускаемые экземпляры не имеют настроек, поскольку они используют более старый снимок.
Как мне сделать так, чтобы новые экземпляры ec2 запускались с новыми настройками. Полагаю, мне нужно обновить снимок? Как мне обновить снимок, который используют все экземпляры ec2 веб-сервера?
Спасибо
Один из вариантов - создать новый AMI. В наши дни это легко сделать с помощью ряда инструментов, таких как этот рубиновый драгоценный камень "build-ubuntu-ami". При сборке нового ami вы можете включить новые настройки.
Другой вариант - использовать chef / puppet / salt / ansible и т. Д., Чтобы обновить все экземпляры текущим ami.
Обновление: лучший вариант для создания образов на всех облачных платформах - Упаковщик.
Вы не можете обновить снимок. Вам необходимо обновить существующий AMI и сделать новый снимок, а затем зарегистрировать его, что даст вам новый идентификатор AMI.
Я предполагаю, что ваши экземпляры стоят за AutoScaler? Если да, то вам необходимо обновить конфигурацию запуска, указав новый идентификатор AMI. Самый простой способ справиться с этим - использовать Асгард от Netflix
Если вы используете CloudFormation, вы можете просто обновить свой шаблон, и CloudFormation создаст для вас новые конфигурации запуска и обновит Auto Scaler.
Если вы просто запускаете свои экземпляры вручную, используйте при этом новый AMI ID.