Заказ сервера OpenStack (через API)

Чтобы заказать сервер на базе OpenStack:

  1. Создайте сервисный аккаунт.
  2. Создайте API-ключ.
  3. Для выполнения API-запросов получите сессионный токен.
  4. Для заказа сервера (instance) выполните POST-запрос согласно примеру:

где:

  • <ID_ПРОЕКТА> — идентификатор проекта.

    1. Щёлкните на текущий контекст. Подробнее см. раздел Выбор организации, папки или проекта.
    2. Выберите организацию.
    3. В списке найдите нужный проект. Идентификатор проекта указан в столбце Идентификатор.
  • <ТОКЕН> — сессионный токен, полученный в шаге 3.

Параметры

ПараметрПример значенияОписаниеОбязательный?
nameserver1Имя сервера. Требования к имени сервера см. в разделе Заказ сервераДа
descriptionСервер для тестирования приложений

Описание сервера

Нет

availability_zone_id

d3p1k01

Идентификатор дата-центра (ЦОД), в котором будет находиться сервер:


  • d3p1k01 — дата-центр ru-central1-a
  • d4p1 — дата-центр ru-central2-a
  • d5p1 — дата-центр ru-central3-a
Да

flavor_id

ad65a1ac-9347-44c5-88ed-613feeef0fee

Идентификатор конфигурации сервера.

Список идентификаторов конфигураций можно посмотреть:


Да

ssh_keys

b5dba483-b46e-4d7f-9278-1e4fec84b6cb

Идентификаторы SSH-ключей для подключения к серверу.

Список проектных SSH-ключей можно посмотреть с помощью запроса в Swagger.

Список личных SSH-ключей можно посмотреть с помощью запроса в Swagger

Да, если не указан параметр user_data.

Нет, если соблюдается одно из условий:


  • указан параметр user_data;
  • в параметре volumes.boot.image_id указан идентификатор, соответствующий одному из образов:
    • Windows Server 2012_std
    • Windows Server 2016_std
    • Windows Server 2019_std
    • Windows Server 2019_core
    • Windows Server 2022_std
    • Windows Server 2025_std

user_data

#cloud-config\nssh_pwauth: true\ndisable_root: true\nusers:\n  - name: ivan\n    passwd: '$6$.2aBcDeFg$a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6A7B8C9D0E'\n    shell: /bin/bash\n    lock_passwd: false\n    groups: sudo

Сценарий cloud-init, например, в формате YAML или shell.

Объём текста — до 16384 байт.

Подробнее о параметре см. в разделе Заказ сервера

Нет

placement_policy_id

74cc41fd-27cf-4faa-ae16-2a4ce5fd8a1e

Идентификатор политики размещения.

Список идентификаторов политик размещения можно посмотреть с помощью запроса в Swagger

Нет

ha_enabled

true

Укажите true, чтобы после отказа гипервизора сервер автоматически перезапустился на другом гипервизоре

Нет. Если параметр не указан, по умолчанию будет false

Системный диск (volumes.boot)

volumes.boot.image_id

66095510-dc36-4fe0-8423-8f163ce12222

Идентификатор образа сервера.

Список идентификаторов образов можно посмотреть:


Если вы хотите использовать образ, который самостоятельно загрузили или создали из диска, то ИД такого образа можно получить с помощью запроса в Swagger

Да

volumes.boot.size

11

Размер системного диска в ГБ

Да

volumes.boot.volume_type_id

2d75488e-a10d-4080-b7c1-d71067ad8314

Идентификатор типа системного диска.

Cписок идентификаторов типов дисков можно посмотреть:


Да
Дополнительные диски (volumes.extra). Если нужен дополнительный диск, укажите все параметры. Если не нужен, не указывайте ни один из них

volumes.extra.name

dop-disk

Название дополнительного дискаНет

volumes.extra.size

3Размер дополнительного диска в ГБНет

volumes.extra.volume_type_id

2207b7c5-5848-477b-9745-8cb422af1705

Идентификатор типа диска.

Список идентификаторов типов дисков можно посмотреть:


Нет
Сетевые настройки сервера (network_interfaces)

network_interfaces.use_external_network

false

Укажите true, чтобы сервер имел статический публичный IP-адрес в Интернете, но без доступа к локальной сети (публичный доступ).

Укажите false, чтобы сервер находился в локальной сети с возможностью доступа из сети Интернет (локальный доступ)

Нет. Если параметр не указан, по умолчанию будет false

network_interfaces.bandwidth

100

Ограничение пропускной способности канала — от 100 до 10 000 Мбит/сек. Значение должно быть кратно 100

Да, если в параметре network_interfaces.use_external_network указано true

network_interfaces.subnet_id

65795365-2461-42a9-a3eb-aa992ec7ba0f

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

Список идентификаторов подсетей можно посмотреть с помощью запроса в Swagger

Да, если в параметре network_interfaces.use_external_network указано false

network_interfaces.ip_address

192.169.0.1

IP-адрес сетевого интерфейса

Нет

network_interfaces.security_group_ids

cef79960-4845-41b3-a4de-1b46c0849796

Идентификаторы групп безопасности.

Список идентификаторов групп безопасности можно посмотреть с помощью запроса в Swagger

Да

Публичный IP-адрес (network_interfaces.public_ip). Актуально, если в параметре network_interfaces.use_external_network указано false

network_interfaces.public_ip.create

true

Укажите true, если серверу нужно автоматически присвоить IP-адрес из пула свободных публичных IP-адресов.

Укажите false, если серверу нужно присвоить публичный IP-адрес, указанный в параметре network_interfaces.public_ip.id

Нет. Если параметр не указан, по умолчанию будет false

network_interfaces.public_ip.id

a083ba61-4b0e-4681-aeb4-f551286e571b

Идентификатор публичного IP-адреса. Список идентификаторов публичных IP-адресов можно посмотреть с помощью запроса в Swagger

Да, если в параметре network_interfaces.public_ip.create указано false

network_interfaces.public_ip.bandwidth

500

Ограничение пропускной способности канала — от 100 до 10 000 Мбит/сек. Значение должно быть кратно 100

Да, если в параметре network_interfaces.public_ip.create указано true