

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

# 管理缩放Amazon GameLift Servers舰队 To/From Zero
<a name="fleets_scale-to-from-zero"></a>

Amazon GameLift Servers支持根据游戏会话活动自动缩放到零实例和从零实例缩放。此托管容量选项允许您的舰队位置在规定的无游戏会话活动期限后缩减到零实例，并在请求游戏会话时自动向外扩展。

扩展到零实例和从零实例扩展有以下几个优点：
+ **成本优化** — 通过在没有游戏会话活动时运行零个实例，从而消除非活动期间的计算成本。
+ **自动响应式横向扩展** — 当请求游戏会话时，舰队位置会自动向外扩展到一个实例，无需手动干预。
+ **简化管理** — 无需根据预期的玩家需求或开发需求手动将舰队容量调整 to/from 为零。

当您在队列上启用 Scale To/From Zero 时，Amazon GameLift Servers 会监控游戏会话活动并自动调整队列容量：
+ **缩减到零 — 在**配置的时间段之后，没有游戏会话活动，将舰队Amazon GameLift Servers位置缩减为零。
+ **从零向外扩展** — 收到游戏会话创建请求后，将 Flee Amazon GameLift Servers t 位置扩展到一个实例，从而允许恢复自动缩放。
+ **继续扩展 — 扩展**后，队列将使用配置的 auto Scaling 策略恢复容量。

## 缩小行为
<a name="scale-in-behavior"></a>

Amazon GameLift Servers在配置的闲置时间已过且没有游戏会话活动之后，开始缩减舰队位置的规模。这被定义为一个时期，其中：
+ 舰队所在地没有活跃的游戏会话。
+ 尚未收到在舰队所在地创建新游戏会话的请求。

在缩减期间，Amazon GameLift Servers会将舰队所在地的最低和所需容量设置为零，并迅速扩大规模以节省成本。

## 横向扩展行为
<a name="scale-out-behavior"></a>

在舰队位置为零的情况下收到游戏会话创建请求时：
+ Amazon GameLift Servers立即启动一个实例的横向扩展。
+ 尝试在其他舰队或舰队位置放置游戏会话可能会继续，具体取决于队列的配置（如果使用）。

**注意**  
从零向外扩展需要时间来配置和初始化实例。玩家在闲置一段时间后，等待第一个游戏会话的时间可能会更长。因此，此功能最好与多地点舰队队列 and/or 搭配使用。

## 配置 To/From 零比例
<a name="configuring-scale-to-from-zero"></a>

通过更新现有队列来配置缩放 To/From 零。

------
#### [ Console ]

1. 打开 [Amazon GameLift Servers 控制台](https://console.amazonaws.cn/gamelift/)。

1. 在导航窗格中，选择**托管**，**实例集**。

1. 在**实例集**页面上，选择活跃实例集的名称以打开该实例集的详情页面。

1. 在 “**缩放**” 下，选择要为其配置 to/from 零比例的每个位置，然后选择 “**编辑”**。

1. 在 “**编辑扩展容量**” 对话框中，将 “**最小容量策略**” 选择 “自动”，在 “**之后将最小容量设置为 0” 的首选值（以**分钟为单位），然后选择**确认**。

Amazon GameLift Servers然后，一旦在配置的持续时间内没有游戏会话活动，就会将选定的舰队位置缩减为 0 个实例。此后，当在此位置发出游戏会话请求时，Amazon GameLift Servers将尽快扩展一个实例。这个过程需要一点时间。

------
#### [ Amazon CLI ]
+ **配置 to/from 零比例。**在命令行窗口中，使用带有舰队 ID、位置和托管容量配置的[update-fleet-capacity](https://docs.amazonaws.cn/cli/latest/reference/gamelift/update-fleet-capacity.html)命令来配置 to/from 零规模。

  ```
  aws gamelift update-fleet-capacity \
                                  --fleet-id <fleet identifier> \
                                  --location <location name> \
                                  --managed-capacity-configuration ScaleInAfterInactivityMinutes=60,ZeroCapacityStrategy=SCALE_TO_AND_FROM_ZERO
  ```

  示例：

  ```
  aws gamelift update-fleet-capacity \
                                  --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
                                  --location us-west-2 \
                                  --desired-instances 5 \
                                  --max-size 10 \
                                  --managed-capacity-configuration ScaleInAfterInactivityMinutes=60,ZeroCapacityStrategy=SCALE_TO_AND_FROM_ZERO
  ```

如果您的请求成功，则Amazon GameLift Servers返回更新的容量配置。 Amazon GameLift Servers然后，一旦在配置的持续时间内没有游戏会话活动，就会将选定的舰队位置缩减为 0 个实例。此后，当在此位置发出游戏会话请求时，Amazon GameLift Servers将尽快扩展一个实例。这个过程需要一点时间。

------

## 最佳实践
<a name="best-practices"></a>

使用 Scale To/From Zero 时，请考虑以下建议：
+ **设置适当的闲置时间-在成本节省与缩小/向外扩展周期**的频率之间取得平衡。缩短缩至零的等待时间可以最大限度地节省开支，但会导致更频繁的冷启动。
+ **与可预测的工作负载一起使用** — Scale To/From Zero 最适合处于明显非活动状态的游戏，例如非高峰时段明显的 development/test 环境或游戏。
+ **监控 CloudWatch 指标**-跟踪队列扩展事件和游戏会话放置时间，以优化您的配置。
+ **与扩展策略结合**使用 Scale To/From Zero 以及基于目标或基于规则的自动缩放，实现全面的容量管理。