Бессерверный соединитель VPC от appengine (europe-west1) для вычислительного движка в США-central1

#google-app-engine #google-cloud-platform #google-compute-engine #vpc

#google-app-engine #google-облачная платформа #google-compute-engine #vpc

Вопрос:

У меня есть стандартная служба App Engine (2-го поколения) в Европе -west1. У меня также есть служба GKE за балансировщиком нагрузки в США-central1. Чтобы подключиться к балансировщику нагрузки, я настроил VPC-коннектор в europe-west1 и обновил app.yaml службы app engine с необходимой конфигурацией VPC-коннектора, однако служба не может подключиться к балансировщику нагрузки. Сбой запроса с ошибкой тайм-аута.

Существует ли ограничение зоны / региона для бессерверных VPC-коннекторов? Я могу успешно подключиться к балансировщику нагрузки из бессерверной функции в том же регионе с помощью другого соединителя VPC в том же регионе.

Комментарии:

1. Соединитель должен быть расположен в том же проекте и регионе, что и подключающаяся к нему бессерверная служба, если вы не используете общий VPC.

2. Спасибо. В документации говорится, что это относится только к некоторым ресурсам, таким как CloudSQL и Memorystore. Это неправильно и применимо ли это ко всем?

3. Если вы создаете облачную функцию в том же регионе, что и ваш App Engine, вы можете использовать тот же соединитель VPC (не нужно создавать новый). В этом случае проверьте, можете ли вы с помощью своей функции получить доступ к вашему балансировщику нагрузки (тот же IP и порт, которые вы используете в коде App Engine). Проблема может возникнуть из-за разных правил VPC или брандмауэра

4. Да, функция и соединитель находятся в одном регионе, поэтому он работает как ожидалось, и это тот случай, когда служба app Engine также находится в том же регионе. Я не был уверен, автоматически ли создание соединителя устанавливает межрегиональные правила выхода. Я изучаю возможность обновления правил выхода соединителя, чтобы попасть в LB в us-central1, и, при необходимости, правил входа, чтобы LB принимал запросы от соединителя europe-west1

Ответ №1:

Вопрос больше связан с исходящим трафиком от соединителя VPC, а не с входящим трафиком на соединитель из бессерверной службы. Ответ включает комментарии в вопросе.

Брандмауэр VPC connector, похоже, не ограничивает исходящий трафик регионом, в котором находится соединитель, поэтому проблема может быть в брандмауэре балансировщика нагрузки, ограничивающем входящий трафик регионом, в котором он находится.

Что сбивало с толку, так это то, что, несмотря на то, что VPC-коннектор и служба app Engine находятся в одном регионе, запрос к соединителю завершается ошибкой с таймаутом, что указывает на невозможность подключения к соединителю. Эта интерпретация, скорее всего, неверна, и, скорее всего, соединитель был поврежден, но время ожидания истекло, перенаправляя запрос на балансировщик нагрузки из-за ограничения брандмауэра балансировщика нагрузки