Статический IP-адрес для доступа к API машинного обучения GCP через поток gRPC через HTTP/2
Мы живем за корпоративным прокси / брандмауэром, который может использовать только статические IP-правила, а не FQDN. Для нашего проекта нам нужно получить доступ к Google Speech To Text API:https://speech.googleapis.com
. Если за пределами корпоративной сети, мы используем для этого поток gRPC через HTTP/2.
Идеальный сценарий выглядит так:Corporate network -> static IP in GCP -> forwarded gRPC stream to speech.googleapis.com
Мы пытались создать глобальный статический внешний IP-адрес, но не смогли настроить балансировщик нагрузки, поскольку он может подключаться только к виртуальным машинам, а не к API.
В качестве альтернативы мы думали использовать вывод nslookup speech.googleapis.com
Диапазоны IP-адресов и обновляйте их ежедневно, хотя это кажется довольно "грязным".
Я знаю, что мы можем настроить ресурс / виртуальную машину вычислительного механизма и пересылать трафик, но это тоже не кажется изящным решением. Желательно, чтобы мы могли добиться этого с помощью существующих сетевых компонентов GCP.
Большое спасибо за любые указатели!
2 ответа
Нашли решение благодаря умным сетевым инженерам из Google, разместившим здесь ссылку для дальнейшего использования:
Вы можете использовать CNAME во внутреннем DNS, чтобы указать *.googleapis.com на private.googleapis.com. Эта запись в общедоступном DNS указывает на два общедоступных IP-адреса (199.36.153.8/30), которые недоступны из общедоступного Интернета, а доступны только через VPN-туннель или облачное соединение.
Итак, если настройка VPN-туннеля для проекта в GCP возможна (и это должно быть довольно просто, см. https://cloud.google.com/vpn/docs/how-to/creating-static-vpns), тогда это должен решить проблему.
Google не публикует блок CIDR для вашего использования. Попытки внести IP-адреса в белый список будут ежедневно. Большинство API-сервисов Google обслуживаются через Global Frontend (GFE). При этом для маршрутизации трафика используются заголовки HTTP Host, а не IP-адреса, что приведет к сбою маршрутизации.
Проблемой может быть поиск IP-адресов. DNS не обязательно возвращать все IP-адреса для разрешения имен при каждом вызове. Это означает, что поиск в DNS может вернуть один набор адресов сейчас и другой набор через час. Это крайний пример огорчения, которое вы вызовете из-за занесения IP-адресов в белый список.
Решение: обратитесь к поставщику брандмауэра.