У меня есть веб-приложение / Api, которое в настоящее время работает на ресурсе Google App Engine. Поскольку вычисления API-интерфейса требуют значительных вычислительных ресурсов, я передал вычислительную часть управляемой автоматически масштабируемой группе Google Compute Engine с балансировщиком нагрузки HTTP во внешнем интерфейсе (для поддержания единого IP-адреса и балансировки нагрузки между несколькими двигатели, которые нерестятся динамически).
В настоящее время я просто выполняю HTTP-вызов на IP-адрес балансировщика нагрузки из ядра приложения. Поскольку GAE и GCE находятся в одном и том же регионе, это, однако, кажется крайне неэффективным (я знаю, что механизм приложений и вычислительные механизмы все еще находятся в двух физически разделенных центрах обработки данных). Это также создает угрозу безопасности, так как я постоянно получаю звонки от случайных IP-ботов, пытающихся использовать потенциальные лазейки в безопасности. Кроме того, я проверяю действительность токенов API только на уровне ядра приложения, так как не хочу предоставлять доступ к базе данных пользователя для механизма вычислений (по соображениям безопасности), так что это означает, что между механизмом приложения и механизмом вычислений проверка не выполняется , так что последний отвечает на все звонки, которые он получает.
Есть ли способ установить частную связь между ядром приложения и облачным движком?
Моя цель состоит в том, чтобы не открывать GCE для всего Интернета, учитывая, что он принимает звонки только с одного IP-адреса / ресурса
Я попытался внести в белый список только IP-адреса механизмов приложений, но, к сожалению, это большой блок адресов, его очень сложно получить и динамически изменять. Механизм приложений также не может использовать частный IP-адрес вычислительного механизма / серверов Google Google.
Другие креативные идеи приветствуются!