Добавить в корзинуПозвонить
Найти в Дзене
Sovenok IT hard soft ware

Прерываемая виртуальная машина

В предыдущей статье я рассказал, как создать виртуальный сервер с низкой абонентской платой. Однако есть важный момент: такой сервер может внезапно выключиться и работать не более 24 часов без остановки. Чтобы предотвратить простои, нам нужен скрипт, который будет отслеживать выключение виртуальной машины и автоматически включать её. Нам нужен сервисный аккаунт. Находим в поиске Identity and Access Management и создаем сервисный аккаунт с ролями functions.functionInvoker и lockbox.payloadViewer Затем создаем для него секрет. Для этого находим в поиске Lockbox, создаем секрет. В поле "Имя" вводим любое значение, например, "token". В поле "Данные" вводим пользовательский ключ. Любое имя, а значение берем отсюда Создаем скрипты для рестарта - их берем отсюда и помещаем два файла в zip архив. Найдем ID нашего каталога в Yandex Cloud Console, как показано на скриншоте ниже. Затем перейдем в Cloud Functions и создадим функцию restart-vm. Снимите галочку и выберите Node.js. Затем прикрепите
Оглавление
Так видит ии прерываемый виртуальный сервер
Так видит ии прерываемый виртуальный сервер

Введение

В предыдущей статье я рассказал, как создать виртуальный сервер с низкой абонентской платой. Однако есть важный момент: такой сервер может внезапно выключиться и работать не более 24 часов без остановки. Чтобы предотвратить простои, нам нужен скрипт, который будет отслеживать выключение виртуальной машины и автоматически включать её.

Подготовка

Нам нужен сервисный аккаунт. Находим в поиске Identity and Access Management и создаем сервисный аккаунт с ролями functions.functionInvoker и lockbox.payloadViewer

-2

Затем создаем для него секрет. Для этого находим в поиске Lockbox, создаем секрет. В поле "Имя" вводим любое значение, например, "token". В поле "Данные" вводим пользовательский ключ. Любое имя, а значение берем отсюда

-3

Создаем скрипты для рестарта - их берем отсюда и помещаем два файла в zip архив.

Создание функции и триггера для запуска

Найдем ID нашего каталога в Yandex Cloud Console, как показано на скриншоте ниже. Затем перейдем в Cloud Functions и создадим функцию restart-vm.

ID каталога
ID каталога
Создание функции
Создание функции

Снимите галочку и выберите Node.js. Затем прикрепите ранее созданный ZIP-архив. Укажите точку входа index.handler и время ожидания в минутах.

FOLDER_ID — идентификатор каталога, в котором вы хотите запускать остановленные ВМ. (выше узнавали id каталога)

INSTANCE_ID — идентификатор ВМ, которую вы хотите запускать при прерывании.

Секреты Lockbox:

В поле Переменная окружения укажите OAUTHTOKEN.

В поле Идентификатор секрета выберите созданный ранее секрет token

В поле Ключ секрета выберите имя ключа key_token

Создаем триггер

Создать триггер
Создать триггер

Настройки триггера

Настройки триггера
Настройки триггера

После этого мы снова переходим к функции и запускаем тестирование. Если результат будет успешным, код будет 200. В противном случае возникнет ошибка.

Если все успешно выключаем ВМ и ждем когда она сама включится.

Заключение

В предыдущей статье мы обсудили, как выбрать и настроить прокси для Telegram, чтобы снизить расходы. В этой статье было рассказано, как сделать дешёвый виртуальный сервер ещё и отказоустойчивым.