Terraform-провайдер Serverspace

Инструмент, позволяющий управлять облачной инфраструктурой через конфигурационный файл

Для чего нужен Terraform

icon_100x100_development 1
Стандартизация

IaC позволяет развернуть идентичную инфраструктуру в другом регионе. Любой параметр всегда можно изменить в конфигурационном файле.

cloud_management 1
Контроль версий

Отслеживайте каждое изменение конфигурации. Если результат обновления вас не устроит, всегда можно вернуться к более раннему состоянию.

icon_100x100_resilient_fast-1 1
Экономия времени

Поднятие, масштабирование и восстановление инфраструктуры занимает меньше времени, чем при ручной настройке.

icon_100x100_redundantreliable 1
Исключение ошибок

Использование конфигурационного файла всегда приводит к одинаковому результату. Человеческий фактор исключён.

Подключите Serverspace в качестве своего провайдера

Выполните несколько простых команд со страницы Serverspace Terraform Provider и сгенерируйте API Token для использования возможностей Terraform в работе с услугами Serverspace.

Начало работы с Terraform

Подробная инструкция по установке и настройке Terraform-провайдера доступна в панели управления.

Подготовка аккаунта и установка Terraform

  1. Зарегистрируйтесь в панели управления Serverspace и пополните баланс. Рассчитать стоимость конфигурации сервера можно в тарифах.
  2. Скачайте дистрибутив Terraform и установите его на вашу операционную систему. Рекомендуем воспользоваться официальной инструкцией
creating_infrastructure 1

Конфигурация провайдера

  1. Сгенерируйте API-ключ для вашего проекта в панели управления.
  2. Подготовьте рабочую директорию, в которой будут храниться файлы конфигурации Terraform.
  3. Создайте конфигурационный файл provider.tf и откройте его для редактирования.
  4. Добавьте в файл параметры провайдера, указав вместо ваш API-ключ, затем сохраните файл.
  5. Инициализируйте Terraform в каталоге проекта, выполнив команду terraform init.
installation 1

Развертывание инфраструктуры

  1. Создайте файл ssh_key.tf и откройте его для редактирования.
  2. Добавьте в него публичную часть вашего SSH-ключа и сохраните файл.
  3. Создайте основной конфигурационный файл main.tf.
  4. Опишите в файле main.tf параметры инфраструктуры, которую необходимо развернуть.
  5. Примените конфигурацию, выполнив команду terraform apply.
connecting 2

Отзывы наших клиентов

“Используем Terraform Provider для развёртывания типовых VPS в dev и staging. Основной плюс в том, что конфигурация хранится в репозитории и изменения по инфраструктуре проходят так же, как изменения в коде — через pull request и review. Для нас это удобнее, чем создавать серверы вручную в панели, потому что можно быстро повторить окружение для нового проекта или пересобрать его после изменений. Подключение через API-ключ заняло минимум времени, дальше осталась только работа с обычными .tf файлами.”
“Через Terraform в Serverspace поднимаем тестовые окружения для внутренних сервисов и стенды под релизы. Практически вся ценность в повторяемости: один раз описали конфигурацию сервера и дальше создаём одинаковые инстансы без расхождений в параметрах. Для команды в Узбекистане это удобно ещё и потому, что можно быстро подготовить инфраструктуру под локальные проекты без ручной рутины в панели управления. После terraform init и terraform apply сервер готов, а при необходимости конфигурацию легко изменить в коде.”
“Подключили Terraform Provider в первую очередь для того, чтобы убрать ручное создание серверов под новые сервисы. Сейчас через него поднимаем окружения для backend-разработки и временные инстансы для проверки задач. Удобно, что состояние инфраструктуры описано декларативно: видно, какие параметры были изменены, и проще отслеживать историю конфигурации. Для небольшой команды это хороший способ стандартизировать работу с облаком без отдельного сложного процесса.”
“Сначала я скептически относился к тому, как быстро можно подключить Terraform и начать использовать его для автоматизации облака. Но уже после первых шагов установки и создания API токена я увидел, насколько удобно стало управлять облачной инфраструктурой. Этот инструмент упрощает процессы и делает их более предсказуемыми.”
“Если вы хотите управлять облаком эффективно, попробуйте Terraform. Установить его и подключить через провайдер с использованием API токена оказалось проще, чем я ожидала. Теперь вся автоматизация облачных задач проходит быстрее и с меньшими усилиями, что делает Terraform идеальным решением для разработчиков и администраторов.”

