Настроить проверку состояния приложения на ВМ

    Чтобы повысить доступность приложения и убедиться в том, что оно отвечает, можно настроить проверку состояния приложения на виртуальной машине. Instance Groups будет выполнять проверку и автоматически восстанавливать виртуальную машину, если она не прошла проверку. Не путайте с проверкой состояния в балансировщике. Подробнее про автоматическое восстановление и типы проверок.

    В этом разделе описывается, как настроить проверку состояния приложения для уже созданной группы.

    1. Откройте страницу каталога в консоли управления.

    2. Выберите сервис Yandex Compute Cloud.

    3. На странице Виртуальные машины перейдите на вкладку Группы виртуальных машин.

    4. Выберите группу для изменения.

    5. В блоке Проверка состояний передвиньте переключатель вправо напротив поля Активировать.

    6. Выберите протокол проверок состояния: HTTP или TCP.

    7. Задайте настройки проверок состояния:

      • Порт из диапазона 1-32767, на который Instance Groups будет отправлять запросы проверки.

      • Путь (для HTTP) — URL‐путь запроса, на который Instance Groups будет отправлять запросы проверки для HTTP.

        Предупреждение

        Поддерживается только HTTP/1.1 и ниже.

      • Время ожидания ответа в секундах.

        Если вы подключили группу к балансировщику, рекомендуем здесь выставить значение меньше, чем в балансировщике.

      • Интервал проверок в секундах — с этим интервалом Instance Groups будет проверять состояние приложения.

      • Порог работоспособности — количество успешных проверок, после которого виртуальная машина будет считаться работающей нормально.

        Если вы подключили группу к балансировщику, рекомендуем здесь выставить значение меньше, чем в балансировщике.

      • Порог неработоспособности — количество неудачных проверок, после которого виртуальная машина будет считаться неработающей.

        Если вы подключили группу к балансировщику, рекомендуем здесь выставить значение больше, чем в балансировщике.

    8. Нажмите кнопку Сохранить изменения.

    Если у вас еще нет интерфейса командной строки Яндекс.Облака, установите и инициализируйте его.

    По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

    1. Посмотрите описание команды CLI для изменения группы:

      $ yc compute instance-group update --help
      
    2. Получите список групп виртуальных машин в каталоге по умолчанию:

      $ yc compute instance-group list
      +----------------------+-----------------------+------+
      |          ID          |         NAME          | SIZE |
      +----------------------+-----------------------+------+
      | amc65sbgfqeqf00m02sc | first-instance-group  |    2 |
      +----------------------+-----------------------+------+
      
    3. Выберите идентификатор (ID) или имя (NAME) нужной группы, например first-instance-group.

    4. Получите информацию о группе виртуальных машин.

    5. Создайте YAML-файл с произвольным именем, например group.yaml и, исходя из полученной информации, опишите:

      • шаблон виртуальной машины;
      • политики;
      • идентификатор сервисного аккаунта;
      • спецификацию балансировщика нагрузки, если необходимо.
    6. Добавьте в файл спецификацию проверок состояния, например для проверок по протоколу HTTP:

      ...
      health_checks_spec:
        health_check_specs:
          - http_options:
              port: 80
              path: /
            interval: 30s
            timeout: 10s
            unhealthy_threshold: 5
            healthy_threshold: 3
      ...
      

      Где:

      Ключ Значение
      health_check_specs Спецификация проверки состояния.
      http_options Настройки проверок по протоколу HTTP. Поддерживается только HTTP/1.1 и ниже.
      Если вы хотите использовать протокол TCP, используйте свойство tcp_options и укажите в нем только порт.
      port Порт из диапазона 1-32767, на который Instance Groups будет отправлять запросы проверки.
      path URL‐путь запроса, на который Instance Groups будет отправлять запросы проверки для HTTP.
      interval Интервал проверок в секундах — с этим интервалом Instance Groups будет проверять состояние приложения.
      timeout Время ожидания ответа в секундах.
      Если вы подключили группу к балансировщику, рекомендуем здесь выставить значение меньше, чем в балансировщике.
      unhealthy_threshold Порог неработоспособности — количество неудачных проверок, после которого виртуальная машина будет считаться неработающей.
      Если вы подключили группу к балансировщику, рекомендуем здесь выставить значение больше, чем в балансировщике.
      healthy_threshold Порог работоспособности — количество успешных проверок, после которого виртуальная машина будет считаться работающей нормально.
      Если вы подключили группу к балансировщику, рекомендуем здесь выставить значение меньше, чем в балансировщике.
    7. Обновите группу виртуальных машин в каталоге по умолчанию:

      $ yc compute instance-group update --name first-group --file group.yaml
      

      Instance Groups запустит операцию изменения группы виртуальных машин.