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

EC2 - Как вы сообщите ELB, когда машина «готова»

У меня есть настройка автомасштабирования с мониторингом и все хорошо. Теперь процесс развертывания кода идет полным ходом, и в основном это происходит.

  1. Создайте новый launch_config, который определяет фиксацию git для извлечения
  2. Обновите группу автомасштабирования с новой конфигурацией запуска.
  3. Увеличьте минимальный размер серверов примерно в 2 раза по сравнению с нашим.
  4. Подождите, пока они все выйдут в сеть
  5. Уменьшите масштаб, и старые будут отброшены.

Проблема, которую я вижу, заключается в том, что пока мы «ждем, пока они выйдут в сеть», они сообщают «исправны» и «находятся в эксплуатации», прежде чем они «готовы» к работе, поскольку они обновляют пакеты и извлекают соответствующий исходный код. . Это время сильно варьируется от 2 минут до> 15 минут на экземпляр EC2.

Я ищу способ установить флаг «in service / healtny» вручную или лучшую стратегию для решения этой проблемы.

Замечу, что при запуске экземпляра Nginx запускается автоматически. Это то, что определяет, исправен ли экземпляр? По этому процессу загрузки так мало документации (которую я могу найти) - любая помощь будет принята с благодарностью.

Это стоит за ELB, если это помогает. Проверки работоспособности включены "/". Интересно, все ли так просто ...

Спасибо

Вы можете легко настроить URI, который будет активен в вашем экземпляре EC2, и настроить проверку работоспособности ELB для его вызова. Пока URI проверки работоспособности не вернет код состояния 200, экземпляр не будет активен в ELB для приема трафика.

В большинстве случаев по умолчанию просто запрашивается URI / сервер, но вы можете изменить его на все, что захотите. В моем случае / не удастся, если настройка веб-приложения для него не готова для трафика. Вы также можете указать его на страницу CGI или PHP, которая выполнит проверку системы и вернется с хорошим кодом состояния 200, когда все будет готово.

В Проверка работоспособности Elastic Load Balancer определяет, отправляет ли ELB трафик какому-либо конкретному экземпляру.

То, что вы хотите сделать, очень просто:

Не запускайте веб-сервер на своих экземплярах, пока не закончите их запускать и настраивать.