@keiranlovett This is a good question we’ve helped a bunch of studios with the integration between AWS GameLift and Nakama. This includes a couple of games with huge IP that you’ll see in the market this year I’m sure.
A) Would there then be a match for each AWS instance?
B) Can Nakama matchmaker handle a persistent “match” with 100-500 people?
C) It would be best to use Nakamas matchmaker to handle instancing over AWS GameLifts own matchmaker system?
I would suggest you’ll probably not want to use the Matchmaker for this coordination between AWS GameLift instances and players because while the Nakama Matchmaker knows about the live matches which run across the cluster of Nakama servers it doesn’t know anything about the instances that are live in GameLift.
While it’s not strictly speaking necessary to achieve the matchmaker placement it can be quite useful with FlexMatch otherwise there’s always a disconnect between the connected players to an AWS instance and the knowledge in the Nakama Matchmaker. There’s workarounds and strategies you can use but its tricky.
What we usually recommend is to use RPC functions in Nakama to drive the search for matches via the AWS FlexMatch service and have the function handle the search criteria, input validation, and whatever cached state you want to maintain in between matchmaking searches. You can also use this approach to drive the creation of new instances (or pre-warm a new instance) in GameLift when the current open-world instance is near to your 500 player count limit.
The combination of Nakama and AWS GameLift together for the coordination of the game world instances that are headless Unity or Unreal engine binaries works very well. Hope that helps.