Адского гнева маленький й̶у̶х̶ пост!
Все полезные сервисы Пивного Четверга (чат-боты, сайты, дата-скрапперы, etc.) развернуты на облачном сервере одного достаточно известного в РФ хостера, имя которого мы не будем называть, так как о̶н̶о̶ ̶с̶л̶и̶ш̶к̶о̶м̶ ̶и̶з̶в̶е̶с̶т̶н̶о̶е̶ автор не видит в этом никакого смысла. Таких хостеров - масса, и все плюс-минус одинаковые. И условия у всех плюс-минус одинаковые. И даже плюс-минус у всех плюс-минус всё работает. Денег за свои услуги они, к слову, просят достаточно. Не много, конечно. Но и не мало. Уверенный середнячок!
Сервер у нас был российский, ну точнее в РФ регионе. Ну чтобы и пинг поменьше, и удовольствия от использования побольше. И всё это работало ГОДАМИ, однако с началом всем известных мероприятий в феврале 2022 года пришлось р̶о̶н̶я̶я̶ ̶к̶а̶л̶ переезжать на сервер иной, не российский. Почему? Да потому что некоторые внешние сервисы просто начали отваливаться на ровном месте из-за несоответствия их ожиданиям. То ли из-за geo ip, то ли ещё из-за чего. История умалчивает. Тут бы сказать что-то хорошее или плохое, но мы не будем. Просто примем это, как факт.
И так, переезжаем. Куда переезжаем? В Нидерланды. Потому что, опять же, пинг и прочие прелести жизни В рамках того же хостера (потому что хостер заверяет, что всё будет хорошо и проблем не возникнет), просто в другом регионе. Арендуем сервер и начинаем долгий и мучительный переезд. При этом, разумеется, львиную долю инфры приходится переносить руками, потому что хостер в автоматизацию не смог (автор, к слову, в автоматизацию смог, но всё автоматизировать не представляется возможным, поэтому что-то пришлось переносить прямо "руками руками").
Кто хоть раз с сервера на сервер переезжал, тот в цирке не смеётся, особенно когда на сервере нечто большее, чем просто ваш "сайт-визитка". Местами это откровенные страдания, с которыми никто вокруг помочь не может. Ну и плюс в процессе переезда приходит осознание всего несовершенства собственной инфры и мы начинаем всенепременнейше е` модифицировать (никогда так не делайте!).
Переехали, работает. Всё работает, даже хвалёные руками поднятые сервисы, которые очень помогают жить (которые в свете последних событий нельзя называть вслух).
И, опять же, работает у нас всё прекрасно. И достаточно давно. Но вот оно! Появилась потребность поюзать один полезный забугорный сервис в одном из наших инструментов. И знаете что? А МЫ НЕ МОЖЕМ! А знаете почему мы не можем? А потому что мы, оказывается, не такие уж и Нидерланды. Если бахнуть каким-то полезным инструментом, типа whois, то мы увидим, что country: NL, но вот organisation address: RUSSIAN FEDERATION. И какому-то условному OpenAI или GitHub этого достаточно для того, чтобы не пускать нас в свой "райский сад". После этого, скорее всего, немедленно захочется попробовать в рамках этого же хостера переехать в Польшу, но и Польша не Польша :) При этом никакой RU информации whois уже не выдаёт, даже address: Jana Kochanowskiego. Но всё равно по какой-то причине и̶д̶и̶т̶е̶ ̶в̶ ̶ж̶о̶п̶у̶ вам сюда нельзя.
---
На запрос, например, такого формата - curl https://api.openai.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "OpenAI-Organization: org-BLABLABLA" \
-H "OpenAI-Project: $PROJECT_ID
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "OpenAI-Organization: org-BLABLABLA" \
-H "OpenAI-Project: $PROJECT_ID
получаем ответ - "{"error":{"code":"unsupported_country_region_territory","message":"Country, region, or territory not supported","param":null,"type":"request_forbidden"}"
---
Это только один из примеров. В рамках недели было выявлено несколько внешних источников, которые запросы от нашего сервера отбивают. Причины у всех разные, но мы-то с вами понимаем, что происходит. Точнее причина одна, обоснование разное. Но это нас не волнует, нас волнует результат. А он печальный.
И знаете, чем мы теперь занимаем своё свободное время? Переезжаем! Снова! На этот раз туда, где Нидерланды "более настоящие". И да, это лотерея. Хостеры и сами не в курсе, где у них что работает, а где - не очень. И что сегодня работает, не факт, что будет работать завтра. И никакой конкретной информации хостеры дать не могут. Нужно проверять. То есть заходим, пробуем... а дальше либо уходим пробовать где-то ещё, либо остаёмся и радуемся. Вариантов - масса! Как-то так.
Вывод: напрашивается что-то в стиле "проверяйте geo ip своих серверов перед арендой или переездом" или "арендуйте сервера у проверенного хостера", но это всё хрень. Завтра подвезут новых вводных, под которые срочно нужно будет подстраиваться, и угадать, что именно это будет, нет никакой возможности. Нужно просто принять эту информацию, как данность, и продолжить жить свою жизнь. Вот пара полезных инструментов, возможно они вам помогут с анализом ваших серверов (но это не точно):
А от себя автор разве что ещё больше автоматизаций накинуть посоветует, сам вчера ночью несколько ansible плейбуков написал. Автоматизаций много не бывает! Как говорится "зачем что-то делать несколько минут, если можно это автоматизировать за несколько часов?".
Всем добра, осень на дворе, не болейте!
p.s. хотел к посту смешную картинку добавить, сгенерированную нейросетью, но бусти тупит и ни хрена не грузит, так что и хер с ней!
A K
а научить сервисы работать с проксей сложнее, чем таскать весь зоопарк между хостерами?
не дешевле ли купить 1-2 микровпс или даже микроинстанс в амазоне, в котором включена одна неприхотливая прокся?
а сервисы которые хотят православных (или католических) IP-адресов шлют запрос в сервис через проксю, получают ответ, живут счастливо.
Nov 11 2024 15:48 
1
Пивной Четверг
Как временное решение (именно для сервисов) - это ок, как постоянное - не ок.
Первое, оно же главное - это "стабильность" работы этой самой прокси. Завтра нам её вырубят, что делать будем? Переезжать на новую проксю?
Второе - латенси. Через прокси ходить долго и "дорого".
Третье - усложнение инфры. Нужно все ходы записывать, какие сервисы через что ходят.
Ну и да, это никак не решит проблему работы тех-кого-нельзя-называть. Если у тебя сервис для, гхм, "обхода" будет "ходить в обход"... зачем это всё?
Идея в том, чтобы 1 раз переехать на нормальный сервер, 1 раз всё настроить и больше к этому не возвращаться примерно никогда (ну хотя бы несколько лет). И не танцевать с бубном костыльных решений.
Суть поста как раз в том, что на этот раз не прошло тех самых "нескольких лет", которые мы заранее закладываем в качестве лага.
Nov 11 2024 16:01
Пивной ЧетвергReplying to A K
A K,
Да какие там 10ms, там сотни будут. Некоторым сервисам это будет критично, да. Ну и, опять же, это не решение. Решение - это настоящий забугорный сервер, другого решения тут нет и не будет. Заниматься жонглированием пула проксей - это треш. Да, краулерам это нужно, они на этом механизме живут, потому что их банят. Айпишники забугорных серверов никто не банит, это никому не нужно. По крайней мере пока что не нужно.
Мы все эти механизмы уже реализовывали множество раз, это всегда боль. Один мейнтейн проксей чего стоит. Это только на словах всё красиво звучит, по факту же "переключить отвалившуюся проксю на новую" - это вообще ни разу не 5 минут дело.
Настоящий Забугорный Сервер - вот решение. Вот когда по траффику начнут сниффить и банить - тогда придётся юзать прокси.
Nov 11 2024 17:28
Пивной ЧетвергReplying to A K
A K, немедленно вспоминается старый анекдот про "рассказать я и сам могу, мне сделать надо" 

Nov 11 2024 17:39