Running container-based games on GameLift

Hi everyone!

Since GameLift has a limit of up to 50 game sessions per hardware node, I am trying to find anyway, how can I run more than 50 sessions per node (since the limit of 50 game sessions per node is a REALLY huge waste of resources for my lightweight game).

The suggested way was to manage set up FleetIQ manually with EC2 machines (possibly with some built-in autoscaling mechanism). This way should work for us, except for one thing - in this case, we need to run raw binaries instead of containers.

If we use simple binaries, we need to work somehow with monitoring, logging, implementing blue-green or canary deployments, and so on. All these concerns can be solved in an easier way by using containers. With the “containers” word I mean Docker container in this case.

But running containers on raw EC2 instances seems like is not convenient enough: implementing things like blue-green or canary deployments is not really trivial, etc.

I am thinking about the way with AWS ECS, based on EC2 instances. In this case, I can run 1 game session per container as much per node as I can. Fargate is not applicable in my case since the minimal limits for Fargate tasks are too huge for us and it will be a waste of computing resources again.

My question is: Can I use GameLift with ECS at the same time? Why I want to use GameLift: it provides more robust Spot instances and these instances will be more suitable for the game.

P.S. I also thought about AWS EKS with something like Agones but it’s overkill for us, and managing EKS for us is too complex a task.

@JamesM_Aws I hope you can help me :slight_smile:

Take a look at this link: GitHub - aws-samples/amazon-gamelift-fleetiq-with-amazon-ecs

1 Like

@Lucian_Gutu thanks a lot for the link! Seems like exactly what I wanted to see. I am wondered, how I missed such a sample.

1 Like