ПР. Сбой приложения
Кратко:
- Сбой приложения: ситуация, когда ВМ работоспособна, но произошла ошибка в приложении.
- Проверка состояния ВМ: активация проверки состояний в консоли управления и проверка доступности сервера в браузере.
- Остановка процессов nginx на виртуальной машине для имитации сбоя приложения.
- Переключение трафика на другую виртуальную машину при обнаружении сбоя приложения.
- Подтверждение недоступности сервера после остановки NGINX.
- Наблюдение за изменением состояния виртуальной машины при сбое приложения.
- Автоматическая работа Yandex Cloud над восстановлением работоспособности группы виртуальных машин.
Практическая работа. Сбой приложения
Последний сценарий, который мы рассмотрим, это сбой приложения. Ситуация, когда сама ВМ работоспособна, но по каким-то причинам произошла ошибка в приложении. Это может быть потеря соединения с базой данных или какой-то баг в запущенном приложении (например утечка памяти). Давайте сымитируем такой сценарий. На наших виртуальных машинах запущен только веб-сервер NGINX, давайте остановим его. Но сначала включим проверку состояния ВМ.
- В консоли управления откройте вкладку Обзор для вашей группы виртуальных машин, нажмите кнопку Изменить и активируйте проверку состояний. Сохраните изменения.

-
В браузере откройте страницу с внешним IP-адресом балансировщика, привязанного к вашей группе, и посмотрите, на какую из машин выводится трафик. Узнайте внешний IP-адрес этой машины.
-
В новой вкладке браузера откройте IP-адрес этой виртуальной машины и убедитесь, что выводится приветственная страница, т. е. сервер доступен.
-
Помните, когда вы меняли файл конфигурации для группы машин, вы добавили в него пользователя
my-user? Теперь он вам пригодится — из консоли зайдите на ВМ от его имени:ssh my-user@<внешний_IP-адрес_ВМ> -
Посмотрите список запущенных процессов:
ps auxУбедитесь, что в списке есть процессыnginx:

-
Теперь остановите эти процессы, чтобы сделать сервер недоступным:
sudo killall nginx -
В браузере обновите страницу балансировщика. Вы увидите, что теперь трафик направляется на другую виртуальную машину группы. Это означает, что Instance Group обнаружил сбой приложения и переключил трафик.
-
Теперь обновите страницу виртуальной машины, на которой вы остановили NGINX. Убедитесь, что сервер теперь недоступен.
-
Откройте список машин вашей группы и проследите, как меняется состояние одной из машин.Сначала будет закрыт трафик (статус
Closing traffic), затем виртуальная машина будет остановлена (статусStopping instance), а затем перезапущена (статусRunning actual). -
Убедитесь, что веб-сервер на этой ВМ снова доступен.
Мы проверили четыре основных сценария сбоев и убедились, что Yandex Cloud автоматически отрабатывает их и восстанавливает работоспособность группы.
Теперь вы можете удалить группу виртуальных машин, в этом курсе она больше не понадобится.