1

У меня есть некоторые вопросы об автоматическом масштабировании в Amazon EC2.Amazon EC2 + Автоматическое масштабирование + баланс нагрузки + рельсы + развертывание

  • Я запускаю развертывание в своем приложении несколько раз в день из GitHub, и мне нужно скомпилировать Asset Pipeline для отправки статических данных в Amazon S3. Как я могу копировать свое приложение (обновленное) другим пользователям? Активы серверов?
  • И для новых серверов, запущенных Auto Scaling?

Надеюсь, они могут мне помочь, спасибо!

ответ

0

Попробуйте использовать инструменты управления конфигурацией, такие как Chef или Puppet.

Я не уверен, что какое-либо из готового решения доступно для экземпляров масштабирования AWS Auto. Но при использовании пользовательских данных экземпляра и шеф-повара можно реплицировать обновленные развертывания.

+0

Is Chief OpenSource? –

+0

Да, шеф-повар с открытым исходным кодом. –

5

Я предполагаю, что у вас установлена ​​конфигурация запуска для приложения. Способ, которым мы это делаем, - создать новый AMI с новой базой кода. Затем обновите конфигурацию запуска, чтобы отразить новый AMI.

Когда мы готовы начать обновление, мы просто завершаем экземпляры в балансировщике нагрузки и позволяем конфигуратору запуска запускать новые экземпляры новых AMI.

Так, например, сообщите, что ваше состояние конфигурации запуска имеет минимум 8 экземпляров и максимум 12 экземпляров. И скажите, что вы сейчас работаете в 10 экземплярах. Мы прекратили (или просто удалили из балансировки нагрузки) несколько экземпляров, чтобы получить меньше мин. Экземпляров (скажем, 4 экземпляра). Затем он запустил два новых экземпляра для удовлетворения конфигурации запуска min. Как только они будут успешными в балансировщике нагрузки, мы прекратим, возможно, еще 4 экземпляра, и пусть запустят 4 новых. Затем окончательно завершаем последние два экземпляра.

Это позволяет организовать поэтапное развертывание новых AMI в производственной среде, минимизируя влияние нагрузки на кластеры. Конечно, если у вас есть случай, когда вам нужно обновить схему БД или что-то в этом роде, где вам нужно жесткое время простоя для перехода, это может немного измениться, так как вам нужно будет изменить конфигурацию запуска, завершить все ваши экземпляры, сделайте перенос БД, затем запустите новые экземпляры