Choosing computing resources - Amazon GameLift

Choosing computing resources

GameLift uses Amazon Elastic Compute Cloud (Amazon EC2) resources, called instances, to deploy your game servers and host game sessions for your players. When setting up a new fleet, you decide what type of instances your game needs and how to run game server processes on them (via the runtime configuration). Once a fleet is active and ready to host game sessions, you can add or remove instances at any time to accommodate more or fewer players. All instances in a fleet use the same type of resources and the same runtime configuration. You can edit a fleet's runtime configuration, but the type of resources cannot be changed.

When choosing resources for a fleet, you'll need to consider several factors, including game operating system, instance type (the computing hardware), and whether to use On-Demand or Spot Instances. Keep in mind that hosting costs with GameLift primarily depend on the type of resources you use. Learn more about GameLift pricing.

Operating systems

GameLift supports game server builds that run on either Microsoft Windows or Amazon Linux (see supported game server operating systems). When uploading a game build to GameLift, you specify the operating system for the game. When you create a fleet to deploy the game build, GameLift automatically sets up instances with the build's operating system.

The cost of resources depends on the operating system in use. Learn more about the resources available for the supported operating systems:

Instance types

A fleet's instance type determines the kind of hardware that will be used for every instance in the fleet. Instance types offer different combinations of computing power, memory, storage, and networking capabilities. With GameLift you have a wide range of instance type options to choose from. View a list of available instance types or open the Service limits page in the GameLift console to view instance types, current usage, and usage limits. To learn more about the capabilities of each instance type, see Amazon EC2 Instance Types. Note that the instance types offered may vary depending on the Region.

When choosing an instance type for your game, consider the following: (1) the computing requirements of your game server build, and (2) the number of server processes that you plan to run on each instance. You may be able to run multiple server processes on each instance by using a larger instance type, which can reduce the number of instances you need to meet player demand. However, larger instance types also cost more. Learn more about running multiple processes on a fleet.

On-Demand versus Spot Instances

When creating a new fleet, you designate the fleet type as using either On-Demand or Spot Instances. On-Demand and Spot Instances offer exactly the same hardware and performance, based on the instance type chosen, and are configured in exactly the same way. They differ in availability and in cost.

On-Demand Instances

On-Demand Instances are simply that: you request an instance and it is created for you. You can always acquire an On-Demand Instance when you need it and you can keep it as long as you want. On-Demand Instances have a fixed cost—you pay for the amount of time that you use them and there are no long-term commitments.

Spot Instances

Spot Instances can offer a highly cost-efficient alternative to On-Demand Instances by taking advantage of currently unused AWS computing capacity. The availability of Spot Instances varies, which is what can make them less expensive but also less viable for game hosting. When using Spot Instances, it is important to understand the impact of these characteristics. First, Spot prices fluctuate based on the supply and demand for each instance type in each Region. Second, Spot Instances can be interrupted by AWS (with a two-minute notification) whenever AWS needs the capacity back.

The GameLift FleetIQ feature addresses these two issues, making the use of Spot Instances viable for game hosting. Used in combination with a queue, which contains a group of fleets, FleetIQ finds the best available fleet to host each new game session. When a queue has Spot fleets, FleetIQ prioritizes using instances with the lowest cost and low chance of interruption. For example, with a queue that contains a mixture of T4, C4, and C5 Spot fleets, FleetIQ evaluates the historical interruption rates for each fleet type, and disregards the T4 fleets as not viable for game hosting. FleetIQ then evaluates the current cost of C4 and C5 Spot Instances and chooses to place the game session with the least expensive fleet.

You can view pricing history for any instance type in the GameLift console. The Spot history page graphs On-demand and Spot pricing and calculates the relative cost savings with Spot Instances. Use the controls to select an instance type, operating system, and a time range.

You can also evaluate FleetIQ's performance using queue metrics, as well as instance-specific metrics on Spot Instances. Learn more about GameLift metrics.

Learn more about how to use Spot Instances in the Using Spot Instances with GameLift.

Instance service quotas

AWS limits the total number of Amazon EC2 instances (On-Demand or Spot) that you can have in an AWS account. In addition, each instance type has a maximum limit, which varies by Region. You can extend these quotas by request.

You can access information on service quotas:

  • AWS Endpoints and Quotas lists general quota information for GameLift, as well as other AWS services.

  • Look up specific quota values for instance types per Region in the GameLift console. Go to the Service Limits page and select a Region to view quotas for the available instance types. This page also displays current usage values for each instance type in the Region.

  • Retrieve quota values for instance types per Region with the AWS CLI command describe-ec2-instance-limits. This action also returns the number for instances currently active in the Region.