Skip to content
GitHubXDiscord

ContainerFleet

The ContainerFleet resource allows you to manage AWS GameLift ContainerFleets, enabling you to deploy, scale, and manage game server containers seamlessly. For more details, refer to the AWS GameLift ContainerFleets documentation.

Create a basic ContainerFleet with required properties and a couple of optional configurations.

import AWS from "alchemy/aws/control";
const containerFleet = await AWS.GameLift.ContainerFleet("myContainerFleet", {
FleetRoleArn: "arn:aws:iam::123456789012:role/GameLiftFleetRole",
GameServerContainerGroupDefinitionName: "myGameServerGroup",
Description: "Container fleet for my multiplayer game",
InstanceConnectionPortRange: {
From: 3000,
To: 4000
},
Tags: [
{
Key: "Environment",
Value: "Production"
}
]
});

Configure a ContainerFleet with additional scaling policies and log configurations for better management and monitoring.

const advancedContainerFleet = await AWS.GameLift.ContainerFleet("advancedContainerFleet", {
FleetRoleArn: "arn:aws:iam::123456789012:role/GameLiftFleetRole",
GameServerContainerGroupDefinitionName: "myAdvancedGameServerGroup",
ScalingPolicies: [
{
Name: "ScaleUpPolicy",
PolicyType: "TargetTrackingScaling",
TargetTrackingConfiguration: {
TargetValue: 75,
PredefinedMetricSpecification: {
PredefinedMetricType: "GameLiftAveragePlayerCount"
}
}
},
{
Name: "ScaleDownPolicy",
PolicyType: "TargetTrackingScaling",
TargetTrackingConfiguration: {
TargetValue: 20,
PredefinedMetricSpecification: {
PredefinedMetricType: "GameLiftAveragePlayerCount"
}
}
}
],
LogConfiguration: {
S3Bucket: "my-log-bucket",
S3Path: "logs/",
LogLevel: "INFO"
}
});

Set up a ContainerFleet that spans multiple regions by specifying location configurations.

const multiRegionContainerFleet = await AWS.GameLift.ContainerFleet("multiRegionContainerFleet", {
FleetRoleArn: "arn:aws:iam::123456789012:role/GameLiftFleetRole",
GameServerContainerGroupDefinitionName: "myMultiRegionGameServerGroup",
Locations: [
{
Location: "us-west-2",
InstanceCount: 2
},
{
Location: "eu-central-1",
InstanceCount: 2
}
]
});

Define inbound permissions for instances in the ContainerFleet to allow traffic on specific ports.

const permissionsContainerFleet = await AWS.GameLift.ContainerFleet("permissionsContainerFleet", {
FleetRoleArn: "arn:aws:iam::123456789012:role/GameLiftFleetRole",
GameServerContainerGroupDefinitionName: "myPermissionsGameServerGroup",
InstanceInboundPermissions: [
{
IpProtocol: "tcp",
FromPort: 3000,
ToPort: 4000,
IpRange: "203.0.113.0/24" // Example CIDR block
},
{
IpProtocol: "udp",
FromPort: 5000,
ToPort: 6000,
IpRange: "203.0.113.0/24" // Example CIDR block
}
]
});