Назад | Перейти на главную страницу

Google Cloud: общий VPC и App Engine

Я использую Google Cloud со следующей настройкой:

Общий хост-проект VPC: имеет сеть под названием «production» с подсетью «app1», которая используется совместно всеми другими проектами.

Проект App1: имеет экземпляр виртуальной машины и App Engine, работающие на Node. Экземпляр виртуальной машины напрямую подключен к подсети общей сети VPC.

Проблема в том, что подключить App Engine к той же сети невозможно. Когда я вставляю параметры в app.yaml в файле указано, что сеть не может быть найдена (поиск выполняется только в текущем проекте).

Итак, как мне подключить экземпляры App Engine к виртуальной машине? Я безуспешно пытался создать пиринг в сети.

После некоторого исследования того, чего вы хотите достичь, вы можете проверить несколько моментов:

  • Прежде всего, хочу подтвердить, что приложение1 подсеть находится в том же регионе, что и приложение App Engine вы пытаетесь развернуть. Имейте в виду, что, как указано в документации, подсеть должна находиться в том же регионе, что и приложение, которое пытается к ней подключиться. В противном случае subnet not found может появиться ошибка. Вы можете указать регион (например, us-central) в вашей подсети после эти шаги; это должен быть тот же регион (us-central в этом примере), как и место, где работает ваше приложение App Engine. Вы не можете изменить регион приложения после того, как вы установили его при создании приложения, поэтому вы можете проверить, где оно находится, перейдя в App Engine Dashborard или запустив команду gcloud app describe.
  • Вы также можете пытаться Пиринг VPC, который подходит для подключения экземпляров Compute Engine к приложениям App Engine. Для этого вы можете выполнить шаги, описанные в это пошаговое руководство по настройке.

Наконец, это возможно с AppEngine Flex: https://cloud.google.com/appengine/docs/f flexible/nodejs/using-shared-vpc

В файле app.yaml используйте поле имени сетевых настроек, чтобы указать полное имя общей сети VPC:

сеть: имя: проекты / HOST_PROJECT_ID / global / networks / NETWORK_NAME

где

HOST_PROJECT_ID - это идентификатор проекта GCP главного проекта общего VPC. NETWORK_NAME - это имя общей сети VPC.

Чтобы настроить службу как часть подсети с именем SUBNETWORK_NAME, также установите> поле subnetwork_name:

network: name: projects / HOST_PROJECT_ID / global / networks / NETWORK_NAME имя_подсети: SUBNETWORK_NAME

К сожалению, вы не можете подключить Google App Engine (GAE) к общей сети через общий VPC. Из Общий VPC документы:

  • GAE Flexible в сервисном проекте, связанном с общей сетью VPC, не поддерживается.

Как было предложено, вы можете использовать Пиринг VPC или вы можете настроить VPN соединение между вашими проектами для подключения GAE к вашей виртуальной машине