Amazon GameLift
开发人员指南 (版本 )
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

手动设置队组容量

当您创建新的队组时,队组容量自动设置为一个实例。作为响应,Amazon GameLift 会启动一个配置了游戏服务器进程的新实例。要更改队组容量,您可以启用自动扩展,或者您可以手动设置要用于队组的实例数量。了解有关管理容量和扩展的更多信息。

当不需要自动扩展时,或者您需要临时或永久将容量保持为任意数量的实例时,手动设置队组的容量就很有用。手动设置所需容量时,请记住,仅在下面的情况下,此操作才影响实际的队组容量:(1) 队组没有自动扩展策略,或 (2) 自动扩展被禁用。如果自动扩展已启用,它将根据自己的扩展规则立即重置所需的容量。

您可以在 Amazon GameLift 控制台中或使用 AWS CLI 手动设置队组容量。队组的状态必须为活动状态

禁用自动扩展

禁用自动扩展可让您对队组关闭所有自动扩展功能并回到手动扩展。尽管您始终可以删除队组的自动扩展策略,但这项功能可让您暂时关闭自动扩展,而保留策略以供将来使用。例如,如果您想要扩展以便为即将到来的重大事件做准备,您可以禁用自动扩展,手动设置所需的队组容量,然后,一旦该事件展开,则重新启用自动扩展。当自动扩展处于禁用状态时,队组的所有自动扩展活动均将停止,包括所有当前活动的策略和以后可能创建的任何策略。您可以在 Amazon GameLift 控制台中启用/禁用自动扩展 (请参阅“手动设置容量”中的步骤 4)。

手动设置容量 (控制台)

  1. https://console.amazonaws.cn/gamelift/ 打开 Amazon GameLift 控制台。

  2. Fleets (队列) 页面上,单击活动队列的名称以打开队列的详细信息页面。(您也可以通过 Dashboard (控制面板) 访问队列的详细信息页面。)

  3. 打开 Scaling (扩展) 选项卡以查看历史扩展指标,并查看或更改当前设置。扩展设置位于指标图表下方。

  4. Auto-Scaling Policies (自动扩展策略) 下,选中复选框“Disable all scaling policies (禁用所有扩展策略)”并提交您的更改,方法是单击复选标记按钮 。此设置会停止队组的所有自动扩展操作。这是一种很好的做法,即使队组目前没有策略也不例外,因为它将阻止任何新创建的策略生效。您提交此更改后,列出活动的扩展策略的表就会指出所有策略都已“被禁用”。

  5. Auto-Scaling Policies (自动扩展策略) 下,对于选项“Manually adjust the desired instance count to...(手动将所需的实例计数调整至...)”,指定队组的实例数。此值会告知 Amazon GameLift 保持活动状态且随时可托管游戏会话的实例数量。提交更改,方法是单击复选标记按钮

    如果新的所需实例值超出了队组的容量限制,您将收到错误。在这种情况下,您必须首先调整队组的实例限制,以纳入新的所需实例计数。也可以在 Scaling (扩展) 选项卡上设置实例限量。

在您提交对实例限制和手动扩展级别的更改后,新值将立即反映在位于 Scaling (扩展) 选项卡顶部的图表中。Amazon GameLift 会立即开始通过部署其他实例或关闭不需要的实例来应对此类变化。完成此过程后,Active (活动) 实例的数量将变更以匹配刚更新的所需值。此过程可能需要一点时间。

手动设置容量 (AWS CLI)

  1. 检查当前容量设置。在命令行窗口中,使用 describe-fleet-capacity 命令以及要更改其容量的队组的队组 ID。此命令将返回 FleetCapacity 对象,其中包括当前实例计数和容量限制。确定新的实例计数是否介于最小限制和最大限制之间。

    aws gamelift describe-fleet-capacity --fleet-id <unique fleet identifier>
  2. 更新所需容量。 使用 update-fleet-capacity 命令与队组 ID 和一个新的 desired-instances 值。如果此值不在当前限制范围内,则在相同的命令中加入调整限制值。

    --fleet-id <unique fleet identifier> --desired-instances <fleet capacity as an integer> --max-size <maximum capacity for auto-scaling> [Optional] --min-size <minimum capacity for auto-scaling> [Optional]

    例如:

    aws gamelift update-fleet-capacity --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa --desired-instances 5 --max-size 10 --min-size 1

    可复制版本:

    aws gamelift update-fleet-capacity --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa --desired-instances 5 --max-size 10 --min-size 1

如果请求成功,将返回队组 ID。如果新的 desired-instances 设置超出了最小/最大限制,则会返回错误。