管理 Amazon GameLift FleetIQ 游戏服务器组 - Amazon GameLift

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理 Amazon GameLift FleetIQ 游戏服务器组

本主题介绍设置 Amazon GameLift FleetIQ 游戏服务器组所需的任务。创建游戏服务器组会触发一个 EC2 自动扩缩组的创建,该组具有所有必要的配置设置以及用于管理游戏托管的 Amazon GameLift FleetIQ 优化的配置。

在创建游戏服务器组之前,您必须至少准备好以下资源:

  • 一个 Amazon EC2 启动模板,用于指定如何使用游戏服务器构建启动 Amazon EC2 实例。有关更多信息,请参阅《Amazon EC2 用户指南》中的通过启动模板启动实例

  • 一个 IAM 角色,可扩展对 AWS 的有限访问权限,以允许 GameLift FleetIQ 创建自动扩缩组并与之交互。有关更多信息,请参阅为跨服务交互创建 IAM 角色

创建游戏服务器组

要创建游戏服务器组,请调用 CreateGameServerGroup()。此操作会同时创建 Amazon GameLift FleetIQ 游戏服务器组和相应自动扩缩组。创建游戏服务器组时,您需要为 Amazon GameLift FleetIQ 提供特定于游戏的设置,包括平衡策略和实例类型定义。您还为自动扩缩组提供初始属性设置。

以下示例触发创建 GameServerGroup,其指定 c4.large 和 c5.large 实例类型并将该组限制为仅限竞价型实例,以及一个自动扩缩组,该组使用指定的启动模板部署实例,并使用目标跟踪自动扩展策略在最小和最大设置范围内管理组容量。短暂的预配置时段后,将创建一个 AutoScalingGroup 资源,并且 GameServerGroup 进入 ACTIVE 状态。

AWS gamelift create-game-server-group \ --game-server-group-name MyLiveGroup \ --role-arn arn:aws:iam::123456789012:role/GameLiftGSGRole \ --min-size 1 \ --max-size 10 \ --game-server-protection-policy FULL_PROTECTION \ --balancing-strategy SPOT_ONLY \ --launch-template LaunchTemplateId=lt-012ab345cde6789ff \ --instance-definitions '[{"InstanceType": "c4.large"}, {"InstanceType": "c5.large"}]' \ --auto-scaling-policy '{"TargetTrackingConfiguration": {"TargetValue": 66}}'

更新游戏服务器组

您可以更新会影响 Amazon GameLift FleetIQ 管理游戏服务器托管方式的游戏服务器组属性,包括资源类型优化。若要更新这些属性,调用 UpdateGameServerGroup()。对游戏服务器组的更改生效后,Amazon GameLift FleetIQ 可能会覆盖自动扩缩组中的某些属性。

对于所有其他自动扩缩组属性,例如MinSizeMaxSize、和 LaunchTemplate,您可以直接在自动扩缩组上修改这些属性。

在下面的示例中,更新实例类型定义以切换到 c4.xlarge 和 c5.xlarge 实例类型。

AWS gamelift update-game-server-group \ --game-server-group-name MyLiveGroup \ --instance-definitions '[{"InstanceType": "c4.xlarge"}, {"InstanceType": "c5.xlarge"}]'

跟踪游戏服务器组实例

在创建实例并将其部署到您的游戏服务器组和自动扩缩组之后,您可以通过调用 DescribeGameServerInstances() 来跟踪游戏服务器实例的状态。您可以使用此操作来跟踪实例状态。有关游戏服务器组状态的更多信息,请参阅游戏服务器组的生命周期

您还可以使用游戏服务器组下的 Amazon GameLift 控制台来监控您的游戏服务器组的状态。