

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 管理Amazon GameLift Servers將機群擴展至零或從零擴展
<a name="fleets_scale-to-from-zero"></a>

Amazon GameLift Servers 支援根據遊戲工作階段活動在零執行個體之間自動擴展。此受管容量選項可讓您的機群位置在沒有遊戲工作階段活動的定義期間後縮減至零個執行個體，並在請求遊戲工作階段時自動擴展。

在零執行個體之間擴展有幾個優點：
+ **成本最佳化** – 當沒有遊戲工作階段活動時，透過執行零執行個體來消除閒置期間的運算成本。
+ **自動被動橫向擴展** – 請求遊戲工作階段時，機群位置會自動橫向擴展至一個執行個體，無需手動介入。
+ **簡化管理** – 不需要根據預期的玩家需求或開發需求，手動將機群容量調整為零。

當您在機群上啟用向/從零擴展時，Amazon GameLift 伺服器會監控遊戲工作階段活動，並自動調整機群容量：
+ **向內擴展到零** – 在設定沒有遊戲工作階段活動的期間之後，將機群位置向內Amazon GameLift Servers擴展到零個執行個體。
+ **從零向外擴展** – 收到遊戲工作階段建立請求時，將機群位置向外Amazon GameLift Servers擴展到一個執行個體，允許自動擴展恢復。
+ **持續擴展** – 在橫向擴展之後，機群會使用設定的自動擴展政策繼續管理容量。

## 縮減行為
<a name="scale-in-behavior"></a>

Amazon GameLift Servers 在設定的閒置期間經過且無遊戲工作階段活動之後， 會開始機群位置的縮減程序。這定義為以下期間：
+ 機群位置中沒有作用中的遊戲工作階段。
+ 尚未提出在機群位置建立新遊戲工作階段的請求。

在縮減期間， Amazon GameLift Servers會將機群位置的最小和所需容量設定為零，快速縮減以節省成本。

## 橫向擴展行為
<a name="scale-out-behavior"></a>

當機群位置為零執行個體時收到遊戲工作階段建立請求：
+ Amazon GameLift Servers 立即啟動一個執行個體的向外擴展。
+ 嘗試放置遊戲工作階段可能會繼續使用其他機群或機群位置，具體取決於佇列的組態 （如果使用的話）。

**注意**  
從零向外擴展需要一些時間來佈建和初始化執行個體。玩家在閒置一段時間後，第一個遊戲工作階段的等待時間可能會較長。因此，此功能最適合與多位置機群和/或佇列配對。

## 設定從零開始擴展
<a name="configuring-scale-to-from-zero"></a>

向/向零擴展是透過更新現有機群來設定。

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

1. 開啟 [Amazon GameLift Servers 主控台](https://console.aws.amazon.com/gamelift/)。

1. 在導覽窗格中，選擇**託管**、**機群**。

1. 在**機群**頁面上，選擇作用中機群的名稱，以開啟機群的詳細資訊頁面。

1. 在**擴展**下，選取您要設定擴展至零或從零擴展的每個位置，然後選擇**編輯**。

1. 在**編輯擴展容量**對話方塊中，針對**最小容量策略**選取「自動」，在 **之後將最小容量設定為 0** 以分鐘為單位設定您偏好的值，然後選擇**確認**。

Amazon GameLift Servers 然後在設定的持續時間內沒有遊戲工作階段活動時，將所選機群位置縮減至 0 個執行個體。之後，當在此位置提出遊戲工作階段的請求時， Amazon GameLift Servers會盡快擴展一個執行個體。此程序需要一些時間。

------
#### [ AWS CLI ]
+ **設定向/從零擴展。**在命令列視窗中，使用 [update-fleet-capacity](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-capacity.html) 命令搭配機群 ID、位置和受管容量組態，以設定從零擴展。

  ```
  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 時，請考慮下列建議：
+ **設定適當的閒置期間** – 平衡成本節省與縮減/橫向擴展週期的頻率。擴展到零的等待時間越短，可最大限度地節省成本，但會導致更頻繁的冷啟動。
+ **與可預測的工作負載搭配使用** – 向/向零擴展最適合閒置時間很長的遊戲，例如開發/測試環境或不同離峰時間的遊戲。
+ **監控 CloudWatch 指標** – 追蹤機群擴展事件和遊戲工作階段放置時間，以最佳化您的組態。
+ **結合擴展政策** – 使用向/從零擴展與目標型或規則型自動擴展，以實現全面的容量管理。