1

I setup a load balancer following these instructions. The network endpoint group points to an AppEngine app and everything runs smooth. Now, I ported that same AppEngine app to a Cloud Run service. It deploys and works perfectly using the xxxx.run.app URL. Then I updated the network endpoint group to use the Cloud Run instead of AppEngine, and after a few minutes when calling the load balancer I get this error:

404. That’s an error.

The requested URL was not found on this server. That’s all we know.

(and the little broken robot :) )

I don't see logs in the cloud run so it means it doesn't even get to to the cloud run instance. I changed it back to AppEngine and after a couple of minutes works fine.

Is there anything else or different I need to setup for Google Cloud Run?

Thanks!

Super Kai - Kazuya Ito
  • 22,221
  • 10
  • 124
  • 129
Neurus
  • 657
  • 4
  • 27
  • Did you deploy Cloud Run with a special configuration? Can you share your URL map configuration and your backend configuration? – guillaume blaquiere Feb 12 '21 at 12:50
  • Thanks @guillaumeblaquiere - Where do I check the URL map configuration? If you refer to URL mask, I didn't setup any... - In the backend I have one serverless neg with http type and pointing to the AppEngine now (was pointing to the Cloud Run). Not sure if there is any cli command to list the configuration for you to check it – Neurus Feb 12 '21 at 18:47
  • Ok, no worries. I guess you let the default rule. on any host/any path you forward to your unique backend (serverless NEG) right? – guillaume blaquiere Feb 12 '21 at 19:27
  • Yes - I just followed the tutorial on the link. The only difference is that I used APpEngine first (which worked fine) then when switched to Cloud Run, it gives that error – Neurus Feb 12 '21 at 19:29
  • 1
    Did you select HTTPS as backend protocol? – guillaume blaquiere Feb 12 '21 at 19:49
  • Thanks @guillaumeblaquiere. Under the backend configuration, HTTP is selected as the protocol (for an https load balancer), could that be the problem? https://paste.pics/BM0FU – Neurus Feb 15 '21 at 21:20
  • Yes, it could be the issue. Can you test with HTTPS? – guillaume blaquiere Feb 15 '21 at 21:29
  • Thanks @guillaumeblaquiere I changed it to HTTPS, still same issue :( – Neurus Feb 16 '21 at 07:58
  • same issue for me, even following @guillaumeblaquiere 's answer here https://stackoverflow.com/questions/65877067/gcp-load-balancing-with-api-gateway-returning-404 no success at all :\ – Gianfranco Reppucci Feb 26 '21 at 10:28

3 Answers3

1

Try not to use europe-west1 region. I was facing the exact same problem, and got the LB in front of a serverless cloud run NEG working when I switched everything to europe-west4 or us-central1, for example.

poogrtfx
  • 21
  • 1
  • Thanks, I am using europe-west6. I had other issues as well, opened a case at Google Support and it was an internal issue that took like 2.5 days to get fixed. Not very impressed with Google Cloud Support. – Neurus Mar 29 '21 at 00:16
  • Thanks for your input! Was it long ago? I'm still seeing issues on europe-west1 – poogrtfx Mar 29 '21 at 13:33
0

I have just experienced the same problem. Wanted to have separate load balancers for two separate serverless services. When both where set up in the same region it did not work. Setting up everything on the load balancer side (neg, be-service) in a separate region it worked as expected.

I did not change regions for the actual service which the be-service points towards.

Proagh
  • 26
  • 2
-1

Try to access your load balancer external ip address with "https" or "http":

For example:

https://33.149.231.37/
http://33.149.231.37/
Super Kai - Kazuya Ito
  • 22,221
  • 10
  • 124
  • 129