

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

# 基于目标的自动扩缩
<a name="fleets-autoscaling-target"></a>

Amazon GameLift Servers 的基于目标的自动扩缩功能会根据实例集指标 `PercentAvailableGameSessions` 调整容量级别。该指标表示实例集的可用缓冲区应对玩家需求激增的情况。

维护容量缓冲区的主要原因是玩家等待时间。当游戏会话槽准备就绪并等待时，新玩家进入游戏会话需要数秒钟。如果没有资源可用，玩家必须等待现有游戏会话结束或新资源变为可用。启动新实例和服务器进程可能需要数分钟时间。

在设置基于目标的自动扩缩时，需指定您希望实例集维护的缓冲区的大小。由于 `PercentAvailableGameSessions` 衡量的是可用资源的百分比，因此实际缓冲区大小是实例集总容量的百分比。Amazon GameLift Servers 会添加或删除实例以保持目标缓冲区大小。如果缓冲区较大，则会最大程度地减少等待时间，但您也要为可能未使用的额外资源付费。如果您的玩家更能容忍等待时间，则可通过设置较小的缓冲区来降低成本。

## 设置基于目标的自动扩缩
<a name="fleets-autoscaling-policy-setting-console"></a>

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

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

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

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

1. 选择**扩展**选项卡。此选项卡显示实例集的历史扩展指标，并包含用于调整当前扩展设置的控件。

1. 在**扩展容量**下，检查**最小大小****和最大大小**限制是否适合实例集。启用自动扩缩后，容量可能会在这两个限制之间调整。

1. 在**基于目标的自动扩缩策略**中，选择**编辑**。

1. 在**编辑基于目标的自动扩缩策略**对话框中，在**可用游戏会话百分比**中，设置要保持的百分比，然后选择**确认**。在您确认设置后，Amazon GameLift Servers 会在**基于目标的自动扩缩策略**下添加新的基于目标的策略。

------
#### [ AWS CLI ]

1. **设置容量限制。**使用[update-fleet-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-capacity.html)命令设置限制值。有关更多信息，请参阅 [设置 Amazon GameLift Servers 容量限制](fleets-capacity-limits.md)。

1. **创建新策略。**打开命令行窗口，使用带有策略参数设置的[put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/gamelift/put-scaling-policy.html)命令。要更新现有策略，请指定策略的名称并提供完整版本的更新策略。

   ```
   --fleet-id <unique fleet identifier>
   --name "<unique policy name>"
   --policy-type <target- or rule-based policy>
   --metric-name <name of metric>
   --target-configuration <buffer size>
   ```

   示例：

   ```
   aws gamelift put-scaling-policy \
       --fleet-id "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa" \
       --name "My_Target_Policy_1" \
       --policy-type "TargetBased" \
       --metric-name "PercentAvailableGameSessions" \
       --target-configuration "TargetValue=5"
   ```

------