EC2 - Как вы скажете ELB, когда машина "готова"

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

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

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

То, что я ищу, - это способ, которым вы устанавливаете флаг "in service / healtny" вручную, или лучшую стратегию для устранения этой задержки.

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

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

Спасибо

2 ответа

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

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

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

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

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

Другие вопросы по тегам