Инструменты управления облачными ресурсами: Web UI, Cloud Shell, API, CLI и IaC
От графического интерфейса до командной строки — у каждого способа работы с облачной платформой и ресурсами Yandex Cloud есть свои преимущества. Выбор зависит от задач, опыта команды и требований проекта.
30 мая 2025 г.
15 минут чтения
Краткий пересказ YandexGPT
Yandex Cloud Console предоставляет простой и интуитивно понятный интерфейс для управления жизненным циклом облачных сервисов, визуализации данных и мониторинга работы облачных сервисов.
Cloud Shell — это облачная среда командной строки, доступная через браузер, которая позволяет получить доступ к полноценной командной строке без необходимости устанавливать или настраивать локальное окружение.
API в Yandex Cloud позволяет создавать автоматизацию, плагины и приложения для управления ресурсами через программный интерфейс.
CLI — интерфейс командной строки для управления сервисами в Yandex Cloud, удобный для автоматизации рутинных действий и интеграции с существующими системами разработки.
Подход Infrastructure as Code позволяет описывать ресурсы через код, автоматизировать их развёртывание и обновление, обеспечивая контроль версий, воспроизводимость конфигураций и быстрое масштабирование ресурсов.
Инструменты IaC, интегрированные с Yandex Cloud, включают Terraform, Crossplane и Pulumi, которые предоставляют различные возможности для управления инфраструктурой как кодом.
Terraform — основной инструмент для управления инфраструктурой Yandex Cloud через код, позволяющий безопасно создавать, изменять и отслеживать состояние ресурсов.
Crossplane — расширение для Kubernetes® с открытым исходным кодом, позволяющее объединить ресурсы разных облачных платформ в единую инфраструктуру и управлять ими через высокоуровневые API.
Pulumi — инструмент для управления облачной инфраструктурой в виде кода, позволяющий описывать инфраструктуру на привычных языках программирования.
Мы предлагаем набор инструментов, которые помогают управлять доступами, автоматизировать процессы и держать расходы под контролем. В статье расскажем, чем они отличаются, когда полезны и с какими ресурсами работают.
Облачная консоль управления (Web UI)
Консоль, или веб‑интерфейс облака, — это основной инструмент для управления ресурсами пользователя в облачной платформе.
простой и интуитивно понятный интерфейс взаимодействия с пользователем;
управление жизненным циклом облачных сервисов: создание, изменение, удаление;
расширенные возможности по визуализации данных об облачных ресурсах и операциях с ними;
расширенные возможности мониторинга работы облачных сервисов.
Консоль объединяет все доступные облачные ресурсы под зонтиком каталога ресурсов — в одном облаке их может быть создано несколько. В консоли можно найти дашборд каталога — доступные облачные ресурсы. Здесь отображается вся ключевая информация: облака пользователя, баланс аккаунта, уведомления и многое другое.
Также есть мониторинг, который даёт возможность отслеживать состояние ресурсов по графикам и чартам. Для своевременного реагирования можно настроить алерты и получать уведомления любым удобным способом — с помощью электронной почты, SMS или пуш‑уведомлений в мобильном приложении Yandex Cloud.
Для отслеживания остатка средств можно использовать дашборды детализации трат. Они показывают, за что и когда происходили платежи — расходы по облакам и каталогам, сервисам или меткам.
Cloud Shell
Cloud Shell — облачная среда командной строки, доступная через браузер. Она позволяет получить доступ к полноценной командной строке без необходимости устанавливать или настраивать локальное окружение. Подключение возможно из любой точки мира, где есть интернет. Авторизация происходит автоматически для каждого сеанса — дополнительные пароли вводить не нужно.
Как запустить
Cloud Shell открывает терминал прямо в консоли Yandex Cloud. В нём уже установлены YC CLI и набор инструментов из Yandex Cloud Toolbox для работы с облаком. Подключение происходит через браузер с автоматической аутентификацией. Ничего дополнительно устанавливать не нужно — терминал сразу готов к работе.
В Yandex Cloud Shell уже есть всё для работы с контейнерами, базами данных и облачной инфраструктурой. Среда содержит популярные утилиты и SDK: Yandex Cloud CLI, Terraform, Packer, Pulumi, Helm, kubectl, gRPCurl, jq, yq, Git и tmux. Также доступны основные языки программирования — Node.js, Python и Go.
Для каждого пользователя при запуске Cloud Shell выделяется отдельная виртуальная машина:
2 vCPU (с 50% гарантией),
4 ГБ оперативной памяти,
5 ГБ дискового пространства.
Технические детали реализации
Основные компоненты Cloud Shell:
Control Plane управляет сессией и координирует все процессы;
Compute и Pool VM отвечают за запуск и исполнение команд;
Data Plane передаёт вывод в реальном времени;
BFF (Backend-for-Frontend) объединяет REST и WebSocket, скрывая внутреннюю gRPC‑логику от фронтенда.
Пользователь через BFF (REST для команд и WebSocket для вывода) взаимодействует с Control Plane: тот выделяет виртуальную машину из заранее подготовленного пула, запускает Workflow для настройки окружения и проксирует команды по gRPC в Compute. Compute исполняет команды в контейнере на VM, а Data Plane передаёт их результаты обратно через BFF в реальном времени, обеспечивая мгновенный доступ к терминалу без локальной установки
Пользователь подключается к Cloud Shell через браузер. Все команды и вывод терминала проходят через BFF, который объединяет два канала — REST для управления сессией и WebSocket для передачи потоковых данных.
Далее запросы поступают в Control Plane: этот компонент отвечает за выбор виртуальной машины из пула и подготовку окружения. Внутренняя маршрутизация событий позволяет Control Plane управлять жизненным циклом сессии и информировать остальные сервисы о состоянии виртуальной машины
Виртуальные машины запускаются под управлением Compute, который принимает команды и возвращает результаты выполнения.
Data Plane отвечает за передачу потоковых данных от Compute обратно через BFF к пользователю, поддерживая отклик терминала в реальном времени.
Такая архитектура обеспечивает быстрый старт среды, защищённую изоляцию сессий и «живой» доступ к облачному терминалу из любого места без локальной настройки.
API: программный интерфейс для управления облаком
Наши сервисы позволяют создавать автоматизацию, плагины и приложения для управления ресурсами через API.
API (интерфейс прикладного программирования) — это программный посредник между разными приложениями. С помощью него разработчики могут отправлять запросы, использовать протоколы и встроенные инструменты для быстрой передачи данных между сервисами.
API в Yandex Cloud построены на gRPC. Для описания методов и структур данных используется Protocol Buffers — формат сериализации данных для работы с gRPC.
Сервисы предоставляют и JSON REST‑интерфейс, к которому можно обращаться напрямую. REST‑запросы проходят через gRPC‑JSON transcoder — этот механизм преобразует входящие HTTP‑запросы в gRPC‑вызовы и обратно. Клиент получает HTTP‑ответ после обработки.
Для большинства сервисов в API используется ресурсно‑ориентированный подход:
Стандартные методы позволяют создавать, получать, изменять и удалять ресурсы. Сигнатуры этих методов совпадают для всех сервисов.
Дополнительные методы расширяют стандартные операции. Сюда относятся, например, подключение диска или перезапуск виртуальной машины. Сигнатуры отличаются для каждого метода.
Операции, которые изменяют состояние ресурсов, выполняются асинхронно: сервер возвращает объект Operation с информацией о статусе задачи и идентификатором ресурса.
Операции создания, изменения и удаления поддерживают идемпотентность — повторный запрос не приводит к ошибке или дублированию результата.
применять структурированную систему команд для каждого сервиса,
выполнять команды синхронно или асинхронно,
обращаться к облаку напрямую через Public API.
Инструмент для автоматизированного тестирования инфраструктуры, написанной через код. Проверяет корректность развёртывания и настройки облачных ресурсов, активно используется с Terraform.
Фреймворк для тестирования и валидации инфраструктуры и её соответствия политикам безопасности. Помогает автоматизировать проверки конфигураций серверов и облачных окружений, используя декларативные тесты.
Инструмент для управления облачной инфраструктурой с помощью кода. Позволяет автоматизировать создание и настройку ресурсов в облаке.
CLI удобен для автоматизации рутинных действий и интеграции с существующими системами разработки.
Подход Infrastructure as Code (IaC): зачем нужен и как работает
Управление инфраструктурой вручную усложняется по мере роста числа ресурсов и сложности архитектур создаваемых приложений. Увеличивается вероятность ошибок, замедляется внесение изменений. Подход Infrastructure as Code позволяет описывать ресурсы через код, автоматизировать их развёртывание и обновление.
Преимущества IaC:
контроль версий и простое ревью изменений через систему контроля версий;
воспроизводимость конфигураций и автоматический контроль расхождений изменений;
быстрое масштабирование ресурсов без ручных операций;
автоматическое тестирование инфраструктуры перед развёртыванием при использовании инструментов вроде Terratest или InSpec;
ускорит развёртывание инфраструктуры в новых регионах.
Несмотря на все плюсы, подход Infrastructure as Code не лишён недостатков, которые важно учитывать при его внедрение в рабочий процесс:
IaC требует времени на обучение и настройку, увеличивает издержки на старте, а ошибки в коде могут привести к потере ресурсов.
State‑файл в Terraform содержит критичные данные и нуждается в защите.
Не все инструменты универсальны: Terraform плохо подходит для тонкой настройки, Ansible сложен при больших зависимостях, CloudFormation ограничен только AWS.
Большинство инструментов IaC используют декларативный подход. Инженер задаёт желаемое состояние системы (например, «три сервера, балансировщик и база данных»), а инструмент автоматически рассчитывает, как этого достичь.
Инструменты IaC, интегрированные с Yandex Cloud
Для работы с нашей платформой доступны:
Инструменты автоматического создания ресурсов:
Terraform — основной инструмент для управления инфраструктурой Yandex Cloud через код.
Crossplane — расширение Kubernetes® для управления облачными ресурсами.
Pulumi — инструмент IaC с поддержкой популярных языков программирования.
Управление секретами:
Yandex Lockbox — сервис для безопасного хранения конфиденциальных данных.
Сравнение инструментов управления
Характеристики
Web UI
Cloud Shell
Yandex Cloud API
Yandex Cloud CLI
Terraform
Crossplane
Pulumi
Назначение
Веб-интерфейс
Веб-оболочка
REST/gRPC API для программного управления
Утилита командной строки
IaC-инструмент
IаС-инструмент
IaC-инструмент
Технические требования
Веб-браузер
Веб-браузер
Любая платформа с HTTP/gRPC-клиентом
Windows / Linux / MacOS
Порог вхождения
Низкий
Низкий
Средний
Средний
Средний
Высокий
Высокий
Модель взаимодействия
Императивная
Декларативная
Покрытие функциональности
Высокая
Высокая
Высокая
Высокая
Средняя
Средняя
Средняя
Расскажем подробнее о некоторых популярных инструментах, используемых для реализации IaC.
Terraform
Terraform — инструмент для управления инфраструктурой как кодом. С его помощью можно безопасно создавать, изменять и отслеживать состояние ресурсов — от виртуальных машин и сетей до DNS‑записей и управляемых сервисов.
Terraform описывает инфраструктуру с помощью кода — на языке HCL (HashiCorp Configuration Language) или в формате JSON. Это позволяет хранить конфигурации в системе контроля версий и разворачивать среду в один клик.
Мы подготовили набор Terraform‑модулей, чтобы упростить описание инфраструктуры и сократить повторяющийся код. Они помогают перейти к более высокому уровню управления: собирать инфраструктуру из готовых блоков, как из конструктора. Все модули основаны на практиках, которые мы сами используем для создания облачных сервисов.
Пошаговая инструкция поможет подготовить безопасную среду и настроить управление несколькими облаками в компании с помощью Terraform‑модулей — с учётом требований отрасли и политик безопасности.
Crossplane
Crossplane — расширение для Kubernetes® с открытым исходным кодом. Оно позволяет объединить ресурсы разных облачных платформ в единую инфраструктуру и управлять ими через высокоуровневые API.
С помощью Crossplane можно:
управлять ресурсами облака напрямую из Kubernetes‑кластера,
настраивать мультиоблачную инфраструктуру и делегировать разработчикам доступ к ней,
описывать инфраструктуру как код с помощью YAML‑манифестов.
Расширение подходит для команд, которые хотят использовать Kubernetes® не только для оркестрации контейнеров, но и как универсальный интерфейс для работы с инфраструктурой в разных облаках.
Pulumi
Pulumi — инструмент для управления облачной инфраструктурой в виде кода. В отличие от традиционных инструментов, требующих изучения специальных языков конфигурации, Pulumi позволяет описывать инфраструктуру на привычных языках программирования: Python, TypeScript, Go, C# и других.
Самые популярные языки программирования: обзор и тенденции
Pulumi не разрабатывается Yandex Cloud, но может быть интегрирован с нашими облачными сервисами через Terraform. Это позволяет нашим клиентам управлять виртуальными машинами, сетями, базами данных и другими ресурсами через единый интерфейс.
Работа с Pulumi организована через проекты. Проект представляет собой каталог с файлом Pulumi.YAML, который определяет используемый язык программирования и базовые настройки. Каждый проект может содержать несколько стеков — независимых наборов параметров для разных окружений. Например, отдельные стеки для разработки, тестирования и продуктивного контура.
Pulumi автоматически отслеживает состояние инфраструктуры — сохраняет информацию о созданных ресурсах и их конфигурации. Это состояние можно хранить локально для небольших проектов или в удалённом хранилище (например, в Yandex Object Storage) для командной работы. Благодаря этому инструмент понимает, какие изменения нужно внести при обновлении инфраструктуры, и предотвращает конфликты при одновременной работе нескольких разработчиков.
Заключение
Мы рассмотрели основные инструменты для работы с Yandex Cloud. Разнообразие подходов позволяет каждому выбрать привычный и удобный способ управления инфраструктурой — от визуального интерфейса до кода.
Инструменты можно комбинировать, чтобы сочетать преимущества каждого инструмента. Например, использовать консоль для прототипирования, CLI — для повседневных задач, а Terraform — для управления продуктивной средой.