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.
Minimal Example
Section titled “Minimal Example”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" } ]});
Advanced Configuration
Section titled “Advanced Configuration”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" }});
Multi-Region Deployment
Section titled “Multi-Region Deployment”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 } ]});
Instance Inbound Permissions
Section titled “Instance Inbound Permissions”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 } ]});