Приватные сети разобраны на живом API
Раздел переписан по факту поведения платформы, а не по документации. - номер сети лежит в resource_id, а не id, добавлен vpc_id_of() - список сетей приходит голым массивом - при создании принимается только имя, регион и участники только для чтения - подключение сервера асинхронно и блокирует сервер, добавлен vpc_wait_member() - отключение участника и удаление сети настойчивые, ждут снятия блокировки Добавлен пример private_network.py. Claude-Session: https://claude.ai/code/session_01Loz5stgQZH6ofBdMqTxiJu
Этот коммит содержится в:
@@ -0,0 +1,33 @@
|
||||
"""Приватная сеть между серверами.
|
||||
|
||||
Зачем. Серверы в одной приватной сети видят друг друга напрямую, минуя интернет.
|
||||
Трафик внутри не тарифицируется, а машине-исполнителю можно не давать публичный адрес
|
||||
вообще, что и дешевле, и безопаснее. Управляющий сервер разговаривает с ней по локали.
|
||||
|
||||
Порядок такой: создать сеть, подключить в неё серверы, дождаться подключения.
|
||||
"""
|
||||
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)
|
||||
Ссылка в новой задаче
Block a user