Назад | Перейти на главную страницу

AWS Autoscaling: вновь созданный экземпляр не синхронизируется с другими экземплярами

Я новичок в AWS и изучаю функцию автомасштабирования AWS. Я создал одну группу автомасштабирования с минимальным экземпляром 1 и максимальным экземпляром 1.

В экспериментальных целях всякий раз, когда я завершаю свой экземпляр, принадлежащий этой группе автомасштабирования, когда aws автоматически создает новый экземпляр, который является правильным, поскольку мой максимальный экземпляр установлен в 1.

Но проблема в том, что этот автоматически созданный новый экземпляр не содержит данных и не синхронизируется со старым экземпляром, который я отключил в экспериментальных целях. Итак, мой вопрос: если у вновь созданного экземпляра нет данных (исходного кода и т. д.) и он не синхронизирован со старым экземпляром, то в чем заключается использование автомасштабирования?

Спасибо,

Автомасштабирование делает одно:

  1. Раскручивает AMI вверх / вниз на основе определенных критериев.

Вот и все. Обратите внимание на отсутствие шага «извлечь последний код» в этом списке действий. Автомасштабирование предполагает, что вы решаете проблему развертывания кода за пределами автомасштабирования. Возможно:

  • Создание нового AMI каждый раз, когда вы нажимаете код, и обновление конфигурации автомасштабирования для использования этого нового AMI.
  • Используйте сценарий userdata экземпляра, чтобы получить новый код при загрузке.
  • NFS монтирует репозиторий кода, который обновляется внешними средствами.

Или что-то другое. Вам придется решить эту проблему, автомасштабирование не сделает этого за вас.

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

Если вы делаете все это с нуля, я предлагаю настроить VPC и использовать Amazon OpsWorks. OpsWorks основан на Chef, поэтому для этого вам нужно использовать Chef. Но Opsworks будет внедрять Chef в ваши экземпляры и направлять их на сервер Chef, а также настраивать группы автомасштабирования и их конфигурации запуска.

https://console.aws.amazon.com/opsworks/home?region=us-east-1#

У меня уже было существующее решение, основанное на Cloudformation и Puppet, до того, как был представлен Opsworks, поэтому я не могу вам в этом помочь, но чтение вышеуказанного URL-адреса должно дать вам несколько подсказок.