Перейти к основному содержимому

Перейти на сайт

Работа с облачными провайдерами

Чем оплачивается работа в облаке, где смотреть расход и что делать при перерасходе.

Часть практик и проектов выполняется в облаке. В курсах по DevOps и администрированию это виртуальные машины, сети и управляемые базы данных; в курсах по разработке приложений на языковых моделях — управляемые сервисы вроде AI Studio и функций. Локальная установка их не заменяет: часть навыка состоит в работе с сервисами провайдера.

Основной провайдер, на котором проверены наши курсы и проекты, — Yandex Cloud.

Аккаунт в облаке понадобится с того момента, как об этом скажет курс или проект. Заводить его заранее незачем: срок промокода и гранта идёт с активации, и часть оплаченного времени сгорит до первой практики.

Чем оплачивается работа в облаке

Доступ к облаку оплачивается одним из двух способов, и они не пересекаются.

Промокод от Хекслета

Хекслет выдаёт промокод на доступ к Yandex Cloud на 45 дней студентам тарифов Расширенный, Стандартный, Оптимальный и Премиальный. Промокод даёт куратор: напишите ему, когда дойдёте до практики с облаком. Он же подскажет, как активировать промокод, и ответит на вопросы по сервису.

Активировать промокод можно самостоятельно: на странице платёжных аккаунтов выберите аккаунт, в левой панели нажмите Аккаунт и затем «Активировать промокод» (инструкция Яндекса).

После активации промокод показывается на той же странице в блоке Гранты: там видно, сколько из выданной суммы израсходовано и сколько дней осталось. Это отдельная строка, не баланс лицевого счёта — баланс на том же экране показывает ваши собственные деньги.

Страница платёжного аккаунта: баланс, потребление за 30 дней и блок «Гранты» с остатком промокода

Подпись под полосой остатка сообщает и про ограничение по сервисам — «Все сервисы, кроме 4».

Эти сервисы включать нельзя

Промокод не покрывает Marketplace, Compute GPU, Яндекс 360 и Яндекс Трекер. Обращение к любому из них может привести к автоматической блокировке платёжного аккаунта — доступ к облаку пропадёт посреди проекта, и вернуть его быстро не получится.

Ни один курс и ни один проект этих сервисов не требует. Отдельно следите за Compute GPU: при создании виртуальной машины платформа предлагает конфигурации с графическим ускорителем, и выбирать их не нужно.

Стартовый грант Яндекса

При самостоятельном обучении работает стартовый грант на 60 дней. Грант начисляется автоматически, когда вы привязываете карту к платёжному аккаунту, отдельный промокод для этого не нужен. После окончания гранта Yandex Cloud тарифицирует ресурсы по обычным ценам, списывая деньги с привязанной карты. Оценить стоимость заранее помогает калькулятор услуг.

Как посмотреть, куда уходят деньги

Расход по сервисам виден в сервисе Yandex Cloud Billing, в разделе Детализация. Порядок такой:

  1. Откройте страницу платёжных аккаунтов и выберите свой аккаунт.
  2. В левой панели нажмите Детализация.
  3. Выберите разрез, в котором смотрите расход: По каталогам облака, По сервисам, По продуктам, По меткам или По периодам. По умолчанию показывается текущий месяц, период меняется фильтром слева.
  4. Переключатель над графиком выбирает, что показывать: Потребление — расход без скидок, К оплате — сумма с учётом скидок и промокода.

Раздел «Детализация»: вкладки разрезов, переключатель «Потребление» и «К оплате», график расхода по дням

Разница между переключателями бывает разительной. На снимке выше потребление за месяц — 6 539,97 ₽, а к оплате 164,54 ₽: остальное закрыл промокод. Ориентироваться на «Потребление» и решать, что деньги кончаются, здесь означает испугаться раньше времени; следить нужно за «К оплате».

Разрез по продуктам отвечает на вопрос «за что именно списали»: там видны конкретные позиции с единицами потребления. Наведите курсор на столбец, и Yandex Cloud покажет разбивку за день.

Разбивка расхода за день по продуктам: неактивный IP-адрес, диск, хосты базы данных

На этом снимке хорошо видно, за что уходят деньги при простое: неактивный публичный IP-адрес балансировщика — 13,63 ₽, стандартный диск — 9,96 ₽. Ни то, ни другое не выполняет работу, но тарифицируется. Разрез по каталогам показывает, в каком каталоге такие ресурсы остались от предыдущей практики.

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

Подробнее — в документации Яндекса: Посмотреть детализацию в консоли.

Как узнать о перерасходе заранее

