Настроить автоматическое восстановление виртуальных машин

    Чтобы повысить доступность приложения и убедиться в том, что оно отвечает, можно настроить автоматическое восстановление для группы виртуальных машин. Вы можете настроить автоматическое восстановление виртуальных машин при создании или изменении группы.

    Настроить можно только одну проверку состояния для автоматического восстановления (не путайте с проверкой состояния сервиса Yandex Load Balancer).

    По умолчанию все операции в Instance Groups выполняются от имени сервисного аккаунта. Если сервисного аккаунта нет, создайте его.

    Чтобы включить автоматическое восстановление при изменении группы виртуальных машин:

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

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

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

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

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

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

      Укажите:

      • Порт из диапазона 1-32767.

      • URL, по которому будут выполняться проверки (для HTTP).

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

      • Интервал проверок в секундах.

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

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

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

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

    По умолчанию используется каталог, указанный в профиле 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 |
      +----------------------+-----------------------+------+
      

      Поля:

      Поле Значение
      ID Идентификатор группы.
      NAME Имя группы.
      SIZE Размер группы.
    3. Выберите идентификатор (ID) или имя (NAME) нужной группы, например first-fixed-group.

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

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

      • шаблон виртуальной машины;

      • политики;

      • идентификатор сервисного аккаунта;

      • спецификацию балансировщика нагрузки, если необходимо.

    6. Добавьте в файл спецификацию проверок состояния:

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

      Где:

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

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

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