Может ли Google App Engine делать HTTP-запрос экземпляру Compute Engine в рамках одного и того же проекта без внешнего IP-адреса?

В App Engine я хотел бы сделать вызовы HTTP fetch на веб-сервере, запущенном на экземпляре Compute Engine, созданном в рамках одного и того же проекта облака Google, и мне интересно, могу ли я сделать такие вызовы экземпляру без включения внешний IP для него? Являются экземплярами App Engine и Compute Engine из одного и того же проекта в одной сети и могу ли я вызвать экземпляр Compute Engine по имени из App Engine?

Ответ 1

В настоящее время он не поддерживается. Связь между App Engine и GCE должна проходить через API URLFetch и использовать общедоступный IP-адрес.

Ответ 2

Лучший способ решить это в краткосрочной/среднесрочной перспективе - развернуть VM как бэкэнд на основе VM (мы принимаем TT-приложения). Вы можете развернуть сервер VM как другой модуль App Engine приложения. Затем вы можете ввести urlfetch "mymodule.myapp.appspot.com" из внешнего интерфейса, и он попадет на вашу виртуальную машину, не пройдя публичный IP-адрес.

Вы также можете обслуживать свое приложение прямо с сервера VM. Там вы можете загружать классы, которые блокируются обычной песочницей App Engine (и также имеют полный доступ ко всем API-интерфейсам App Engine!). Недостатком с VM-серверами является то, что мы еще не имеем автомасштабирование.