Yandex Cloud умеет присылать уведомления при достижении порога расхода. Такое уведомление называется бюджетом. Заводится оно там же, на странице платёжного аккаунта: откройте вкладку Бюджеты и нажмите «Создать бюджет».

Раздел «Бюджеты»: список бюджетов с порогами и текущим потреблением, кнопка «Создать бюджет»

Бюджет не останавливает ресурсы. В документации Яндекса это сказано прямо: достижение установленного порога не влияет на дальнейшее потребление. Бюджет даёт время заметить расход и вмешаться, а выключать ресурсы придётся вам.

Типов бюджета три: Стоимость потребления — расход без скидок, К оплате — расход с учётом скидок и активных промокодов, Остаток средств — баланс лицевого счёта. Настройте два из них:

  1. К оплате — этот тип учитывает промокод, поэтому показывает реальную трату. Порог задаётся в процентах или в рублях, и порогов можно поставить несколько: возьмите 50% и 80% суммы промокода или гранта. Первый даёт время посмотреть детализацию, второй — время всё выключить.
  2. Остаток средств — уведомление приходит, когда баланс лицевого счёта падает ниже заданной суммы. За остатком самого промокода этот тип не следит, промокод виден только в блоке Гранты; зато лицевой счёт начинает расходоваться сразу после того, как промокод исчерпан, и такое уведомление ловит переход на ваши деньги.

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

Подробнее — в документации Яндекса: Установить уведомления.

Как уложиться в бюджет

Промокод и грант покрывают ограниченный объём ресурсов. Чтобы его хватило на весь проект:

  • Берите минимальные конфигурации. Для учебных задач достаточно виртуальной машины с частичным vCPU (50%) и 2 ГБ оперативной памяти — она заметно дешевле полной конфигурации.
  • Используйте прерываемые машины (переключатель «Прерываемая» при создании ВМ) там, где это возможно: они стоят дешевле обычных. Но у них есть жёсткое ограничение: Yandex Cloud принудительно останавливает такую машину через 24 часа после запуска, а при нехватке ресурсов в зоне доступности может остановить раньше или не запустить вовсе. Для стенда, к которому вы вернётесь завтра, это не подходит; берите прерываемые под разовые проверки, а конфигурацию описывайте в Terraform или Ansible, чтобы поднять заново одной командой.
  • Останавливайте или удаляйте машины, когда не работаете. Остановленная ВМ тарифицируется только за диск, удалённая не тарифицируется совсем. Если конфигурация описана в Terraform или Ansible, удалять безопасно: она пересоздаётся одной командой.
  • Считайте стоимость до запуска через калькулятор услуг.

Если вы работаете с языковыми моделями, расход считается иначе: деньги уходят за токены запросов и ответов, за вызовы функций и за хранение секретов. Такой расход не связан с временем работы сервера, поэтому по остановленным машинам его не видно — смотрите разрез по сервисам в детализации. Ограничивают его две вещи: параметр max_tokens, который задаёт верхнюю границу длины ответа, и выбор модели, потому что цена за токен у моделей различается в разы.

Если расход уже превысил промокод

Порядок действий такой, и первый шаг здесь важнее остальных.

  1. Остановите и удалите ресурсы. Счётчик идёт всё время, пока вы разбираетесь, поэтому сначала прекратите списания. Проверьте все каталоги: виртуальные машины, базы данных, балансировщики, диски и статические IP-адреса тарифицируются отдельно, и отдельно стоящий диск от удалённой машины продолжает списывать деньги.
  2. Посмотрите в детализации, что тратило деньги — разрез по продуктам за период, когда расход вырос. Это нужно, чтобы не повторить ситуацию на следующем шаге проекта.
  3. Напишите куратору. Расскажите, что произошло и что показала детализация. Вопрос о дополнительных средствах решается индивидуально, автоматической выдачи второго промокода нет.

Другие провайдеры

Курсы и проекты проверены на Yandex Cloud. У других провайдеров часть нужных сервисов может отсутствовать или называться иначе, и тогда задание придётся адаптировать самостоятельно.

Если вы находитесь за пределами России, удобнее может оказаться Digital Ocean. При регистрации по этой ссылке начисляется стартовый кредит на пробный период — его хватает на курсы и проект. Актуальную сумму и срок смотрите у них на сайте: условия программы меняются. Digital Ocean списывает средства сразу при использовании, поэтому отключайте сервисы, которыми не пользуетесь.

Если остались вопросы

Напишите в поддержку на support@hexlet.io — специалисты помогут разобраться или передадут информацию нужной команде.

Полезные ссылки

Обзор Yandex Cloud в блоге Хекслета

Документация Yandex Cloud: начало работы

Документация Yandex Cloud: биллинг

Регистрация в Digital Ocean