Ideally you do an L3 CLOS Pod (leaf/spine) behind a SLB that directs traffic to containers on the servers running the game system. Do every container as a /32s (BGP fabric on the clos pulled down to the server - running routing on the server) and run the internal DB / app / storage on a diffent set of /32s. Towards the external router do not announce the internal DB / app / storage networks and then the world can not get to them. Redundancy is a feature of the Clos and BGP + containers. Scaling is simple if your application is built to scale with the addition of service containers.
Also 10g is cheap and the latency is much lower then 1g. Heck I know people building the 2nd design I talked about above running 50g to the servers and 6x100g from the leaf to the spines. The cost on the switchs (Broadcom Tomahawk ASIC in kit from Arista, Cisco, Juniper, whitebox) is really cheap.