Комментируя ниже все 4 варианта, которые вы упомянули
- У нас уже есть nginx, работающий на вычислительной виртуальной машине, поэтому настройка
обратный прокси для https://www.myapp.com/v2 казалось хорошей идеей в
во-первых, но кажется, что в настоящее время нет возможности получить доступ к Cloud
Запустите из Compute через частный IP-адрес, чтобы запрос должен был выйти
через Интернет замедляет работу (также не уверен, что обратное
проксирование на внешний URL вызовет проблемы с аутентификацией
и т.д?)
Технически это правильно, вы можете настроить службу Cloud Run на прием трафика только из VPC (это называется параметрами Ingress, вы можете прочитать об этом в документе здесь [1]). И когда вы это сделаете, ваша служба Cloud Run продолжит работать с общедоступным URL-адресом (тот, который создается при развертывании службы).Но этот URL-адрес доступен только из VPC, и даже если кажется, что клиент будет звонить в интернет-сервис, этот трафик остается в нашей сети и никогда не покидает нашу магистраль, поэтому технически это не должно увеличивать задержку.
- С https://v2.myapp.com/books вариант, кажется, что сопоставление
пользовательские домены для Cloud Run все еще находятся в предварительной версии, поэтому я
не решается использовать его в производственной системе, также в идеале мы бы
хотели бы использовать наш собственный SSL-сертификат, который, похоже, не
поддерживается.
Я бы не рекомендовал использовать функцию предварительного просмотра в производственной среде, поскольку существует риск того, что эта функция изменится несовместимым образом. Что касается использования ваших собственных SSL-сертификатов, вы можете развернуть HTTP LoadBalancer перед вашей службой Cloud Run (которая настроена как частная) и настроить LoadBalancer в соответствии со своими потребностями.
- Вариант хостинга Firebase кажется немного сложным
а также имеет тайм-аут запроса 60 с, что слишком мало для некоторых
видео загрузки и т.д. мы получаем.
Я не очень хорошо знаком с Firebase.
- Балансировщик нагрузки для NEG добавит немного больше сложности/стоимости, но это
похоже другой вариант. Похоже, бессерверные NEG не могут
подключаться к вычислительным ресурсам, а управляемые виртуальные машины NEG не могут подключаться к Cloud Run, поэтому
мне нужен один из каждого в этом случае?
Параметр LoadBalancer выглядит сложным, но на самом деле это не так, вы можете использовать что-то вроде Terraform для предоставления LoadBalancer, вам нужно сделать это только один раз.
Надеюсь, это поможет пролить свет на ваши варианты
[1] https://cloud.google.com/run/docs/securing/ingress