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.
janvarev
Так, а где вариант "Я сам помогаю обходить ограничения OpenAI"? :))