GameLift AutoScaling supports:
- Target-based autoscaling (on PercentAvailableGameSessions metric) and
- Rule-based autoscaling (on a variety of different metrics)
See https://docs.aws.amazon.com/gamelift/latest/apireference/API_PutScalingPolicy.html for more information.
However, all of these metrics depend on GameSessions / PlayerSessions on the fleet being registered with the GameLift Service. If you are unable to do that, then it will not be possible to make use of GameLift Autoscaling.
Currently, there is no way to Create a GameSession & Activate it from the GameLift Server SDK alone. You are correct that, at minimum, you must make use of the
ActivateGameSession() workflow in order to create the necessary metrics (e.g. PercentAvailableGameSessions) to make autoscaling work.
In summary, you will not be able to make use of GameLift Autoscaling if you are integrating without calling one of GameLift's session placement APIs (i.e. CreateGameSession, StartGameSessionPlacement, StartMatchmaking), and will likely have to go with your proposed custom auto-scaling approach.