Современные облачные платформы предоставляют различные способы для взаимодействия с инфраструктурой. Каждый инструмент ориентирован на свои сценарии использования, уровень автоматизации и тип пользователей. Сегодня на примере облачного провайдера Timeweb Cloud мы рассмотрим четыре основных способа управления облачными ресурсами: веб-интерфейс (Web UI), API, командную строку (CLI) и Infrastructure as Code (IaC).
Облачные серверы
по всему миру с почасовой оплатой.
Web UI
Интуитивный и доступный способ управления облачными ресурсами. Идеально подходит для новичков и администраторов, которым нужно быстро выполнить разовые операции. Каждый провайдер предоставляет собственный веб-интерфейс со своим функционалом и особенностями.
Панель управления Timeweb Cloud обладает минималистичным дизайном, простотой использования, быстрым доступом к настройкам. Среди дополнительных опций можно отметить встроенные инструменты мониторинга и функционал для визуализации инфраструктуры.
Рассмотрим веб-интерфейс на примере облачного сервера. В разделе «Дашборд» отображается вся основная информация о сервере, а также графики для мониторинга:

Справа можно найти все необходимые данные для подключения к серверу, включая IPv4- и IPv6-адреса, а также уже готовую команду для подключения по протоколу SSH:

Настройка сети осуществляется в отдельном разделе «Сеть»:

Чтобы изменить конфигурацию сервера, можно воспользоваться соответствующими параметрами в разделе «Конфигурация»:

Также управлять сервером можно прямо из веб-интерфейса при помощи серийной или VNC-консоли.
Серийная консоль обладает такими преимуществами, как:
- Поддержка сочетаний клавиш
Ctrl+CиCtrl+Vдля копирования и вставки текста, а также поддержка скролла прямо в окне терминала. - Возможность подсветки синтаксиса.
- Независимость от публичной сети и протокола SSH.
- Мгновенный запуск и минимальное потребление ресурсов.
Серийная консоль доступна в разделе «Консоль»:

Также можно использовать VNC-консоль, которая эмулирует экран монитора, подключенного к виртуальной машине. Работает поверх IP-сети. В отличие от серийной консоли, копирование текста из VNC-консоли недоступно. Однако VNC-консоль может быть полезна при сетевой недоступности сервера. Она также находится в разделе «Консоль»:

API
С помощью API можно управлять облачными ресурсами провайдера при помощи HTTP-запросов. Одним из преимуществ API является автоматизация — большинство действий, которые выполняются через веб-панель в ручном режиме, можно легко автоматизировать.
В качестве методов API Timeweb Cloud поддерживает GET, POST, PUT, PATCH, DELETE. Доступна подробная документация.
Рассмотрим несколько примеров работы с API-запросами провайдера при помощи консольной утилиты curl.
Для начала нам необходимо сгенерировать API-токен. Далее создадим переменную окружения и в качестве значения укажем наш токен:
Пример 1. Создание сервера
Создадим облачный сервер Linux с ОС Ubuntu 24.04, именем my-first-cloud-server и характеристиками: 1 × 3,3 ГГц CPU, 1 ГБ RAM, 15 ГБ NVMe.

Проверим, что сервер был успешно создан:

Пример 2. Создание бакета в S3-хранилище
Создадим S3-хранилище размером 1 ГБ:

Проверим, что хранилище было создано:

Пример 3. Создание реестра контейнеров
Создадим реестр образов Docker:

Проверим, что реестр контейнеров был создан:

CLI
Timeweb Cloud обладает собственной утилитой командной строки twc для управления облачными ресурсами, проектами, образами, базами данных и т.д. Руководство пользователя доступно на Гитхабе. Там же можно ознакомиться со справочником по всем доступным командам утилиты.
Создадим облачный сервер при помощи утилиты twc. Как и в случае с API, сначала нужно получить токен доступа в панели управления Timeweb Cloud в разделе «API и Terraform».
Установим утилиту на Ubuntu 24.04. Все команды, приведённые ниже, необходимо выполнять от имени пользователя root либо обычного пользователя с правами sudo.
Сначала обновим индекс репозиториев, затем установим интерпретатор Python 3 и пакетный менеджер pip:
Создаем новое виртуальное окружение:
Активируем виртуальное окружение:
Устанавливаем утилиту twc:
Добавляем наш токен для получения доступа к ресурсам провайдера:
Прежде чем создавать облачный сервер, нам необходимо получить пресет. Для этого используем команду:

