Google Cloud Load Balancer с подстановочным знаком

Например, существуют следующие приложения, развернутые как службы App Engine и Cloud Run.

А)app-1-apiкак сервис Cloud Run

Б)app-2-apiкак служба App Engine

С)app-1-frontendприложение NextJS в качестве службы Cloud Run

Д)app-2-frontendстатический веб-сайт, размещенный как сервис Cloud Run

Я нашел статью , в которой описывается, как бессерверные NEG с Google Cloud Balancer могут объединить все эти сервисы в одном домене. Я хотел бы добиться следующей маршрутизации:

  1. Просьба кapi.example.comдолжен попасть в сервисA

  2. Просьба кreporting-api.example.comдолжен попасть в сервисB

  3. Просьба кreporting.example.comдолжен попасть в сервисD

  4. Если запрос соответствует пути*.example.comи ни один из путей 1–3, тогда запрос должен попасть в сервисC.

Я не нашел ничего о поддомене с подстановочными знаками в 4. Возможно ли все это? Если нет, какие альтернативы GCP существуют?

Спасибо.

1 ответ

Имя того, что вы ищете, — URL-карта.

Карты URL-адресов используются со следующими продуктами Google Cloud:

  • Внешняя балансировка нагрузки HTTP(S) (глобальный, региональный и классический режимы)

  • Внутренняя балансировка нагрузки HTTP(S)

  • Директор по трафику

Имя хоста должно быть полным доменным именем (FQDN). Имя хоста не может быть адресом IPv4 или IPv6. Например:

Работает: example.com

Работает: web.example.com

Работает: *.example.com

Не работает: 35.244.221.250

Проверьте ссылку о том, как добавить правило хоста.

Прежде чем приступить к работе с картой URL-адресов, ознакомьтесь с концепциями карты URL-адресов., такой как:

  1. Как работают карты URL-адресов
  2. Именование
  3. Компоненты карты URL-адресов
  4. URL-перенаправления

Например, с помощью внешнего балансировщика нагрузки HTTP(S) вы можете использовать одну карту URL-адресов для маршрутизации запросов к различным местам назначения на основе правил, настроенных в карте URL-адресов:

Запросы к https://example.com/video направляются в одну серверную службу.

Запросы https://example.com/audio передаются в другую серверную службу.

Запросы к https://example.com/images передаются в серверную корзину Cloud Storage.

Запросы на любую другую комбинацию хоста и пути передаются внутренней службе по умолчанию.