AWS::GameLift::ContainerFleet ScalingPolicy - AWS CloudFormation

AWS::GameLift::ContainerFleet ScalingPolicy

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "ComparisonOperator" : String, "EvaluationPeriods" : Integer, "MetricName" : String, "Name" : String, "PolicyType" : String, "ScalingAdjustment" : Integer, "ScalingAdjustmentType" : String, "TargetConfiguration" : TargetConfiguration, "Threshold" : Number }

Properties

ComparisonOperator

Comparison operator to use when measuring a metric against the threshold value.

Required: No

Type: String

Allowed values: GreaterThanOrEqualToThreshold | GreaterThanThreshold | LessThanThreshold | LessThanOrEqualToThreshold

Update requires: No interruption

EvaluationPeriods

Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

Required: No

Type: Integer

Minimum: 1

Update requires: No interruption

MetricName

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch.

  • ActivatingGameSessions -- Game sessions in the process of being created.

  • ActiveGameSessions -- Game sessions that are currently running.

  • ActiveInstances -- Fleet instances that are currently running at least one game session.

  • AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.

  • AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.

  • CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.

  • IdleInstances -- Active instances that are currently hosting zero game sessions.

  • PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.

  • PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.

  • QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

  • WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

Required: Yes

Type: String

Allowed values: ActivatingGameSessions | ActiveGameSessions | ActiveInstances | AvailableGameSessions | AvailablePlayerSessions | CurrentPlayerSessions | IdleInstances | PercentAvailableGameSessions | PercentIdleInstances | QueueDepth | WaitTime | ConcurrentActivatableGameSessions

Update requires: No interruption

Name

A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.

Required: Yes

Type: String

Minimum: 1

Maximum: 1024

Update requires: No interruption

PolicyType

The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.

Required: No

Type: String

Allowed values: RuleBased | TargetBased

Update requires: No interruption

ScalingAdjustment

Amount of adjustment to make, based on the scaling adjustment type.

Required: No

Type: Integer

Update requires: No interruption

ScalingAdjustmentType

The type of adjustment to make to a fleet's instance count.

  • ChangeInCapacity -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity -- set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down.

Required: No

Type: String

Allowed values: ChangeInCapacity | ExactCapacity | PercentChangeInCapacity

Update requires: No interruption

TargetConfiguration

An object that contains settings for a target-based scaling policy.

Required: No

Type: TargetConfiguration

Update requires: No interruption

Threshold

Metric value used to trigger a scaling event.

Required: No

Type: Number

Update requires: No interruption