Requesting Clarification on Basic Concepts

TL;DR at the bottom.

I am having some trouble getting the basic concepts of fleets, instances and game sessions down.

I was originally under the impression that a fleet was just one physical/virtual machine, with the capacity of hosting as many simultaneous game sessions as the specific hardware would allow.

In this way, if I calculated that I could run ~30 game sessions on a single c4.8xlarge machine on a specific region that would mean that if I wanted to boot up an additional session I would need to launch a new fleet (and wait a long time for it to be ready).

This didn’t seem to make a lot of sense, until I came across the gamelift FAQ which specified that flexmatch may “trigger additional server instances” when trying to find a game for a client. This really confused me as I don’t think this would mean waiting for a new fleet to launch every time we hit that limit.

So does this mean that a fleet can have many instances, which are each a physical/virtual machine with the resources specified when creating the fleet? Would the potential amount of game sessions then be scaled by the usage limits of that type of fleet (2 for me in this case, allowing for up to 60 simultaneous games on that fleet)? And does this mean that flexmatch would automatically take care of starting up a new instance if needed?

Thanks in advance for any help!

TL;DR
Are fleets single machines with the defined specs or a collection of machines with those defined specs, and if so does flexmatch automatically boot up additional instances if needed?

Some basic concepts:

  • A queue can have 1 or more fleets; fleets can be in different regions, mix of Spot/OnDemand instances etc.
  • A fleet can have 1 or more instances.
  • An instance can have 1 or more processes running. Each process can host a game session.

FlexMatch finds players and groups them together in a new game session. It will won’t create new capacity directly for you.

To autoscale your fleet (to scale up/down based on demand), use target tracking rules: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling-target.html

To fix a fleet capacity you can use min, max and desired to manually scale up/down: https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-capacity-limits.html

Hope that makes sense.

1 Like

That is perfectly clear. I now know how to structure my fleets better. Thank you very much!