Files
viktor 4d7a0f354d Приватные сети разобраны на живом API
Раздел переписан по факту поведения платформы, а не по документации.

- номер сети лежит в resource_id, а не id, добавлен vpc_id_of()
- список сетей приходит голым массивом
- при создании принимается только имя, регион и участники только для чтения
- подключение сервера асинхронно и блокирует сервер, добавлен vpc_wait_member()
- отключение участника и удаление сети настойчивые, ждут снятия блокировки

Добавлен пример private_network.py.

Claude-Session: https://claude.ai/code/session_01Loz5stgQZH6ofBdMqTxiJu
2026-08-23 19:34:12 +09:00

34 строки
1.4 KiB
Python

"""Приватная сеть между серверами.
Зачем. Серверы в одной приватной сети видят друг друга напрямую, минуя интернет.
Трафик внутри не тарифицируется, а машине-исполнителю можно не давать публичный адрес
вообще, что и дешевле, и безопаснее. Управляющий сервер разговаривает с ней по локали.
Порядок такой: создать сеть, подключить в неё серверы, дождаться подключения.
"""
from regcloud_api import RegCloud
api = RegCloud()
print("сети на аккаунте:")
for v in api.vpcs():
print(f" {RegCloud.vpc_id_of(v)} {v['name']:16s} {v['region_slug']:12s} "
f"участников {len(v.get('members') or [])}")
net = api.create_vpc("backoffice")
net_id = RegCloud.vpc_id_of(net)
print("создана сеть", net_id)
# подключаем свои серверы
for server in api.servers():
api.vpc_attach(net_id, server["id"])
api.vpc_wait_member(net_id, server["id"])
print(" подключён", server["name"])
print("в сети сейчас:", api.vpc_members(net_id))
# отключать и удалять тоже надо уметь
# for sid in api.vpc_members(net_id):
# api.vpc_detach(net_id, sid)
# api.delete_vpc(net_id)