Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

Инструменты управления облачными ресурсами: Web UI, Cloud Shell, API, CLI и IaC

37
9 минут чтения
Средний рейтинг статьи: 5

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

Облачные серверы

Масштабируемые вычислительные ресурсы
по всему миру с почасовой оплатой.

Web UI

Интуитивный и доступный способ управления облачными ресурсами. Идеально подходит для новичков и администраторов, которым нужно быстро выполнить разовые операции. Каждый провайдер предоставляет собственный веб-интерфейс со своим функционалом и особенностями.

Панель управления Timeweb Cloud обладает минималистичным дизайном, простотой использования, быстрым доступом к настройкам. Среди дополнительных опций можно отметить встроенные инструменты мониторинга и функционал для визуализации инфраструктуры.

Рассмотрим веб-интерфейс на примере облачного сервера. В разделе «Дашборд» отображается вся основная информация о сервере, а также графики для мониторинга:

Image13

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

Image18

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

Image24

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

Image7

Также управлять сервером можно прямо из веб-интерфейса при помощи серийной или VNC-консоли.

Серийная консоль обладает такими преимуществами, как:

  • Поддержка сочетаний клавиш Ctrl+C и Ctrl+V для копирования и вставки текста, а также поддержка скролла прямо в окне терминала.
  • Возможность подсветки синтаксиса.
  • Независимость от публичной сети и протокола SSH.
  • Мгновенный запуск и минимальное потребление ресурсов.

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

Image3

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

Image2

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.

    

Image22

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

    

Image14

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

Создадим S3-хранилище размером 1 ГБ:

    

Image23

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

    

Image20

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

Создадим реестр образов Docker:

    

Image21

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

    

Image6

CLI

Timeweb Cloud обладает собственной утилитой командной строки twc для управления облачными ресурсами, проектами, образами, базами данных и т.д. Руководство пользователя доступно на Гитхабе. Там же можно ознакомиться со справочником по всем доступным командам утилиты.

Создадим облачный сервер при помощи утилиты twc. Как и в случае с API, сначала нужно получить токен доступа в панели управления Timeweb Cloud в разделе «API и Terraform».

Установим утилиту на Ubuntu 24.04. Все команды, приведённые ниже, необходимо выполнять от имени пользователя root либо обычного пользователя с правами sudo.

Сначала обновим индекс репозиториев, затем установим интерпретатор Python 3 и пакетный менеджер pip:

    

Создаем новое виртуальное окружение:

    

Активируем виртуальное окружение:

    

Устанавливаем утилиту twc:

    

Добавляем наш токен для получения доступа к ресурсам провайдера:

    

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

    

Image9

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

    

Image1

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

Проверим, что сервер отобразился в списке ресурсов:

    

Image16

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

    

Image12

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

    

Image15

Как уже было упомянуто ранее, использование 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 ГБ места на диске:

    

Инициализируем провайдер при помощи команды:

    

Image25

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

    

Image11

Если в ответ команда вернула «Success! The configuration is valid», то конфигурация не содержит ошибок и готова к работе.

Также существует команда terraform plan, которая выведет список ресурсов и их характеристики, тем самым сервис покажет, что будет создано:

    

Image10

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

    

Image8

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

Image19

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

    

Image4

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

    

Image5

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

Image17

Подготовили для вас выгодные тарифы на облачные серверы

Cloud MSK 15

477 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
NVMe
15 ГБ
Канал
1 Гбит/с
Публичный IP
Cloud MSK 30

657 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
NVMe
30 ГБ
Канал
1 Гбит/с
Публичный IP

Заключение

Сегодня мы рассмотрели четыре основных способа управления облачными ресурсами: Web UI, API, CLI и IaC.

Управление облачной инфраструктурой — многоуровневая задача, требующая выбора подходящих инструментов. Каждый из рассмотренных подходов играет уникальную и важную роль в ее жизненном цикле.

Интуитивно понятный Web-интерфейс подходит для разовых операций и визуального мониторинга. API служит фундаментом облачной автоматизации. CLI обеспечивает скорость, гибкость и возможность создания скриптов — особенно востребованных у опытных администраторов и разработчиков.

Однако именно подход Infrastructure as Code — вершина эволюции инструментов управления. Он переводит работу с инфраструктурой на качественно новый уровень. IaC воплощает ключевые принципы современной DevOps-культуры: воспроизводимость, контроль версий, командную работу, безопасность и непрерывную поставку. Инфраструктура становится кодом — с возможностью применять к ней те же лучшие практики, что и к разработке приложений.

37
9 минут чтения
Средний рейтинг статьи: 5