Amazon GameLift
Developer Guide (Version )

Tips on Automatic Scaling

The following suggestions can help you get the most out of automatic scaling.

Use multiple policies

You can have multiple automatic scaling policies in force for a fleet at the same time. The most common scenario is to have one policy to manage scaling up and one to manage scaling down. However, there are no limits on combining policies.

Multiple policies behave independently. Keep in mind that there is no way to control the sequence of scaling events. For example, if you have multiple policies driving scaling up, it is possible that player activity could trigger multiple scaling events simultaneously. For example, the effects of two scale up policies can easily be compounded if it is possible for player activity to trigger both metrics. Also watch for policies that trigger each other. For example, you can create an infinite loop if you create scale up and scale down policies that sets capacity beyond the threshold of each other.

Set maximum and minimum capacity

Each fleet has a maximum and minimum capacity setting. This feature is particularly important when using automatic scaling. Automatic scaling will never set capacity to a value outside of this range. By default, newly created fleets have a minimum of 0 and a maximum of 1. For your automatic scaling policy to affect capacity as intended, you must increase the maximum value.

Fleet capacity is also constrained by limits on the fleet's instance type and on your AWS account. You cannot set a minimum and maximum that is outside the service and account limits.

Track metrics after a change in capacity

After changing capacity in response to an automatic scaling policy, Amazon GameLift waits ten minutes before responding to triggers from that policy. This wait allows Amazon GameLift time to add the new instances, launch the game servers, connect players, and start collecting data from the new instances. During this time, Amazon GameLift continues to evaluate the policy against the metric and track the evaluation period, which restarts once a scaling event is triggered. This means that a scaling policy could trigger another scaling event immediately after the wait time is over.

There is no wait time between scaling events triggered by different automatic scaling policies.