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
}
YAML
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