Choosing Amazon GameLift compute resources - Amazon GameLift

Choosing Amazon GameLift compute resources

To deploy your game servers and host game sessions for your players, Amazon GameLift uses Amazon Elastic Compute Cloud (Amazon EC2) resources called instances, or your physical hardware. When setting up a new fleet using instances, decide what type of instances you need and how to run game server processes on them. When an managed EC2 fleet is active and ready to host game sessions, you can add or remove instances as needed to accommodate player demand.

You can deploy your Amazon GameLift game servers on a combination of two compute types:

  • Managed EC2 – Managed EC2 fleets use Amazon EC2 instances to host your game servers. Amazon GameLift manages the instances and removes the burden of hardware and software management from hosting your games.

  • Amazon GameLift Anywhere – Amazon GameLift Anywhere fleets use your existing infrastructure to host game servers while Amazon GameLift manages your matchmaking and queues.

When you choose the compute resources for your fleet, consider the following factors:

Available hardware

Consider the existing infrastructure in your implementation. While you migrate games to Amazon GameLift, you can continue to use your infrastructure. With Amazon GameLift Anywhere, you can use your own infrastructure along with Amazon GameLift managed EC2 instances. You can also use your existing infrastructure to host games closer to your players than supported Amazon GameLift locations can allow. For more information about setting up Amazon GameLift Anywhere fleets, see Create a Amazon GameLift Anywhere fleet.

Fleet location

Consider the geographic locations where you plan to deploy your game servers. Instance type availability varies by AWS Region and Local Zone.

For multi-location fleets, instance availability and quotas depend on a combination of the fleet's home Region and selected remote locations. For more information about fleet locations, see Amazon GameLift hosting locations.

For Amazon GameLift Anywhere fleets, you determine the location of your physical hardware. For more information about custom locations, see Amazon GameLift Anywhere.

On-Demand Instances versus Spot Instances

Amazon EC2 On-Demand Instances and Spot Instances offer the same hardware and performance, but they differ in availability and cost.

On-Demand Instances

You can acquire an On-Demand Instance when you need it, and keep it for as long as you want. On-Demand Instances have a fixed cost, meaning 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 cost-efficient alternative to On-Demand Instances by utilizing unused AWS computing capacity. Spot Instance prices fluctuate based on the supply and demand for each instance type in each location. AWS can interrupt Spot Instances whenever it needs the capacity back. Amazon GameLift uses queues and the FleetIQ algorithm to determine that AWS is going to interrupt a Spot Instance, it puts the instance in a recycling state. Then, when there are no active game sessions on the instance, Amazon GameLift tries to replace it.

For more information about how to use Spot Instances, see Use Spot Instances with Amazon GameLift.

Operating systems

Amazon GameLift instances support game server builds that run on Microsoft Windows or Amazon Linux. When you upload a game build to Amazon GameLift, specify the operating system for the game. When you create an Amazon EC2 fleet to deploy the game build, Amazon GameLift automatically sets up instances with the build's operating system. For more information about supported game server operating systems, see Development support with Amazon GameLift.

When using a Amazon GameLift Anywhere fleet, you can use any operating system that your hardware supports. Amazon GameLift Anywhere fleets require you to deploy your game build to the hardware while using Amazon GameLift to manage your resources in one place.

Instance types

An Amazon EC2 fleet's instance type determines the kind of hardware that the instances use. Different instance types offer different combinations of computing power, memory, storage, and networking capabilities.

When choosing from available instance types for your game, consider:

  • The compute architecture of your game server: x64 or Arm (AWS Graviton).

    Note

    Graviton Arm instances require an Amazon GameLift server build on Linux OS. Server SDK 5.1.1 or newer is required for C++ and C#. Server SDK 5.0 or newer is required for Go. These instances provide no out-of-the-box support for Mono installation on Amazon Linux 2023 (AL2023) or Amazon Linux 2 (AL2).

  • The computing, memory, and storage requirements of your game server build.

  • The number of server processes that you plan to run per instance.

By using a larger instance type, you may be able to run multiple server processes on each instance. This can reduce the number of instances required to meet player demand.

For more information:

Service quotas

To see the default service quotas for Amazon GameLift, and the current quotas for your AWS account, do the following:

  • For general service quota information for Amazon GameLift, see Amazon GameLift endpoints and quotas in the AWS General Reference.

  • For a list of available instance types per location for your account, open the Service quotas page of the Amazon GameLift console. This page also displays your account's current usage for each instance type in each location.

  • For a list of your account's current quotas for instance types per Region, run the AWS Command Line Interface (AWS CLI) command describe-ec2-instance-limits. This command returns the number of active instances that you have in your default Region (or in another Region that you specify).

As you prepare to launch you game, fill out a launch questionnaire in the Amazon GameLift console. The Amazon GameLift team uses the launch questionnaire to determine the correct quotas and limits for your game.