0

In this article, Google describes a global deployment of a nodejs app in app engine flex.

This image is from the article.

enter image description here

The problem is on my understanding is this not possible from two reasons.

  1. It is not possible to access cross project resources in GCLB to create a bakend service.

  2. It is not possible to see the instance groups form GAE Flex to create a bakend service.

My first idea was to proxy all requests over nginx running on compute engine instances in each region on separate project.

How can i do that?

Thanks for any help.

Aron
  • 1,179
  • 15
  • 29
  • I am unsure what you are asking. The graph shows how it's done already, why would you want to proxy all requests over Google Compute Engine? You can simply build a Google App Engine Flex app in three different regions (three projects) and use HTTP LB to distribute requests among them. – Ying Li Nov 25 '18 at 22:18
  • @YingLi I understand the graph, but how can i do that with the cloud load balancer? I can’t see the app engine flex instance group to create a backend service. For the Cloud Load Balancer. – Aron Nov 25 '18 at 22:37
  • @Ying Li Any idea? – Aron Nov 26 '18 at 16:27
  • Oh I see what you mean, thanks for the clarification. For future issues where the instruction doesn't work due to a bug, please file the issue with us directly on the [Public Issue Tracker](https://developers.google.com/issue-tracker/#public_users) – Ying Li Nov 27 '18 at 14:40

1 Answers1

1

As you mentioned, the issue with that diagram is that, although App Engine Flex instances actually run in your project, they are not visible to you and you can't use them as backend for the global load balancer. Indeed, this diagram is wrong and can't be implemented as-is. I've requested a documentation update to correct that.

One workaround, as you also mentioned, is to proxy requests to App Engine via Compute Engine VMs running in the same region. This isn't optimal though and may introduce a single point of failure.

Since App Engine Flex actually runs Docker containers on VMs, you can achieve a similar setup using Google Kubernetes Engine, with the advantage that you can run one cluster per region, all in the same project.

LundinCast
  • 9,412
  • 4
  • 36
  • 48