FAQ

Что такое Terraform?

Terraform — инструмент, разработанный компанией HashiCorp, который позволяет управлять облачной инфраструктурой декларативным способом с использованием конфигурационных файлов. Подход «Infrastructure as Code» позволяет описать необходимое состояние инфраструктуры в коде, чтобы привести её к нужному виду.

Для чего используется Terraform?

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

Сколько стоит подключение Terraform-провайдера?

Бесплатно. Для начала работы нужно загрузить архив с официального сайта Terraform и следовать инструкциям в панели управления.

Как пополнить баланс?

В Serverspace есть 4 способа оплаты:

  • банковские карты VISA, MasterCard и МИР;
  • оплата через QR-код с помощью Системы Быстрых Платежей (СБП);
  • оплата по счету для юридических лиц;
  • криптовалюта Everscale.

Как происходит тарификация?

Услуги тарифицируются по модели Pay-as-you-go. Это значит, что плата списывается раз в 10 минут только за использованные серверы. Например, если вы используете виртуальную машину в течение 30 минут и удалите ее, вы заплатите только за 30 минут.

Terraform vs ручное создание серверов

Сравнение подходов к развертыванию инфраструктуры: через код и через ручную настройку в панели управления.

Параметр Terraform Ручное создание
Скорость повторного развертывания Одинаковые окружения можно поднимать повторно по готовым конфигурационным файлам. Каждый сервер создается вручную заново, что занимает больше времени.
Повторяемость инфраструктуры Параметры описаны в коде, поэтому результат предсказуем и воспроизводим. Есть риск различий между dev, staging и production из-за ручных действий.
Контроль изменений Изменения можно хранить в Git, проверять через pull request и отслеживать историю. История изменений часто остается только в панели или вовсе не фиксируется централизованно.
Масштабирование и изменение параметров Конфигурация меняется в файле и применяется повторно к инфраструктуре. Изменения вносятся вручную, из-за чего сложнее поддерживать единый стандарт.
Человеческий фактор Меньше ручных шагов, ниже вероятность пропустить параметр или ошибиться в настройке. При повторяющихся действиях выше риск ошибок и несоответствий.
Восстановление после сбоя Инфраструктуру проще пересоздать по тем же шаблонам. Восстановление зависит от того, насколько подробно сохранились ручные шаги.
Подходит для Командной работы, типовых окружений, CI/CD, staging, dev/test и стандартизированных проектов. Разовых задач и случаев, когда нужно быстро создать один сервер без дальнейшей автоматизации.

Когда выбирать Terraform

Если инфраструктуру нужно разворачивать повторно, хранить в Git, изменять через код и использовать в работе команды.

Когда достаточно ручного создания

Если нужно быстро поднять один сервер для простой разовой задачи и дальнейшая автоматизация не требуется.

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

Чем можно управлять через Terraform

Terraform позволяет описывать инфраструктуру Serverspace в конфигурационных файлах и разворачивать её повторяемо без ручной настройки через панель управления. Такой подход особенно полезен для команд, которым важно хранить инфраструктуру в Git, быстро создавать одинаковые окружения и контролировать изменения через code review. Подключение провайдера происходит через API-ключ, после чего инфраструктура разворачивается командами terraform init и terraform apply.

С помощью Terraform можно автоматизировать управление следующими компонентами инфраструктуры:

  • создание и конфигурацию VPS серверов для production, staging и dev/test окружений;
  • настройку SSH-ключей и доступов для команд разработки;
  • развертывание типовых инфраструктурных шаблонов для разных проектов;
  • быстрое создание тестовых окружений для разработки и проверки релизов;
  • масштабирование конфигурации серверов через изменение параметров в коде;
  • восстановление инфраструктуры при сбоях или миграции проекта.

Главная ценность такого подхода в предсказуемости инфраструктуры: один и тот же набор конфигурационных файлов создаёт одинаковый результат при каждом запуске. Это упрощает сопровождение проектов, ускоряет onboarding новых инженеров и снижает риск расхождений между dev, staging и production окружениями.