When I created all of the above, I created a new TCP health check with the correct port and everything. After a few minutes that it updates, everything seems to work ok - 3/3 healthy instances in the load balancer and my backend is exposed via the frontend perfectly. I need only TCP health check, not HTTP.
For some reason, after a few minutes, the health check configuration keeps resetting to the default HTTP health check, that doesn't work, leaving the gateway broken, and any request returns: Error: Server Error
The server encountered a temporary error and could not complete your request.
Please try again in 30 seconds.
It's very strange, as it seems to work for a few minutes, and only after a while get broken - why???
Thanks
Apparently you can't have a TCP health check with an HTTP service. So I just created an HTTP health endpoint and directed the health check to it.