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

Yandex Cloud

Yandex Cloud

Yandex Cloud поддерживается с полным набором: биллинг-аккаунт, inventory ресурсов (Compute, Managed Databases, Object Storage, Load Balancer, Managed Kubernetes), метрики утилизации и CVoS-рекомендации.

Подключение состоит из двух частей:

  1. Подготовить Yandex Cloud — создать сервисные аккаунты, выдать роли, настроить экспорт биллинга в Object Storage. Это можно сделать тремя способами (см. ниже).
  2. Передать credentials в OpsMan AI — либо автоматически (callback из скрипта), либо вручную через UI платформы.

Yandex Cloud существует в двух инсталляциях — российской (ru) и казахстанской (kz). Они независимы: у них разные endpoints, разные валюты биллинга и разные установочные скрипты. При подключении облака в OpsMan AI регион выбирается toggle’ом на шаге 1 модала Connect Cloud (дефолт — ru). Выбор повлияет на:

Параметрrukz
S3 endpoint для биллинг-бакетаstorage.yandexcloud.netstorage.yandexcloud.kz
IAM endpointiam.api.cloud.yandex.netiam.api.yandexcloud.kz
Валюта биллингаRUBKZT
Инициализация ycyc inityc init --region=kz
Установочный скрипт OpsManfiles.opsman.ai/yandex-ru-cloud-install.shfiles.opsman.ai/yandex-kz-cloud-install.sh

Regional value сохраняется на стороне OpsMan при создании записи облака (clouds.region + clouds.currency). Поменять регион после подключения нельзя — это изменит endpoint’ы, с которыми общается worker-collector. Нужно отключить облако и подключить заново с нужным регионом.

  • Активный Cloud в Yandex Cloud (b1g...) и хотя бы один Folder (b1g...) внутри него.
  • Billing Account (dn2...) — обычно создаётся автоматически при регистрации.
  • Текущий пользователь Yandex Cloud должен иметь роли:
    • admin или editor на каталог (для создания SA, бакета, выдачи ролей);
    • billing.accounts.admin на платёжный аккаунт (чтобы выдать billing.accounts.viewer сервисному аккаунту).

Вариант 1. Автоматический скрипт Рекомендуется

Заголовок раздела «Вариант 1. Автоматический скрипт Рекомендуется»

OpsMan AI публикует bash-скрипт, который делает всё end-to-end: создаёт бакет для биллинг-экспорта, два сервисных аккаунта (для S3 и для API), выдаёт минимально необходимые роли, выпускает ключи и отправляет credentials в OpsMan AI через защищённый callback. От пользователя — одна команда и один ручной шаг в UI Yandex Cloud (включить экспорт биллинга — публичного API для этого нет).

  1. Установите yc CLI и авторизуйтесь через yc init. Если хотите понимать, что делает установщик yc — есть построчный разбор.

  2. Получите TOKEN и CLUSTER в консоли OpsMan AI: Settings → Integrations → Cloud Providers → + Add → Yandex Cloud. Платформа покажет одноразовый токен и идентификатор кластера.

  3. Запустите скрипт. Выберите вариант по региону облака:

    Россия (ru):

    Окно терминала
    curl -sSL https://files.opsman.ai/yandex-ru-cloud-install.sh | \
    TOKEN="<токен из UI>" CLUSTER="<идентификатор кластера>" bash

    Казахстан (kz):

    Окно терминала
    curl -sSL https://files.opsman.ai/yandex-kz-cloud-install.sh | \
    TOKEN="<токен из UI>" CLUSTER="<идентификатор кластера>" bash

    В UI модала Connect Cloud команда уже подставлена с учётом выбранного региона — кнопка Copy отдаст правильный вариант.

  4. Когда скрипт дойдёт до шага «Настройка экспорта биллинга», он откроет в браузере страницу настройки экспорта в Yandex Cloud Console и подскажет, какие поля выбрать (бакет, папка, тип «Поресурсная»). Это единственный шаг, который требует ручного клика — у Yandex Cloud нет публичного API для этого действия.

  5. После завершения OpsMan AI получит callback с credentials, и в течение 5 минут облако появится в Cluster list со статусом active.

ШагДействиеМожно ли пропустить
1Создаёт бакет finops-billing-exportДа, через env BUCKET_NAME=...
2Открывает UI для включения биллинг-экспортаНет — это единственный ручной шаг
3Создаёт SA finops-bucket-admin + статический S3-ключНет
4Создаёт SA finops-api-viewer + JSON-ключНет
5Выдаёт роли: storage.editor на каталог, viewer на облако, billing.accounts.viewer на billingНет
6Сохраняет credentials в finops-radar-credentials.txtНет
7Отправляет credentials в OpsMan AI (callback)Да, если запустить без TOKEN

Полный разбор каждого шага — на странице yandex-cloud-install.sh: что делает скрипт.

