WireGuard-шлюз
Подключение рабочих машин и внешней инфраструктуры к VPC через WireGuard-шлюз.
Как это работает
У каждой VPC есть WireGuard-шлюз. Клиент проходит аутентификацию ключом WireGuard и получает собственный адрес из диапазона вашей частной сети (например, 10.50.0.200/32).
Через туннель доступны все ресурсы частной сети:
- виртуальные машины и контейнеры;
- внутреннее разрешение имён;
- сервисы, не опубликованные в интернете.
Порты ВМ при этом остаются закрытыми извне: входящие подключения возможны только через WireGuard-шлюз, SSH-шлюз или HTTPS-шлюз.
Сценарий: база данных с рабочего ноутбука
- Разверните PostgreSQL на ВМ внутри VPC
production-vpc(10.50.0.0/16). Машина получает внутренний адрес, например10.50.0.21. - Поднимите туннель со своей рабочей машины:
$ wg-quick up microsrv-vpc
[#] ip link add microsrv-vpc type wireguard
[#] ip address add 10.50.0.200/32 dev microsrv-vpc
[#] ip route add 10.50.0.0/16 dev microsrv-vpc
- Обращайтесь к базе по внутреннему адресу:
$ psql -h 10.50.0.21 -U app
psql (16.3, server 16.3)
Type "help" for help.
app=> SELECT inet_server_addr();
inet_server_addr
------------------
10.50.0.21
(1 row)
База недоступна из интернета, но ваш ноутбук работает с ней так, будто подключён к офисной локальной сети.
Сценарий: гибридный Kubernetes (multicloud)
Узлы microsrv можно присоединить к существующей инфраструктуре как клиенты WireGuard-шлюза. Например, с Kilo узлы microsrv становятся узлами вашего Kubernetes-кластера и видны в вашем облаке по внутренним адресам — без публичных IP и ручной настройки VPN.
Обратная достижимость (узлы microsrv → поды и сервисы вашего кластера) зависит от преобразования адресов на вашем сетевом слое: если сетевой слой выполняет SNAT/DNAT поверх туннеля (Kilo делает это автоматически), трафик проходит в обе стороны.