Мы пытаемся развернуть приложение на основе микросервиса, используя механизм приложений Google (в основном, гибкие экземпляры), имея шлюз в службе по умолчанию и несколько микросервисов, обеспечивающих бизнес-логику.Вы можете думать об этом как:
foo.appspot.com
service1.foo.appspot.com
service2.foo.appspot.com
, как это сделано здесь
Я бы хотел, чтобы службы были доступны только со шлюза (и, возможно, с нескольких других машин), а не снаружи, но я не мог заставить его работать.
Мне удалось настроить все службы в данной сети VPC, добавив правило для «Запретить весь трафик», поступающего в эту сеть, за исключением шлюза, который помечен и разрешает все.(как описано в этом ответе здесь )
Это работает для среды выполнения, однако при этом мы не можем выполнить развертывание с использованием gcloud app deploy
.(Зависает на шаге «Служба обновления»).Я попытался разрешить 22 порта, но, похоже, это не тот, который используется.Я также пытался заблокировать только порты 80 и 443, но теперь сервис-движки приложений service1 и service2 снова доступны из этого извне.
Как настроить межсетевой экран для возможности развертывания на App Engineи ограничить доступ к сервисам только шлюзом?Возможно ли это даже с помощью брандмауэра VPC, или я должен либо использовать экземпляр KCE, либо избегать использования инфраструктуры GCP и подписывать / проверять запросы самостоятельно?