Подходит, если у вас политика «никаких неподписанных скриптов из интернета», или вы хотите подключать несколько облаков одинаковым набором команд из своего runbook.

  1. Установите yc CLI и выполните yc init. Опционально — прочитайте разбор установочного скрипта yc.

  2. Подготовьте переменные:

    Окно терминала
    export FOLDER_ID=$(yc config get folder-id)
    export CLOUD_ID=$(yc config get cloud-id)
    export BILLING_ACCOUNT_ID="<dn2...>" # из консоли Yandex Cloud Billing
  3. Создайте сервисный аккаунт и выдайте роли:

    Окно терминала
    yc iam service-account create --name opsman-readonly
    SA_ID=$(yc iam service-account get --name opsman-readonly --format json | jq -r .id)
    yc resource-manager cloud add-access-binding $CLOUD_ID \
    --role viewer --subject serviceAccount:$SA_ID
    yc resource-manager cloud add-access-binding $CLOUD_ID \
    --role monitoring.viewer --subject serviceAccount:$SA_ID
    # billing.accounts.viewer выдаётся через Billing REST API
    curl -X POST \
    -H "Authorization: Bearer $(yc iam create-token)" \
    -H "Content-Type: application/json" \
    -d "{\"accessBindingDeltas\":[{\"action\":\"ADD\",\"accessBinding\":{\"roleId\":\"billing.accounts.viewer\",\"subject\":{\"id\":\"$SA_ID\",\"type\":\"serviceAccount\"}}}]}" \
    "https://billing.api.cloud.yandex.net/billing/v1/billingAccounts/${BILLING_ACCOUNT_ID}:updateAccessBindings"
  4. Выпустите authorized key:

    Окно терминала
    yc iam key create \
    --service-account-name opsman-readonly \
    --output opsman-key.json
  5. Настройте экспорт биллинга в Object Storage (это единственная часть, которую нельзя автоматизировать через API): создайте бакет yc storage bucket create --name finops-billing-export, потом откройте https://center.yandex.cloud/billing/accounts/<BILLING_ACCOUNT_ID>/exports, нажмите «Создать», укажите бакет и папку, тип — «Поресурсная».

  6. Перейдите к разделу Подключение в консоли OpsMan AI и введите credentials вручную.

Самый медленный, но не требует терминала.

  1. В Yandex Cloud Console откройте IAM → Сервисные аккаунты и создайте opsman-readonly.

  2. Откройте созданный SA → Назначить роль и выдайте:

    • viewer — на каталог (или на облако, если хотите видеть все каталоги);
    • monitoring.viewer — на каталог;
    • billing.accounts.viewer — на платёжный аккаунт (через Billing → Доступ).
  3. На вкладке Авторизованные ключи создайте ключ → формат JSON → скачайте файл (больше он не показывается).

  4. Object Storage → создайте бакет finops-billing-export.

  5. Billing → Экспорт → нажмите Создать → выберите бакет, папку (например billing/), тип — Поресурсная, язык — English.

  6. Перейдите к разделу Подключение в консоли OpsMan AI.

Этот шаг нужен только для Вариантов 2 и 3 — в Варианте 1 платформа получает credentials автоматически через callback.

  1. В консоли OpsMan AI откройте Cluster list → Connect Cloud или Settings → Integrations → Cloud Providers → + Add.

  2. Выберите провайдера Yandex Cloud и заполните форму:

    ПолеЗначение
    Display nameПроизвольное имя (Production, Sandbox)
    Billing account IDdn2xxxxxxxxxxxxxxxxx
    Cloud IDb1gxxxxxxxxxxxxxxxxx
    Authorized key (JSON)Содержимое JSON-файла ключа opsman-readonly
    Bucket nameИмя бакета с биллинг-экспортом
    Bucket prefixПапка внутри бакета (billing/)
    S3 access key ID / secretИз ключа SA с доступом к бакету
    Regionru или kz — toggle в верхней части формы. Дефолт ru
    CurrencyRUB для ru / KZT для kz — проставляется автоматически по выбранному региону
  3. Нажмите Test connection — платформа проверит credentials и покажет список найденных ресурсов.

  4. Нажмите Save.

В течение 5 минут:

  • Облако видно в Cluster list со статусом active.
  • В Resources появляются VM, диски, БД, snapshots и прочие сущности.

В течение часа:

  • Обновляются метрики утилизации (CPU, memory, network).

В течение 24 часов:

  • Приходит первый биллинг-срез — в Cost Analysis видна стоимость в RUB.
  • Генерируются аномалии и рекомендации по этому облаку.
  • CVoS-рекомендации — OpsMan AI анализирует, какие ресурсы имеют стабильное потребление, и предлагает Committed Usage Discount на 6 и 12 месяцев с расчётом экономии.
  • Managed Kubernetes — managed-кластер появится как managed-kubernetes сущность в Resources. Для анализа внутренних подов установите агент metrics-collector по инструкции Kubernetes.
  • Object Storage — buckets анализируются как сущности типа object-storage-bucket; для неиспользуемых появляется рекомендация Unused S3 bucket.

Yandex Cloud сам тарифицирует ресурсы — стоимость каждого дня поступает из Billing API. Задавать вручную ставки не нужно. Базовая валюта зависит от региона облака:

  • ru → биллинг приходит в RUB
  • kz → биллинг приходит в KZT

Если нужен пересчёт в USD / RUB / KZT для визуализации — установите соответствующую валюту в top bar консоли OpsMan AI; биллинг хранится в исходной валюте, пересчёт — визуальный.

Разбор yandex-cloud-install.sh

Что именно делает автоматический скрипт, какие credentials отправляются в OpsMan AI и как откатить настройку.

Открыть разбор →

Разбор yc install.sh

Построчный анализ официального установочного скрипта Yandex Cloud CLI.

Открыть разбор →