Используем пресет под номером 2573, который включает в себя 1 x 3.3 ГГц CPU, 2 ГБ RAM, 30 ГБ места на NVMe-диске:

Ключ --ssh-key предназначен для настройки авторизации по SSH при помощи ключей. Вместо ~/.ssh/id_ed25519.pub необходимо указать свой путь до файла с публичным (открытым) ключом. Также данный параметр можно не использовать.
Проверим, что сервер отобразился в списке ресурсов:

Поменяем конфигурацию сервера на 4 CPU и 8 ГБ RAM. Вместо ID сервера 6191913 необходимо подставить свой:

Убедимся, что конфигурация была успешно изменена:

Как уже было упомянуто ранее, использование twc не ограничивается работой с серверами. Поддерживаются образы операционных систем, базы данных, балансировщики нагрузки, объектные хранилища, кластеры Kubernetes, доменные записи, VPC, Firewall.
IaC
IaC (Infrastructure as Code, «Инфраструктура как код») — подход к IT-инфраструктуре, при котором ее создание и настройка осуществляются при помощи файлов конфигурации с кодом, а не вручную через графический интерфейс или интерактивные команды. Представьте, что вам необходимо создать 10 виртуальных машин с разной конфигурацией. Если выполнять все эти действия вручную, это займет много времени. Подход IaC существенно упрощает задачу благодаря использованию автоматизации и специальной конфигурации.
Одним из самых популярных IaC-инструментов является Terraform — бесплатный инструмент IaC с открытым исходным кодом от компании HashiCorp. Позволяет описывать всю инфраструктуру (серверы, сети, базы данных, контейнеры, облачные ресурсы и т.д.) в виде кода на специальном декларативном языке HCL (HashiCorp Configuration Language) или в JSON. У Timeweb Cloud есть свой провайдер для работы с Terraform.
Далее мы создадим облачный сервер при помощи конфигурации Terraform.
Для установки Terraform воспользуемся документацией.
Создаем директорию для конфигурации и переходим в нее:
Экспортируем переменную с API-токеном, полученным в панели управления.
Создаем основной конфигурационный файл main.tf.
Сначала необходимо установить провайдер. Для этого в разделе terraform указываем имя провайдера и ссылку на него.
Далее мы описываем желаемое состояние нашей инфраструктуры в блоке configuration. Мы будем разворачивать облачный сервер с Ubuntu 24.04, 1 CPU, 2 ГБ RAM, 15 ГБ места на диске:
Инициализируем провайдер при помощи команды:

Проверим конфигурацию на наличие ошибок в синтаксисе перед созданием ресурсов:

Если в ответ команда вернула «Success! The configuration is valid», то конфигурация не содержит ошибок и готова к работе.
Также существует команда terraform plan, которая выведет список ресурсов и их характеристики, тем самым сервис покажет, что будет создано:

Для создания ресурсов используем команду:

Прежде чем приступить к созданию, Terraform запросит разрешение. Необходимо ввести yes:

Убедимся, что облачный сервер был создан, используя команду:

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

Перед удалением Terraform также запрашивает подтверждение. Вводим yes:

Подготовили для вас выгодные тарифы на облачные серверы
477 ₽/мес
657 ₽/мес
Заключение
Сегодня мы рассмотрели четыре основных способа управления облачными ресурсами: Web UI, API, CLI и IaC.
Управление облачной инфраструктурой — многоуровневая задача, требующая выбора подходящих инструментов. Каждый из рассмотренных подходов играет уникальную и важную роль в ее жизненном цикле.
Интуитивно понятный Web-интерфейс подходит для разовых операций и визуального мониторинга. API служит фундаментом облачной автоматизации. CLI обеспечивает скорость, гибкость и возможность создания скриптов — особенно востребованных у опытных администраторов и разработчиков.
Однако именно подход Infrastructure as Code — вершина эволюции инструментов управления. Он переводит работу с инфраструктурой на качественно новый уровень. IaC воплощает ключевые принципы современной DevOps-культуры: воспроизводимость, контроль версий, командную работу, безопасность и непрерывную поставку. Инфраструктура становится кодом — с возможностью применять к ней те же лучшие практики, что и к разработке приложений.