I am in the initial phases of setting up a
rfc5766-turn-server TURN/STUN server, and have a few questions in anticipation of things that I will have to deal with. I am just getting started with TURN servers as well as Load Balancers, so please be gentle if my questions have "obvious" answers.
I will likely use Google Compute Engine to host the TURN sever, which from other postings that I have read should not be a problem. In the Google Compute Engine, there is a built-in load balancer that I will likely use, which leads me to the following set of questions:
1) If a load balancer is used, then presumably a relay/connection through the TURN server would require that both parties connect to the exact same server behind the load balancer (which is not guaranteed if the balancer assigns each party to a different server). Is this a valid concern, and what is the best approach to get around this problem?
2) Is each TURN server aware of it's own IP address - and if so, would it consider it's own IP address to be the load balancer IP address or it's "internal" IP address? How does the TURN server determine it's IP address?
3) What is the best way to determine if the current TURN servers are running at capacity, and therefore another TURN server instance should be launched? Is there any monitoring built into the TURN server itself, or is this best done through monitoring the CPU usage and/or other statistics on the server?
4) In the Google Compute Engine Load Balancer there are built in solutions to detect if an entire server is down. What is the best way or standard method to detect if the TURN server itself has crashed and to re-start it if necessary?
Thank you and kind regards
Alexander