Game clients connect to an Elastic IP associated with one instance. When that Availability Zone fails, an operator must move the address by hand, and the rest of the fleet is unused. What should clients use for failover instead?
Select an answer to reveal the explanation.
Short Explanation
A street number nailed to one house does not follow the family when that block closes. Clients that use one Elastic IP reach only the instance holding it, so give them your load balancer DNS name. That name stays put and sends them to targets that are still healthy.
Full Explanation
An Elastic IP is one public address associated with one network interface. Clients that connect to it reach only the instance that holds it, and moving the address to a survivor is a manual reassociation. The address can be moved, including to another Availability Zone in the Region, but that move is not a fleet failover. The load balancer DNS name stays constant, and the balancer sends new connections to targets that pass health checks in the zones that are still up. A second Elastic IP, or a pair of addresses hard-coded in the client, makes the client responsible for a failover it was not built to do. The instance public DNS name tracks one instance, changes when that instance is replaced, and is not a stable name for the fleet. Caveat: resolvers and the game client should keep using the load balancer name, or an alias that points at it, rather than a cached address of one instance. Operational check: the name clients use should resolve to the load balancer, and stopping the instance in one zone should still let a new connection succeed through that same name.