OpenAI блокирует доступ к сервисам пользователям из России. И если вы написали приложение (бот, сервис), которое взаимодействует с их API, вам приходилось разворачивать его на зарубежных облаках. Либо платить посредникам, предоставляющим услуги по проксированию запросов, что и дорого, и небезопасно. Мы решили это исправить и сделали технологию проксирования. Она помогла нам самым неожиданным образом, когда Docker Hub заблокировал пользователей из России.

Что такое Amvera Cloud

Amvera - облако для хостинга ботов, сайтов и других приложений с развертыванием через git push. Если у вас приложение на python, c#, node.js, java, go, ruby, php или вы используете docker, вы можете разместить его у нас за 170 руб. в месяц, получив 111 руб. стартового баланса на тест.

Эта статья о том, как мы реализовали бесплатный (если у вас есть токен OpenAI и вы размещаете приложения в нашем облаке) доступ к API OpenAI тысячам российских пользователей. При этом сами приложения развернуты на российских серверах и пользователям не нужно ничего дополнительно настраивать.

Задача была нетривиальна тем, что большинство наших пользователей - из России, и им не нужны большие задержки, связанные с хождением трафика через зарубежные IP. Требовалось найти способ отделения трафика, который идет к API OpenAI.

Мы не сразу смогли реализовать данный функционал. Вернее, у нас это получилось только спустя две итерации. 

Первая итерация заключалась в попытке настроить маршрутизацию на пул виртуальных машин с “правильными”, с точки зрения OpenAI, IP. Но, по разным причинам, нам не получилось это сделать хорошо.

Вторая итерация была интереснее, и заключалась в настройке на уровне подов Kubernetes. 

Наконец, 17 мая мы выкатили проксирование к API OpenAI в прод, обеспечив доступ пользователям из России. Порадовались, что все работает, и стали заниматься другим задачами.

Но в ночь на 30 мая случился массовый сбой, причину которого мы поняли не сразу.

Оказалось, что Docker Hub решил забанить российских пользователей. 

А в нашем облаке многие размещают проекты, использующие образы с Docker Hub. И, разумеется, они начали отваливаться.

Переключение на зеркало было только частью задачи, так как оно не покрывало как раз данные сценарии.

Именно в этот момент мы решили переиспользовать отработанную технологию проксирования до OpenAI, чтобы достучаться до Docker Hub. И уже к обеду 30 мая мы выяснили правильные IP Docker Hub, и все заработало.

Да, в итоге Docker Hub снял блокировку, но, как говорится, “ложечки нашлись, а осадочек остался”, поэтому мы решили не откатывать изменения назад.

А теперь кратко о том, как мы сделали проксирование к OpenAI

Начну с того, что в нашем облаке проекты пользователей запускаются в подах Kubernetes. 

Мы сделали следующее

Шаг 1

  • Развернули пул виртуальных машин с “правильным”, с точки зрения OpenAI, IP

Шаг 2

  • Установили на них запрещенную к произношению технологию, с протоколом W…d. Но наша статья про Kubernetes, поэтому не будем останавливаться подробнее.

Шаг 3

  • Устанавливаем NetBird, используя документацию по ссылке

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

Шаг 4 

  • Подключились к NetBird и задали нужные параметры.

Шаг 5

  • Настроили NetBird и раскатили в кластере. В итоге получилась примерно такая схема

Устройство решения схематично. Под с NetBird имеет доступ к трафику подов на ноде и может им управлять.

Готово!

Благодаря данному решению мы сделали проксирование до OpenAI из облака Amvera, которое в итоге помогло нам справиться с блокировкой Docker Hub. Теперь, если ваш бот или другой сервис пытается обратиться к IP API OpenAI или другому заблокированному для пользователей из России ресурсу, трафик будет перенаправлен через иностранный IP-адрес.

Это бесплатно и не требует никакой настройки. Достаточно просто развернуть приложение, которое обращается к IP OpenAI. Наше облако само поймет, куда обращается ваш сервис, и будет проксировать трафик.

Почему это полезно

- Не нужно покупать проксирование API у посредников, переплачивая и снижая безопасность.

- Не требуется искать иностранные хостинги.

- Вы легко получите доступ ко всем возможностям ChatGPT, находясь в России.

Достаточно иметь оплаченный токен API OpenAI и развернуть проект в Amvera!

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

А если у вас есть собственный кластер Kubernetes, то вы сможете настроить проксирование самостоятельно, используя принцип выше. Либо мы можем помочь вам в этом.

Но самое главное, что сделав данную технологию, мы сами того не ожидая, подготовились к блокировкам российских IP со стороны Docker Hub.

Комментарии (1)


  1. janvarev
    08.06.2024 05:09
    +1

    А ваши проекты затрагивала блокировка от OpenAI или Docker Hub?

    Так, а где вариант "Я сам помогаю обходить ограничения OpenAI"? :))