

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

# 管理Amazon GameLift Servers託管解決方案 （啟動及更高版本）
<a name="managing-hosting-solution"></a>

本節提供如何長期管理 Amazon GameLift Servers 資源的指引。成功啟動多玩家遊戲只是一個開始。管理生產託管解決方案需要持續關注效能、成本最佳化、安全性更新和玩家體驗。本節提供在生產Amazon GameLift Servers環境中執行的操作層面指導，從第一天啟動活動到長期維護和最佳化。

無論您是準備啟動、管理即時遊戲，還是最佳化已建立的託管解決方案，這些主題都可協助您維持可靠且符合成本效益的遊戲託管，以隨您的玩家群擴展。

# 使用 管理遊戲託管資源 Amazon GameLift Servers
<a name="gamelift-console-intro"></a>

管理Amazon GameLift Servers資源，包括組建、機群、遊戲工作階段佇列和配對建構器。您可以使用 Amazon GameLift Servers主控台掃描資源清單，或檢視資源詳細資訊，包括指標。您也可以使用適用於 的 AWS SDK 或 CLI AWS 擷取資源資訊 Amazon GameLift Servers 

## Amazon GameLift Servers 主控台功能
<a name="gamelift-console-features"></a>

使用 Amazon GameLift Servers主控台近乎即時地檢視和管理遊戲託管資源和持續託管活動。主控台為 服務 API 的大部分功能提供圖形界面Amazon GameLift Servers。您可以使用 主控台來：
+ **使用儀表板進行高階快照。**您可以查看所有Amazon GameLift Servers託管資源的號碼和目前狀態，並遵循連結以取得個別資源的詳細資訊。
+ **管理個別託管資源。**您可以建立、檢視和刪除所有Amazon GameLift Servers資源，並更新其可變屬性。您也可以檢視特定類型的託管活動，例如事件和效能指標。
+ **與遊戲和玩家工作階段活動互動。**您可以依機群追蹤遊戲工作階段和玩家工作階段活動，並使用此資訊來疑難排解遊戲工作階段問題。檢視遊戲工作階段的詳細資訊、檢視每個遊戲工作階段的玩家工作階段，以及在多個遊戲工作階段中查詢玩家活動。您也可以視需要關閉個別遊戲工作階段。

**Topics**
+ [Amazon GameLift Servers 主控台功能](#gamelift-console-features)
+ [在Amazon GameLift Servers主控台中託管儀表板](gamelift-console-dashboard.md)
+ [遊戲伺服器組建](gamelift-console-builds.md)
+ [Amazon GameLift Servers 主控台中的機群](gamelift-console-fleets.md)
+ [Amazon GameLift Servers 主控台中的別名](gamelift-console-aliases.md)
+ [Amazon GameLift Servers 主控台中的遊戲工作階段佇列](queues-console.md)

# 在Amazon GameLift Servers主控台中託管儀表板
<a name="gamelift-console-dashboard"></a>

使用Amazon GameLift Servers主控台儀表板來取得您 AWS 帳戶中Amazon GameLift Servers託管資源目前狀態的高階快照。**Amazon GameLift Servers 儀表板**提供下列項目的檢視：
+ 處於**就緒**、**初始化**和**失敗**狀態的組建數目。如需目前區域中建置的詳細資訊，請選擇**檢視**建置。
+ 所有狀態的機群數量。如需目前區域中**機群的詳細資訊，請選擇檢視**機群。
+ 您目前的資源。
+ 新功能和服務公告。

**開啟 Amazon GameLift Servers 儀表板**
+ 在[Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)的導覽窗格中，選擇**儀表板**。

從儀表板，您可以：
+ 選擇準備啟動並填寫對應的啟動問卷，以準備您的遊戲**以啟動**。
+ 選擇**檢視服務配額，請求增加服務配額**以準備啟動或回應啟動。
+ 在功能**焦點**中選擇連結，以檢視部落格文章和新功能的詳細資訊。

![\[儀表板會顯示目前區域中所有Amazon GameLift Servers資源的狀態。\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/gamelift-console-dashboard.png)


# 遊戲伺服器組建
<a name="gamelift-console-builds"></a>

建置資源代表您的遊戲伺服器軟體。您可以將建置套件上傳至 Amazon GameLift Servers，以部署至受管 EC2 機群。

在 Amazon GameLift Servers主控台或使用適用於 的 或 AWS 開發套件，檢視遊戲伺服器組建的相關資訊Amazon GameLift Servers。

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

在[Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)的**組**建頁面上，您可以檢視和管理已上傳至 的所有遊戲伺服器組建的相關資訊，Amazon GameLift Servers以便在受管 EC2 機群上部署。在導覽窗格中，選擇**託管**、**受管 EC2**、**建置**。

組**建**頁面顯示每個組建的下列資訊。您可以使用**偏好設定**工具視需要調整資料表內容 （請參閱資料表右上角的![\[Gear icon representing settings or configuration options.\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/settings.png)圖示）。自訂偏好設定會儲存到您的帳戶 AWS 使用者，並會在您檢視此頁面時自動套用。

**注意**  
組**建**頁面 AWS 只會顯示您目前區域中的組建。
+ **名稱** – 與上傳組建相關聯的名稱。
+ **狀態** – 組建的狀態。顯示三個狀態訊息之一：
  + **初始化** – 上傳尚未開始或仍在進行中。
  + **就緒** – 建置已準備好建立機群。
  + **失敗** – Amazon GameLift Servers在收到二進位檔之前，建置逾時。
+ **建立時間** – 您上傳建置至 的日期和時間Amazon GameLift Servers。
+ **組建 ID** – 在上傳時指派給組建的唯一 ID。
+ **版本** – 與上傳組建相關聯的版本標籤。
+ **作業系統** – 建置執行所在的作業系統。建置作業系統會決定哪些作業系統Amazon GameLift Servers安裝在機群的執行個體上。
+ **大小** – 上傳至 之建置檔案的大小，以 MB (MB) 為單位Amazon GameLift Servers。
+ **機群** – 與組建一起部署的機群數量。

您可以在此頁面進行下列任一操作：
+ 查看建置的詳細資訊。選擇組建的名稱以開啟其組建詳細資訊頁面。
+ 從建置建立新機群。選取組建，然後選擇**建立機群**。
+ 篩選和排序建置清單。使用表格上方的控制項。
+ 刪除建置。選取組建，然後選擇**刪除**。

**組建詳細資訊**  
在**建置**頁面上，選擇建置的名稱以開啟其詳細資訊頁面。詳細資訊頁面的**概觀**區段會顯示與建置頁面相同的**建置**摘要資訊。**機群**區段顯示執行建置的機群清單，包括與[**機群**頁面](gamelift-console-fleets.md)相同的摘要資訊。

------
#### [ AWS SDK ]

使用下列 AWS CLI 命令來擷取此資源的相關資訊：
+ [ListBuild](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListBuilds.html)
+ [DescribeBuild](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeBuild.html)

------

# 更新遊戲伺服器組建
<a name="gamelift-build-cli-uploading-update-build-files"></a>

當您為Amazon GameLift Servers受管 EC2 託管部署遊戲伺服器組建時，您可以上傳遊戲伺服器軟體並建立Amazon GameLift Servers組建資源。建立Amazon GameLift Servers組建之後，您可以更新組建的中繼資料，但無法自行更新組建檔案。若要將更新部署到您的遊戲伺服器組建，您必須上傳一組新的檔案，並使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html)命令建立新的Amazon GameLift Servers組建。或者，您可以使用 [https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-build.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-build.html)命令，從您控制的 Amazon S3 儲存貯體上傳新組建。然後，透過為其建立新的機群來部署新組建。

您可以更新組建的中繼資料，包括名稱和描述。對於這些任務，請使用 Amazon GameLift Servers主控台或 [https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-build.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-build.html) AWS CLI 命令。

## 自動化您的遊戲建置更新
<a name="gamelift-build-uploading-automate"></a>

請遵循這些提示，以協助自動化和簡化更新Amazon GameLift Servers受管機群遊戲伺服器組建的程序：
+ **視需要使用遊戲工作階段佇列和交換機群。**將遊戲工作階段請求傳送至 時Amazon GameLift Servers，請指定遊戲工作階段佇列，而非特定機群。使用佇列，您可以新增具有新建置的機群，並視需要移除舊機群。如需詳細資訊，請參閱[設定遊戲工作階段置放](queues-intro.md)。
+ **使用別名將玩家轉移到新的遊戲組建。**將遊戲工作階段請求傳送至 時Amazon GameLift Servers，請指定機群別名，而非機群 ID。如需詳細資訊，請參閱[建立Amazon GameLift Servers別名](aliases-creating.md)。
+ **設定 以進行反覆開發。**在遊戲開發期間，探索設定支援快速反覆開發之託管測試環境的選項。請參閱 [使用 Amazon GameLift ServersAnywhere 設定反覆開發](integration-dev-iteration.md)。

從 GitHub 上的 [Amazon GameLift Servers Toolkit](https://github.com/aws/amazon-gamelift-toolkit) 嘗試這些資源：

**快速建置更新工具 （僅用於開發）**  
此工具可協助您修改已部署在受管 EC2 機群中運算上的遊戲伺服器組建，讓您在快速開發反覆運算期間節省時間。此工具有數個選項；您可以取代整個遊戲組建或變更特定檔案，也可以管理如何在更新後重新啟動遊戲伺服器程序。您也可以使用它來更新機群中的所有運算，或鎖定個別運算。  
請造訪 GitHub 中的 Amazon GameLift Servers Toolkit 儲存庫，以取得 GitHub 中的[快速建置更新工具](https://github.com/aws/amazon-gamelift-toolkit/tree/main/fast-build-update-tool)，並進一步了解如何使用它。

**生產部署範例指令碼**  
此指令碼說明如何自動化更新在生產環境中部署在受管 EC2 機群上的遊戲伺服器組建的程序。若要使用此指令碼，您的Amazon GameLift Servers託管解決方案必須使用別名來抽象機群 IDs。範例指令碼會處理下列基本步驟：上傳更新的組建、建立新的組建並部署到新的機群、將玩家流量從現有機群重新導向到新的機群，以及刪除舊機群。自訂範例指令碼以符合您的特定部署需求。  
請造訪 GitHub 中的 Amazon GameLift Servers Toolkit 儲存庫，以取得 GitHub 中的[生產部署範例指令碼](https://github.com/aws/amazon-gamelift-toolkit/tree/main/production-deployment-sample-script)，並進一步了解如何使用。

# Amazon GameLift Servers 主控台中的機群
<a name="gamelift-console-fleets"></a>

機群資源代表一組與 一起部署並執行遊戲伺服器的運算機器。根據您的託管解決方案，您可能擁有受管 EC2 機群、受管容器機群、 Anywhere 機群或組合。

在 Amazon GameLift Servers主控台或使用適用於 的 或 AWS 開發套件，檢視機群的相關資訊Amazon GameLift Servers。

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

您可以在 AWS 您的帳戶Amazon GameLift Servers下檢視為託管遊戲而建立的所有機群的相關資訊。在主控台的左側導覽中，尋找您想要的託管選項 (Anywhere、Managed EC2、Managed Container)，然後選擇**機群**。

對於每個託管選項，**機群**頁面會列出目前所選 AWS 區域中的機群。從**機群**頁面，您可以建立新的機群或檢視機群的其他詳細資訊。機群[的詳細資訊頁面](gamelift-console-fleets-metrics.md)包含用量資訊、指標、遊戲工作階段資料和玩家工作階段資料。您也可以編輯機群記錄或刪除機群。

**機群**頁面預設會顯示下列摘要資訊。您可以使用**偏好設定**工具視需要調整資料表內容 （請參閱資料表右上角的![\[Gear icon representing settings or configuration options.\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/settings.png)圖示）。自訂偏好設定會儲存到您的帳戶 AWS 使用者，並會在您檢視此頁面時自動套用。
+ **ID** – 指派給機群的識別符。此 ID 在建立機群 AWS 區域 的 中是唯一的。
+ **名稱** – 提供給機群的易記名稱。
+ **狀態** – 機群的狀態：**新增**、**下載**、**建置**和**作用中**。
+ **建立時間** – 建立機群的日期和時間。
**注意**  
若機群是在 90 天以前所建立，則機群會顯示警告圖示。我們建議的最佳實務是每 30 天更換一次機群，讓您託管的遊戲伺服器保持在安全且最新的執行時期環境中。如需準則，請參閱[Amazon GameLift Servers 的安全最佳實務](security-best-practices.md)。
+ **機群類型** – 用來託管遊戲的執行個體可用性，這可能會影響託管成本。受管機群可以使用**隨需** （一律可用） 或 **Spot** （可用性有所不同） 執行個體。
+ **作用中執行個體** – 機群正在使用的 EC2 執行個體數量。
+ **所需執行個體** – 要保持作用中的 EC2 執行個體數量。
+ **遊戲工作階段** – 在機群中執行的作用中遊戲工作階段數目。資料會延遲五分鐘。
+ **玩家工作階段** – 機群中作用中玩家工作階段的數量。資料會延遲五分鐘。

------
#### [ AWS SDK ]

使用下列 AWS CLI 命令來擷取此資源的相關資訊：
+ 受管 EC2 機群
  + [ListFleets](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListFeets.html)
  + [ListCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListCompute.html)
  + [DescribeFleetAttributes](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeFleetAttributes.html)
  + [DescribeCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeCompute.html)
  + [DescribeFleetCapacity](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeFleetCapacity.html)
  + [DescribeFleetUtilization](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeFleetUtilization.html)
+ 受管容器機群
  + [ListContainerFleets](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListContainerFleets.html)
  + [DescribeContainerFleet](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeContainerFleet.html)
  + [ListContainerGroupDefinitions](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListContainerGroupDefinition.html)
  + [DescribeContainerGroupDefinition](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeContainerGroupDefinition.html)
+ 
  + [ListFleets](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListFeets.html)
  + [ListCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListCompute.html)
  + [DescribeFleetAttributes](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeFleetAttributes.html)
  + [DescribeCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeCompute.html)

------

# 更新Amazon GameLift Servers機群組態
<a name="fleets-editing"></a>

使用 Amazon GameLift Servers主控台或 AWS CLI 更新您的機群設定、變更遠端位置或刪除機群。對於受管機群，您無法變更機群的遊戲伺服器建置或執行個體類型。您必須取代機群。

**Fast Build Update Tool （僅用於開發）**  
使用受管 EC2 機群，若要部署遊戲伺服器建置更新，您需要將每個新建置上傳至 ，Amazon GameLift Servers並為其建立新的機群。  
快速建置更新工具可讓您在開發期間略過這些步驟，節省時間並加快開發反覆運算速度。使用此工具，您可以快速更新現有機群中所有運算的遊戲建置檔案。此工具有數個選項；您可以取代整個遊戲組建或變更 6 個特定檔案，也可以管理如何在更新後重新啟動遊戲伺服器程序。您也可以使用它來更新機群中的個別運算。  
若要取得快速建置更新工具並進一步了解如何使用，請造訪 Github 中快速[建置更新工具](https://github.com/aws/amazon-gamelift-toolkit/tree/main/fast-build-update-tool)Amazon GameLift Servers的工具組儲存庫。

您可以使用Amazon GameLift Servers主控台或 AWS CLI 更新可變機群屬性、連接埠設定和執行時間組態。若要變更擴展限制，請參閱 [使用 Amazon GameLift Servers 自動調整機群容量的規模](fleets-autoscaling.md)。

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

1. 在[Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)的導覽窗格中，選擇**機群**。

1. 選擇您要更新的機群。機群必須處於 `ACTIVE` 狀態，才能編輯它。

1. 在機群詳細資訊頁面的下列任一區段中，選擇**編輯**。
   + **機群設定**
     + 變更機群屬性，如 **Name (名稱)** 和 **Description (說明)** 等。
     + 新增或移除 **Amazon CloudWatch 用來追蹤多個機群彙總指標的指標群組**。 Amazon CloudWatch Amazon GameLift Servers 
     + 更新**資源建立限制**設定。
     + 開啟或關閉遊戲工作階段的防護。
   + **執行期組態** – 您可以變更執行期組態的任何下列設定，並新增或移除執行期組態。
     + 變更遊戲伺服器的**啟動路徑**。
     + 新增、移除或變更選用的**啟動參數**。
     + 變更遊戲伺服器執行的**並行程序**數目。
   + **遊戲工作階段啟用** – 透過更新**最大並行遊戲工作階段啟用和新啟用逾時，變更您希望伺服器程序執行和託管遊戲工作階段**的方式。 ****
   + **EC2 連接埠設定** – 更新允許機群傳入存取的 IP 地址和連接埠範圍。

1. 選擇**確認**以儲存變更。

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

 

使用下列 AWS CLI 命令來更新機群：
+ [update-fleet-attributes](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-attributes.html)
+ [update-fleet-port-settings](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-fleet-port-settings.html)
+ [update-runtime-configuration](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-runtime-configuration.html)

------

# 更新機群位置
<a name="fleets-update-locations"></a>

您可以使用Amazon GameLift Servers主控台或 CLI 新增或移除機群的 AWS 遠端位置。您無法變更機群的主區域。

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

1. 在[Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)的導覽窗格中，選擇**機群**。

1. 選擇您要更新的機群。機群必須處於 `ACTIVE` 狀態，才能編輯它。

1. 在機群詳細資訊頁面上，選擇**位置**索引標籤以檢視機群的位置。

1. 若要新增新的遠端位置，請選擇**新增**，然後選取您要部署執行個體的位置。此清單不包含機群執行個體類型無法使用的執行個體。

1. 選取新位置後，選擇**新增**。 會將新位置Amazon GameLift Servers新增至清單，並將狀態設為 `NEW`。Amazon GameLift Servers然後開始在每個新增的位置佈建執行個體，並準備託管遊戲工作階段。

1. 若要從機群中移除現有的遠端位置，請使用核取方塊來選取一或多個列出的位置。

1. 選取一或多個機群後，選擇**移除**。移除的位置會保留在清單中，狀態設為 `DELETING`。Amazon GameLift Servers然後開始在移除的位置中終止活動的程序。如果有作用中的執行個體託管遊戲工作階段， Amazon GameLift Servers會使用遊戲伺服器終止程序來正常結束遊戲工作階段、終止遊戲伺服器，以及關閉執行個體。

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

 

使用下列 AWS CLI 命令來更新機群位置：
+ [create-fleet-locations](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-fleet-locations.html)
+ [delete-fleet-locations](https://docs.aws.amazon.com/cli/latest/reference/gamelift/delete-fleet-locations.html)

------

# 刪除機群
<a name="fleets-deleting"></a>

您可以刪除不再需要的機群。刪除機群會永久移除與遊戲工作階段和玩家工作階段相關聯的所有資料，以及收集的指標資料。或者，您可以保留機群、停用自動擴展，以及手動將機群擴展至 0 個執行個體。

**注意**  
如果機群具有 VPC 對等互連，請先呼叫 [CreateVpcPeeringAuthorization](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateVpcPeeringAuthorization.html) 來請求授權。 會在機群刪除期間Amazon GameLift Servers刪除 VPC 對等互連。

您可以使用 Amazon GameLift Servers主控台或 CLI AWS 工具來刪除機群。

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

1. 在[Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)的導覽窗格中，選擇**機群**。

1. 選擇您要刪除的機群。您只能刪除處於 `ACTIVE`或 `ERROR` 狀態的機群。

1. 選擇 **刪除**。

1. 在**刪除機群**對話方塊中，輸入 以確認刪除**delete**。

1. 選擇 **刪除**。

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

 

使用下列 AWS CLI 命令來刪除機群：
+ [delete-fleet](https://docs.aws.amazon.com/cli/latest/reference/gamelift/delete-fleet.html)

------

# Amazon GameLift Servers 主控台中的機群詳細資訊
<a name="gamelift-console-fleets-metrics"></a>

透過選擇**機群**名稱，從儀表板或**機群**頁面存取機群詳細資訊頁面。

在機群詳細資訊頁面上，您可以採取下列動作：
+ 更新機群的屬性、連接埠設定和執行時間組態。
+ 新增或移除機群位置。
+ 變更機群容量設定。
+ 設定或變更目標追蹤自動擴展。
+ 刪除機群。

## 詳細資訊
<a name="fleets-summary"></a>

**機群設定**
+ **機群 ID** – 指派給機群的識別符。此 ID 在建立機群 AWS 區域 的 中是唯一的。
+ **機群名稱** – 提供給機群的易記名稱。
+ **ARN** – 指派給此機群的唯一識別符。機群的 ARN 將其識別為 Amazon GameLift Servers 資源，並指定區域和 AWS 帳戶。
+ **描述** – 機群的簡短可識別描述。
+ **狀態** – 機群的目前狀態，可能是**新增**、**下載**、**建置**和**作用中**。
+ **建立時間** – 建立機群的日期和時間。
**注意**  
若機群是在 90 天以前所建立，則機群會顯示警告圖示。我們建議的最佳實務是每 30 天更換一次機群，讓您託管的遊戲伺服器保持在安全且最新的執行時期環境中。如需準則，請參閱[Amazon GameLift Servers 的安全最佳實務](security-best-practices.md)。
+ **運算類型** – 用來託管遊戲的運算類型。機群可以是**受管 EC2**、**受管容器**或 **Anywhere** 機群。
+ **作業系統** – 部署至機群中每個執行個體的 Amazon Machine Image (AMI)。AMI 版本是建立機群時可用的最新版本。
+ **憑證類型** – 機群使用 TLS 憑證來驗證遊戲伺服器和加密所有用戶端/伺服器通訊的能力狀態。
+ **機群類型** – 用來託管遊戲的執行個體可用性，這可能會影響託管成本。機群可以使用**隨需** （一律可用） 或 **Spot** （可用性有所不同） 執行個體。
+ **EC2 執行個體類型** – 建立機群時為機群選取的 Amazon EC2 [執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)。
+ **執行個體角色 ARN** – 如果在機群建立期間提供其他 AWS 資源，則管理存取的 AWS IAM 角色。
+ **執行個體角色登入資料提供者** – 如果在機群建立期間提供其他 AWS 資源，則管理存取的 AWS IAM 角色。
+ **指標群組名稱** – 用來彙總多個機群指標的群組。
+ **遊戲擴展保護政策** – 指出是否啟用機群的遊戲工作階段保護，以防止作用中的遊戲工作階段在縮減事件期間過早結束。
+ **每個玩家的遊戲工作階段上限** – 在**政策期間**，玩家可以建立的工作階段數目上限。
+ **政策期間** – 用於限制玩家所建立工作階段數量的時間長度。

**組建詳細資訊**  
組**建詳細資訊**區段會顯示在機群上託管的組建。選取建置名稱以查看完整的建置詳細資訊頁面。

**執行時期組態**  
**執行期組態**區段會顯示要在每個執行個體上啟動的伺服器程序。它包含遊戲伺服器可執行檔的路徑和選用的啟動參數。

**遊戲工作階段啟動**  
**遊戲工作階段啟用**區段會顯示同時啟動的伺服器程序數量，以及在終止程序之前等待程序啟用的時間。

**EC2 連接埠設定**  
**連接埠**區段會顯示機群的連線許可，包括 IP 地址和連接埠設定範圍。

## 指標
<a name="fleets-metrics-tab"></a>

**Metrics (指標)** 標籤會顯示一段時間內機群指標的圖形表示。如需在 中使用指標的詳細資訊Amazon GameLift Servers，請參閱 [使用 Amazon CloudWatch 監控 Amazon GameLift Servers](monitoring-cloudwatch.md)。

## 事件
<a name="fleets-events-tab"></a>

**Events** (事件) 標籤提供日誌機群中已發生之所有事件的日誌，包括事件程式碼、訊息和時間戳記。請參閱 Amazon GameLift Servers API 參考中的[事件](https://docs.aws.amazon.com/gamelift/latest/apireference/API_Event.html)描述。

## 擴展
<a name="fleets-scaling-tab"></a>

**擴展**索引標籤包含機群容量的相關資訊，包括目前狀態和容量隨時間變更。它還提供工具來更新容量限制和管理自動擴展。

**擴展容量**  
檢視每個機群位置的目前機群容量設定。如需變更限制和容量的詳細資訊，請參閱 [使用 擴展遊戲託管容量 Amazon GameLift Servers](fleets-manage-capacity.md)。
+ **AWS 位置** – 部署機群執行個體的位置名稱。
+ **狀態** - 機群位置的託管狀態。位置狀態必須為 `ACTIVE`，才能夠託管遊戲。
+ **最小大小** – 必須部署在該位置的最小執行個體數量。
+ **所需執行個體** – 維護位置的作用中執行個體目標數量。當作用中執行個體和所需執行個體不同時，擴展事件會開始視需要啟動或關閉執行個體，直到作用中執行個體等於所需執行個體為止。
+ **大小上限** – 可在位置中部署的執行個體數量上限。
+ **可用** – 執行個體的服務限制減去使用中的執行個體數量。此值會告訴您可新增至位置的執行個體數量上限。

**自動擴展政策**  
本節涵蓋套用至機群的自動擴展政策相關資訊。您可以設定或更新目標型政策。機群的規則型政策必須使用 AWS SDK 或 CLI 定義，如下所示。如需擴展的詳細資訊，請參閱[使用 Amazon GameLift Servers 自動調整機群容量的規模](fleets-autoscaling.md)。

**擴展歷史記錄**  
檢視一段時間內容量變更的圖表。

## 位置
<a name="fleets-location-tab"></a>

**位置**索引標籤會列出部署機群執行個體的所有位置。位置包括機群的主區域和任何已新增的遠端位置。您可以直接在此索引標籤中新增或移除位置。
+ **位置** – 部署機群執行個體的位置名稱。
+ **狀態** - 機群位置的託管狀態。位置狀態會追蹤啟動該位置第一個執行個體的程序。位置狀態必須為 `ACTIVE`，才能夠託管遊戲。
+ **作用中執行個體** - 在機群位置執行伺服器程序的執行個體數量。
+ **作用中伺服器** - 能在機群位置託管遊戲工作階段的遊戲伺服器程序數量。
+ **遊戲工作階段** – 機群位置中執行個體上作用中的遊戲工作階段數目。
+ **玩家工作階段** – 代表個別玩家的玩家工作階段數量，這些玩家正在參與機群位置中作用中的遊戲工作階段。

## 遊戲工作階段
<a name="fleets-game-sessions-tab"></a>

**Game sessions** (遊戲工作階段) 標籤列出過去和目前在機群上託管的遊戲工作階段，包括一些詳細資訊。選擇遊戲工作階段 ID 以存取其他遊戲工作階段資訊，包括玩家工作階段。如需玩家工作階段的詳細資訊，請參閱 [Amazon GameLift Servers 主控台中的遊戲和玩家工作階段](gamelift-console-game-player-sessions-metrics.md)。

# Amazon GameLift Servers 主控台中的遊戲和玩家工作階段
<a name="gamelift-console-game-player-sessions-metrics"></a>

您可以使用 Amazon GameLift Servers主控台來使用遊戲工作階段和玩家工作階段。如需遊戲工作階段和玩家工作階段的詳細資訊，請參閱 [Amazon GameLift Servers 和玩家體驗](game-sessions-intro.md)。Amazon GameLift Servers 主控台提供的資訊和工具可協助您調查遊戲工作階段的問題。

您可以做什麼：
+ 探索在特定機群上託管的遊戲工作階段和玩家工作階段活動。
+ 查詢多個機群中特定玩家的遊戲工作階段活動。
+ 關閉特定遊戲工作階段。

## 檢視遊戲工作階段詳細資訊
<a name="game-sessions"></a>

遊戲工作階段和玩家工作階段資料是由託管遊戲工作階段的機群所組織。

**存取遊戲工作階段和玩家工作階段資訊**

1. 在 [Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)中，開啟左側導覽窗格。選取託管解決方案類型並開啟**機群**頁面。例如：
   + **託管**、**隨處**、**機群**
   + **託管**、**受管 EC2**、**機群**
   + **託管**、**受管容器**、**機群**

1. 每個**機群**頁面會顯示目前所選機群的清單 AWS 區域。選擇您要檢視遊戲工作階段資料的機群。

1. 在機群的詳細資訊頁面中，開啟**遊戲工作階段**索引標籤。此索引標籤會列出在機群上託管的所有遊戲工作階段，以及摘要資訊。您可以使用**偏好設定**工具視需要調整資料表內容 （請參閱資料表右上角的![\[Gear icon representing settings or configuration options.\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/settings.png)圖示）。自訂偏好設定會儲存到您的帳戶 AWS 使用者，並會在您檢視此頁面時自動套用。

1. 從清單中選擇遊戲工作階段，以檢視其他資訊。

1. 如果遊戲工作階段包含玩家工作階段資料，請選擇**檢視玩家工作階段**，以自動填入遊戲工作階段 ID 來開啟玩家工作階段查詢工具。

**遊戲工作階段**詳細資訊包含下列資訊：
+ **狀態** – 遊戲工作階段狀態。
  + **啟用中** – 執行個體正在啟動遊戲工作階段。
  + **作用中** – 根據工作階段的玩家[建立政策，遊戲工作階段正在執行並可用於接收玩家](https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession.html)。
  + **已終止** – 遊戲工作階段已結束。
+ **ARN** – 遊戲工作階段的 Amazon Resource Name。
+ **名稱** – 為遊戲工作階段產生的名稱。
+ **位置** – Amazon GameLift Servers託管遊戲工作階段的位置。
+ **建立時間** – Amazon GameLift Servers建立串流工作階段的日期和時間。
+ **結束時間** – 遊戲工作階段結束的日期和時間。
+ **DNS 名稱** – 遊戲工作階段的主機名稱。
+ **IP 地址** – 為遊戲工作階段指定的 IP 地址。
+ **連接埠 ** – 用來連線至遊戲工作階段的連接埠號碼。
+ **建立者 ID** – 啟動遊戲工作階段之玩家的唯一識別符。
+ **玩家工作階段建立政策** – 指出遊戲工作階段是否接受新的玩家。
+ **遊戲擴展保護政策** – 在機群中Amazon GameLift Servers啟動的所有新執行個體上設定的遊戲工作階段保護類型。

**遊戲資料**  
遊戲屬性資料，格式為字串，可在開始時傳送至您的遊戲工作階段。

**遊戲屬性**  
遊戲屬性資料，格式為金鑰/值對，可在開始時傳送至您的遊戲工作階段。

**配對資料**  
如果遊戲工作階段是使用 建立FlexMatch，配對資料會描述配對組態和規則集的相關資訊。這包括每個配對的玩家屬性和團隊指派。資料為 JSON 格式。如需FlexMatch配對的詳細資訊，請參閱[建置配對建構器](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/matchmaker-build.html)。

# 查詢玩家工作階段資料
<a name="player-sessions"></a>

如果您的遊戲託管解決方案使用玩家工作階段並提供唯一的玩家 IDs，您可以探索玩家特定活動，以了解跨多個機群過去或現在的遊戲工作階段。使用下列其中一種方法開啟玩家工作階段查詢工具：
+ 在 Amazon GameLift Servers 主控台中，開啟左側導覽窗格，然後選擇**玩家工作階段查詢**，然後選取要使用的篩選條件類型。
+ 檢視機群的遊戲工作階段詳細資訊時，請選擇**檢視玩家工作階段**。查詢工具會開啟，遊戲工作階段會預先選取遊戲工作階段 ID 篩選條件，並填入遊戲工作階段值。

使用查詢工具時，您可以提供下列任何資訊：
+ 取得特定玩家工作階段相關資訊的玩家工作階段 ID。
+ 取得所請求遊戲工作階段之所有玩家工作階段相關資訊的遊戲工作階段 ID。結果代表所有預留位置或連線到遊戲工作階段的玩家。您可以依照玩家工作階段狀態選擇性地篩選結果。
+ 玩家 ID，以取得所請求玩家之所有玩家工作階段的資訊。結果代表玩家參與的所有遊戲工作階段。

**注意**  
查詢工具會搜尋目前選取的所有玩家工作階段活動 AWS 區域。如果您在 區域中有多個機群，則結果會包含所有機群的玩家工作階段活動。對於多位置機群，結果也包含機群遠端位置的玩家工作階段活動。

 

為每個遊戲工作階段收集的玩家工作階段資料如下：
+ **玩家工作階段 ID** – 指派給玩家工作階段的識別符。
+ **玩家 ID** – 玩家的唯一識別符。選擇此 ID 以取得其他玩家資訊。
+ **遊戲工作階段 ID** – 指派給遊戲工作階段的識別符。
+ **機群 ID** – 指派給託管遊戲工作階段之機群的識別符。
+ **狀態** – 玩家工作階段的狀態。以下是可能的狀態：
  + **預留** – 已預留玩家工作階段，但玩家未連線。
  + **作用中** – 播放器工作階段已連線至遊戲伺服器。
  + **已完成** – 播放器工作階段已結束；播放器不再連線。
  + **逾時** – 播放器無法連線。
+ **建立時間** – 玩家連線到遊戲工作階段的時間。
+ **結束時間** – 玩家與遊戲工作階段中斷連線的時間。
+ **連線資料** – 播放器用來連線至遊戲工作階段的 IP 地址、DNS 名稱和連接埠。
+ **玩家資料** – 在玩家工作階段建立期間提供的玩家相關資訊。

# 關閉遊戲工作階段
<a name="terminate-sessions"></a>

使用Amazon GameLift Servers主控台關閉特定遊戲工作階段。此功能為您提供一種簡單快速的方法，可讓您尋找遊戲工作階段並傳送訊號來終止它。另一種終止方法要求您找到遊戲工作階段正在執行的機群執行個體、遠端存取執行個體，以及手動關閉遊戲工作階段。

您可以因任何原因關閉遊戲工作階段。最常見的原因是解決無法自然關閉的遊戲工作階段。因此，遊戲工作階段的託管資源無法釋出來託管新的遊戲工作階段，而且機群的託管容量會降低。

**注意**  
此功能依賴於託管解決方案的特定組態設定。它有下列限制：  
遊戲工作階段必須託管在執行適用於 Amazon GameLift Servers v5 或更高版本之伺服器 SDK 的遊戲伺服器組建的機群上。如果您的遊戲伺服器是以較舊的版本部署，您需要使用遠端存取來刪除遊戲工作階段。
如果遊戲工作階段託管在 Anywhere 機群上，機群必須使用 Amazon GameLift Servers 代理程式來管理遊戲伺服器程序。

**終止遊戲工作階段**

1. 在 [Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)中，開啟左側導覽窗格。選取託管解決方案類型並開啟**機群**頁面。例如：
   + **託管**、**隨處**、**機群**
   + **託管**、**受管 EC2**、**機群**
   + **託管**、**受管容器**、**機群**

1. 每個**機群**頁面會顯示目前所選機群的清單 AWS 區域。選擇託管您要終止之遊戲工作階段的機群。

1. 在機群的詳細資訊頁面中，開啟**遊戲工作階段**索引標籤。在遊戲工作階段清單中，選取您要終止的工作階段，然後選擇**終止**按鈕。

1. 在**終止遊戲工作階段？** 視窗中，確認您已關閉正確的遊戲工作階段，並選擇終止方法。
   + 正常遊戲工作階段關閉 – 此選項會將訊號傳送至託管遊戲工作階段以關閉的伺服器程序。如果您的遊戲伺服器建置已針對 正確整合Amazon GameLift Servers，伺服器程序會啟動其遊戲工作階段關閉順序，Amazon GameLift Servers並通知其即將結束，然後停止。根據您的遊戲設計，關機順序可能包含正常完成遊戲工作階段的步驟，例如儲存資料和通知作用中玩家。此方法可能需要一小段延遲才能完成遊戲工作階段關閉序列。
   + 立即關閉遊戲工作階段 – 此選項會將訊號傳送至程序管理員，以關閉託管遊戲工作階段的伺服器程序。此選項會略過正常的遊戲工作階段關閉。即使伺服器程序無法回應，也可以終止遊戲工作階段。

1. 確認遊戲工作階段終止。您可以在**遊戲工作階段**主控台頁面上追蹤關機進度。遊戲工作階段狀態會變更為「終止」，然後在關閉完成時變更為「終止」。

**相關主題**
+ 您也可以使用 AWS SDK 和 關閉遊戲工作階段 AWS CLI。如需詳細資訊和範例，請參閱 Amazon GameLift Servers API 參考主題 [TerminateGameSession](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_TerminateGameSession.html)。
+ 如需遊戲伺服器整合以及伺服器程序如何回應來自 Amazon GameLift Servers 服務之訊號的詳細資訊，請參閱 [使用伺服器 SDK 將 Amazon GameLift Servers新增至您的遊戲伺服器](gamelift-sdk-server-api.md)。

# 更新Amazon GameLift Servers受管容器機群
<a name="containers-update-fleet"></a>

您可以更新受管容器機群的大部分屬性，包括容器群組定義。根據要更新的設定，機群更新可能會啟動新的機群部署。在機群部署中，機群中的所有執行個體都會移除，並以具有新組態的執行個體取代。需要部署的設定包括：
+ 容器群組定義，包括容器映像的更新
+ 連線連接埠範圍和傳入許可
+ 日誌組態

您可以在 [Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)或 AWS Command Line Interface (AWS CLI) 中追蹤機群部署的狀態，以建立容器機群。

**注意**  
您無法更新機群的執行時間環境。在機群建立時，機群的 Amazon Machine Image (AMI) 會設定為 Linux AMI 的最新版本。部署到此機群的所有容器映像都必須與此版本相容。若要變更機群的 AMI 或升級至較新的版本，您必須建立新的機群。根據最佳實務，建議您每 30 天替換一次機群，以維護託管遊戲伺服器的安全up-to-date執行期環境。如需詳細的指導方針，請參閱 [Amazon GameLift Servers 的安全最佳實務](security-best-practices.md)。

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

在 [Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)中，選取您要建立機群的 AWS 區域 。容器群組定義必須位於您要建立機群的相同區域。

開啟主控台的左側導覽列，然後選擇**受管容器：機群**。在受管容器機群頁面上，從清單中選擇機群，然後選擇**編輯**。

1. 視需要更新容器機群設定。完成時，請選擇 **Create** (建立)。

1. 如果您的更新需要機群部署，系統會要求您指定部署選項，如下所示：
   + 遊戲工作階段保護。您可以選擇保護具有作用中遊戲工作階段 （安全部署） 的機群執行個體。使用此設定，在遊戲工作階段結束之前，不會取代機群執行個體。或者，您可以選擇取代機群執行個體，無論遊戲工作階段活動為何 （不安全的部署）。不安全的部署在開發和測試階段非常有用，以減少部署時間。
   + 運作狀態百分比下限。您可以管理機群執行個體的取代速度。使用此設定可在部署期間維持最少量的運作狀態任務。較低的值會優先考慮部署速度，而較高的值可確保遊戲伺服器在整個部署期間保持高可用性。
   + 部署失敗策略。決定部署失敗時要採取的動作。部署失敗表示某些更新的容器狀態檢查失敗，並被視為受損。您可以設定部署，將所有機群執行個體自動復原至先前部署的狀態。或者，您可以選擇維護一些受損的機群執行個體，以用於偵錯。

如果您的請求成功，主控台會顯示受管容器機群的**部署**索引標籤。使用此索引標籤來追蹤每個部署的狀態。如果您啟動機群的新部署，此動作會自動取消機群目前正在進行的任何部署。

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

若要使用 建立容器機群 AWS CLI，請開啟命令列視窗並使用 `update-container-fleet`命令。如需此命令的詳細資訊，請參閱《 *AWS CLI 命令參考*[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/update-container-fleet.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/update-container-fleet.html)》中的 。

下列範例會更新具有下列特性的現有容器機群：
+ 它會更新遊戲伺服器容器群組定義，以使用第 2 版。
+ 它會指定安全部署選項。

```
{
  "DeploymentConfiguration": { 
    "ImpairmentStrategy": "ROLLBACK",
    "MinimumHealthyPercentage": 75,
    "ProtectionStrategy": "WITH_PROTECTION"
  },
  "FleetId": "containerfleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
  "GameServerContainerGroupDefinitionName": "arn:aws:gamelift:us-west-2:111122223333:containergroupdefinition/MyAdventureGameContainerGroup:2"
}
```

------



# 更新容器機群的Amazon GameLift Servers容器群組定義
<a name="containers-modify-groups"></a>

您可以更新容器群組定義的大部分屬性，包括個別容器定義。容器群組定義具有版本編號。當您更新容器群組定義時， 會Amazon GameLift Servers儲存更新並遞增定義的版本編號。設定容器機群時，您可以指定要部署的容器群組定義版本。

更新容器群組定義後，您可以將新版本部署到新的或現有的容器機群。

## 更新遊戲伺服器容器群組定義
<a name="containers-modify-groups-edit"></a>

本主題說明如何使用Amazon GameLift Servers主控台或 CLI AWS 工具更新遊戲伺服器容器群組定義。如需選用功能的詳細資訊，請參閱 [自訂Amazon GameLift Servers容器機群](containers-design-fleet.md)。

**若要更新容器群組定義：**

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

在 [Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)中，選取您要建立容器群組的 AWS 區域 。

開啟主控台的左側導覽列，然後選擇**受管容器：群組定義**。在容器群組定義頁面上，選擇要更新的容器群組定義和版本。

儲存更新之後，您可以使用新版本建立新的容器機群，也可以將更新部署到現有的容器機群。

**步驟 1：定義容器群組定義詳細資訊**
+ 您可以更新總記憶體和 vCPU 限制設定。

**步驟 2：新增容器定義**

您可以進行下列容器定義更新：
+ 更新現有的容器定義。
+ 新增支援容器定義。
+ 移除支援容器定義。

1. 您可以更新 **ECR 映像 URI**。請務必更新**伺服器 SDK 版本**設定，以符合新映像。

1. 您可以視需要更新**內部容器連接埠範圍**。當這些變更部署到機群時，您對這些設定所做的變更可能會影響容器機群的連線連接埠設定。如需詳細資訊，請參閱[設定網路連線](containers-design-fleet.md#containers-custom-network)。

**步驟 3：設定相依性**
+ 您可以視需要變更相依性。如需詳細資訊，請參閱[設定容器相依性](containers-design-fleet.md#containers-design-fleet-dependencies)。

**步驟 3：檢閱和建立**
+ 檢閱您的容器群組定義更新。使用**編輯**在任何區段中進行其他變更。完成後，請選擇**建立**以產生容器群組定義的新版本。

  如果您的請求成功，主控台會顯示新容器群組定義資源的詳細資訊頁面。一開始狀態為 `COPYING`，因為 會Amazon GameLift Servers開始為群組拍攝所有容器映像的快照。當此階段完成時，容器群組定義狀態會變更為 `READY`。容器群組定義必須處於 `READY` 狀態，才能使用它建立容器機群。

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

當您使用 AWS CLI 建立或更新容器群組定義時，請將容器定義組態維護在個別的`JSON`檔案中。您可以在 CLI 命令中參考 檔案。如需結構描述範例[建立容器定義`JSON`檔案](containers-create-groups.md#containers-definitions-create)，請參閱 。

更新定義時，您只需指定要更新的值。 會Amazon GameLift Servers保留您未包含在更新請求中的任何值。如果您要變更容器定義。不過，變更容器定義時，請提供完整的集合。

**更新容器群組定義**  
若要更新新的容器群組定義，請使用 CLI `update-container-group-definition` 命令。如需此命令的詳細資訊，請參閱 *AWS CLI 命令參考*中的 [update-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-container-group-definition.html)。  

**Example ：遊戲伺服器容器群組**  
您可以在擷取、更新或刪除容器群組定義時，或建立或更新容器機群時，指定容器群組定義版本。每個容器群組定義都有版本屬性。此外， 和 定義的 ARN 值會指定版本編號。  
此範例說明對遊戲伺服器容器群組定義進行變更的請求。它假設您已建立具有此群組容器定義的 JSON 檔案。此範例使用定義名稱的 ARN 值，並指定更新為版本 1。  

```
aws gamelift update-container-group-definition \
    --name arn:aws:gamelift:us-west-2:111122223333:containergroupdefinition/MyAdventureGameContainerGroup:1 \
    --operating-system AMAZON_LINUX_2023 \
    --container-group-type GAME_SERVER \
    --total-memory-limit-mebibytes 4096 \
    --total-vcpu-limit 1 \
    --container-definitions file://SimpleServer.json
```

------

## 複製容器群組定義
<a name="containers-create-groups-clone"></a>

您可以使用 Amazon GameLift Servers主控台來複製現有的容器群組定義。

**複製容器群組**

1. 在 [Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)中，前往左側導覽窗格，然後選擇**容器群組**。

1. 在**容器群組**清單頁面上，選取要複製的現有容器群組。選取容器群組後，**複製**按鈕會處於作用中狀態。

1. 選擇**複製**。此動作會使用預先填入的設定開啟容器群組建立精靈。

1. 輸入複製的容器群組的新名稱。相同區域中的容器群組必須具有唯一的名稱。

1. 逐步完成容器群組和容器定義頁面、檢閱和**建立新的**容器群組。

# 刪除容器機群的Amazon GameLift Servers容器群組定義
<a name="containers-delete-groups"></a>

您有多種刪除容器群組定義的選項。當您刪除容器群組定義時，此動作也會刪除容器群組中的所有容器定義。

容器群組定義可以有多個版本。容器群組版本具有相同的名稱，但具有不同的版本編號。容器群組定義 ARNs會同時指定名稱和版本。

您可以在擷取、更新或刪除容器群組定義時，或在建立或更新容器機群時指定容器群組定義版本。每個容器群組定義都有版本屬性。此外，定義的 ARN 值會指定版本編號。

有幾種方法可以刪除容器群組定義：
+ 您可以刪除特定定義的所有版本。
+ 您可以刪除特定定義的一個特定版本。
+ 您可以保留一些最新版本，並刪除特定定義的較舊版本。例如，您可以刪除版本 5 之前的所有版本。

只有在容器機群中未使用容器群組定義版本時，才能將其刪除。

**刪除容器群組定義**

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

在 [Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)中，選取您要建立容器群組的 AWS 區域 。

開啟主控台的左側導覽列，然後選擇**受管容器：群組定義**。在容器群組定義頁面上，選取您要修改的定義，然後選擇**刪除**。

系統會提示您選取要進行的刪除類型，並根據刪除類型指定其他設定。

------
#### [ AWS CLI ]
+ 若要刪除容器群組定義，請使用 `delete-container-group-definition` CLI 命令，並為您要執行的刪除類型提供值。如需此命令的詳細資訊，請參閱 *AWS CLI 命令參考*中的 [delete-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/delete-container-group-definition.html)。

  此範例說明刪除版本 5 之前遊戲伺服器容器群組定義所有版本的請求。  
**Example**  

  ```
  aws gamelift delete-container-group-definition \
      --name MyAdventureGameContainerGroup \
      --version-count-to-retain 5 \
  ```

------

# Amazon GameLift Servers 主控台中的別名
<a name="gamelift-console-aliases"></a>

別名資源代表機群或終端機目的地的指標。它們用於將玩家流量導向特定託管目的地。使用別名來抽象化目的地，以便在更新託管機群時更輕鬆地重新導向流量。

在 Amazon GameLift Servers主控台或使用適用於 的 或 AWS SDK 來檢視別名的相關資訊Amazon GameLift Servers。

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

**別名**頁面會顯示引導流量特定託管目的地的Amazon GameLift Servers別名相關資訊。若要檢視別名，請在導覽窗格中選擇**託管**、**別名**。

您可以在別名頁面上執行下列動作：
+ 建立新的別名。選擇**建立別名**。
+ 篩選和排序別名資料表。使用表格上方的控制項。您可以使用**偏好設定**工具視需要調整資料表內容 （請參閱資料表右上角的![\[Gear icon representing settings or configuration options.\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/settings.png)圖示）。自訂偏好設定會儲存到您的帳戶 AWS 使用者，並會在您檢視此頁面時自動套用。
+ 檢視別名詳細資訊。選擇別名名稱以開啟別名詳細資訊頁面。
+ 刪除別名。選擇別名，然後選擇**刪除**。

**別名詳細資訊**  
別名詳細資訊頁面會顯示別名的相關資訊。

在此頁面上，您可以：
+ 編輯別名。選擇**編輯**。
+ 檢視您與別名相關聯的機群。
+ 刪除別名。選擇 **刪除**。

別名詳細資訊包括：
+ **ID** – 用來識別別名的唯一號碼。
+ **描述** – 別名的描述。
+ **ARN** – 別名的 Amazon Resource Name。
+ **建立** – 別名建立的日期和時間。
+ **上次更新** – 上次更新別名的日期和時間。
+ **路由類型** – 別名的路由類型，可以是下列其中一項：
  + **簡單** – 將玩家流量路由到指定的機群 ID。您可以隨時更新別名的機群 ID。
  + **終端機** – 將訊息傳遞回用戶端。例如，您可以將使用out-of-date用戶端的玩家導向至可以取得升級的位置。
+ **標籤** – 用於識別別名的金鑰和值對。

------
#### [ AWS SDK ]

使用下列 AWS CLI 命令來擷取此資源的相關資訊：
+ [ListAliases](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ListAliases.html)
+ [DescribeAlias](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeAlias.html)

------

# 編輯別名
<a name="aliases-editing"></a>

您可以使用 Amazon GameLift Servers主控台或 AWS CLI 命令 [update-alias](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-alias.html) 編輯別名。

本主題說明如何編輯Amazon GameLift Servers別名，以搭配遊戲工作階段放置使用。您可以進行下列編輯：

**編輯別名**

使用 Amazon GameLift Servers主控台或 AWS Command Line Interface (AWS CLI) 來編輯別名。

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

在 [Amazon GameLift Servers主控台](https://console.aws.amazon.com/gamelift/)中，使用導覽窗格開啟**別名**頁面。

1. 選取您要編輯的別名，然後選擇**編輯**。如果您沒有看到要編輯的別名，請檢查目前選取的別名 AWS 區域。

1. 在**編輯別名**頁面上，您可以進行下列編輯：
   + 變更別名名稱。
   + 變更別名描述。
   + 將路由策略從簡單變更為終端機，或從終端機變更為簡單。
   + 對於具有簡單路由策略的別名，請變更別名相關聯的機群 ID。
   + 對於具有終端機路由策略的別名，請變更訊息文字。

1. 選擇 **Save changes** (儲存變更)。使用簡單的路由策略更新別名的機群 ID 時，最多可能需要 2 分鐘才能完成轉換。在此期間，新的遊戲工作階段置放可能會在舊機群上進行。

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

使用 [https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-alias.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-alias.html)命令來變更別名資源。您可以更新目前預設值中的別名資源 AWS 區域，也可以新增`--region`標籤來指定不同的 AWS 區域。

您可以變更下列屬性：
+ 別名名稱。
+ 別名描述。
+ 路由策略類型。請務必提供新路由策略的機群 ID 或訊息字串。
+ 現有簡單路由策略的機群 ID。機群 ID 必須與別名位於相同的區域。
+ 現有終端機路由策略的訊息字串。

------

# Amazon GameLift Servers 主控台中的遊戲工作階段佇列
<a name="queues-console"></a>

佇列資源代表遊戲工作階段置放元件的組態。它會根據您的組態選擇，決定 如何Amazon GameLift Servers搜尋並選擇託管新遊戲工作階段的最佳可能運算資源。

在Amazon GameLift Servers主控台或使用適用於 的 或 AWS 開發套件，檢視遊戲工作階段佇列的相關資訊Amazon GameLift Servers。

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

您可以檢視所有佇列的資訊，用於處理新遊戲工作階段的請求。佇列頁面顯示目前選取之 中的遊戲工作階段佇列 AWS 區域。從 **Queues** (佇列) 頁面，您可以建立新的佇列、刪除現有的佇列，或針對選取的佇列開啟詳細資訊頁面。每個佇列詳細資訊頁面都包含佇列的組態和指標資料。如需佇列的詳細資訊，請參閱[設定遊戲工作階段置放](queues-intro.md)。

佇列頁面會顯示每個佇列的下列摘要資訊。您可以使用**偏好設定**工具視需要調整資料表內容 （請參閱資料表右上角的![\[Gear icon representing settings or configuration options.\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/settings.png)圖示）。自訂偏好設定會儲存到您的帳戶 AWS 使用者，並會在您檢視此頁面時自動套用。
+ **佇列名稱** – 指派給佇列的名稱。新遊戲工作階段的請求會使用此名稱來指令佇列。
+ **佇列逾時** – 遊戲工作階段置放請求在逾時之前保留在佇列中的時間長度上限，以秒為單位。
+ **佇列中的目的地 – **佇列組態中列出的機群數量。 會在佇列中的任何機群上Amazon GameLift Servers放置新的遊戲工作階段。

**檢視佇列詳細資訊**  
您可以存取任何佇列的詳細資訊，包括佇列組態和指標。若要開啟佇列詳細資訊頁面，請前往**佇列**頁面，然後選擇佇列名稱。

佇列詳細資訊頁面顯示摘要表格和包含額外資訊的標籤。您可以在此頁面進行下列操作：
+ 更新佇列的組態、目的地清單和玩家延遲政策。選擇**編輯**。
+ 刪除佇列。刪除佇列後，所有參考該佇列名稱的新遊戲工作階段請求都會失敗。選擇 **刪除**。
**注意**  
若要還原已刪除的佇列，請使用已刪除佇列的名稱建立新的佇列。

**詳細資訊**  
**概觀**區段會顯示佇列的 Amazon Resource Name (**ARN**) 和**逾時**。您可以在 的其他動作或區域中參考佇列時使用 ARNAmazon GameLift Servers。逾時是遊戲工作階段置放請求在逾時之前保留在佇列中的時間長度上限，以秒為單位。

**事件通知**  
**事件通知**區段列出 **SNS 主題**將事件通知發佈至 Amazon GameLift Servers ，以及新增至此佇列建立的所有事件**的事件資料**。

**Tags (標籤)**  
**標籤**資料表會顯示用於標記資源的索引鍵和值。如需標記的詳細資訊，請參閱[標記 AWS 資源](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)。

**指標**  
**Metrics** (指標) 標籤顯示一段時間內佇列指標的圖形表示。

佇列指標包含描述佇列中置放活動的資訊範圍，包括依區域組織的成功置放。您可以使用區域資料來了解您託管遊戲的位置。區域置放指標有助於偵測整體佇列設計的問題。

Amazon CloudWatch 也提供佇列指標。如需可用指標的說明，請參閱 [佇列的 Amazon GameLift Servers 指標](monitoring-cloudwatch.md#gamelift-metrics-queue)。

**目的地**  
**Destinations** (目的地) 標籤顯示所有為佇列列出的機群或別名。

當 Amazon GameLift Servers搜尋目的地以託管新的遊戲工作階段的可用資源時，它會搜尋此處列出的預設順序。只要列出的第一個目的地有容量， 就會在該處Amazon GameLift Servers放置新的遊戲工作階段。您可以提供玩家延遲資料，讓個別遊戲工作階段置放請求覆寫預設順序。此資料告知 Amazon GameLift Servers 搜尋可用的最低平均玩家延遲目的地。如需設計佇列的詳細資訊，請參閱 [自訂遊戲工作階段佇列](queues-design.md)。

**工作階段置放**  
自訂遊戲置放程序的組態設定。

**玩家延遲政策**  
**播放器延遲政策**區段會顯示佇列使用的所有政策。資料表會依政策強制執行的順序列出政策。

**位置**  
**位置**區段顯示此佇列可以放置遊戲工作階段的位置。

**Priority**  
**優先順序**區段顯示佇列評估遊戲工作階段詳細資訊的順序。

**位置順序**  
**位置順序**區段顯示佇列在放置遊戲工作階段時使用的預設順序。如果您尚未定義其他類型的優先順序，佇列會使用此順序。

------
#### [ AWS SDK ]

使用下列 AWS CLI 命令來擷取此資源的相關資訊：
+ [DescribeGameSessionQueues](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_DescribeGameSessionQueues.html)

------

# 準備使用 Amazon GameLift Servers 託管啟動
<a name="gamelift_quickstart_customservers_checklist"></a>

使用下列檢查清單來驗證遊戲的每個部署階段。標記為 **【關鍵】 **的項目對於您的生產啟動至關重要。

下載並完成Amazon GameLift Servers啟動問卷，此問卷可在 [https://console.aws.amazon.com/gamelift/prepare-to-launch](https://console.aws.amazon.com/gamelift/prepare-to-launch)取得。我們希望每個使用 Amazon GameLift Servers的遊戲開發人員都能擁有順暢的啟動日，而請求的資訊有助於我們準備即將到來的負載測試、軟啟動或公開啟動。計劃在執行第一次載入測試之前至少三 (3) 個月提交完成的問卷。

**Topics**
+ [準備好您的遊戲](#gamelift_quickstart_customservers_prepgameserver_checklist)
+ [準備進行測試](#gamelift_quickstart_customservers_test_checklist)
+ [準備啟動](#gamelift_quickstart_customservers_launch_checklist)
+ [規劃啟動後更新](#gamelift_quickstart_customservers_launch_postchecklist)

## 準備好您的遊戲
<a name="gamelift_quickstart_customservers_prepgameserver_checklist"></a>
+ **【關鍵】** 確認您已完成託管解決方案的所有[開發藍圖步驟](getting-started-intro.md)，並且您已備妥所有必要的元件，包括整合的遊戲伺服器、遊戲用戶端的後端服務、託管機群，以及遊戲工作階段放置方法 （例如佇列）。
+ **【關鍵】** [Create AWS Identity and Access Management (IAM) 角色](setting-up-aws-login.md)，允許遊戲伺服器在執行時存取其他 AWS 資源。
+ **【關鍵】** 視需要設計和實作容錯移轉至其他託管資源。
+ 考慮遊戲的佇列和[機群結構，規劃將機群推展到目標位置](gamelift-regions.md)。
+ 透過 CloudFormation 和 使用基礎設施即程式碼 (IaC) [自動化部署](resources-cloudformation.md) AWS Cloud Development Kit (AWS CDK)。
+ 使用 Amazon CloudWatch 和 Amazon Simple Storage Service (Amazon S3) [收集日誌和分析](monitoring-overview.md)。

## 準備進行測試
<a name="gamelift_quickstart_customservers_test_checklist"></a>
+ **【關鍵】** [請求增加Amazon GameLift Servers服務配額](limits-regions.md)和其他 AWS 服務 配額，以便您的即時環境可以擴展到生產需求。
+ **【關鍵】** 驗證即時機群上的開放連接埠是否符合伺服器可以使用的連接埠範圍。
+ **【關鍵】** 關閉 RDP 連接埠 3389 和 SSH 連接埠 22。
+ 為遊戲的 DevOps 管理制定計畫。如果您使用 Amazon CloudWatch Logs 或 Amazon CloudWatch 自訂指標，請定義伺服器機群上嚴重或重大問題的警示。模擬失敗並測試 Runbook。
+ 確認您使用的運算資源可支援您要在每個運算上同時執行的伺服器程序數目。
+ 先[調整您的擴展政策](fleets-manage-capacity.md)，使其更為保守，並提供比您想像中更多的閒置容量。您可以稍後針對成本進行最佳化。考慮使用閒置容量為 20% 的目標型擴展政策。
+ 對於 FlexMatch，請使用[延遲規則](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html)來比對地理位置接近彼此的玩家。使用來自負載測試用戶端的合成延遲資料，測試其在負載下的行為。
+ 載入測試您的玩家身分驗證和遊戲工作階段基礎設施，以查看它是否有效擴展以滿足需求。
+ 確認持續執行數天的伺服器仍可接受連線。
+ 將您的 支援 計劃層級提升為商業或企業，讓 AWS 可以在問題或中斷期間回應您。

## 準備啟動
<a name="gamelift_quickstart_customservers_launch_checklist"></a>
+ **【關鍵】**[ 將機群保護政策設定為](fleets-creating.md)對所有即時機群提供完整保護，以便縮減規模不會停止作用中的遊戲工作階段。
+ **【關鍵】** [設定足夠高的機群大小上限](fleets-capacity-limits.md)，以適應最高峰的預期需求。我們建議您針對非預期的需求，將大小上限加倍。
+ 鼓勵您的整個開發團隊參與啟動事件，並監控您在啟動室中的遊戲啟動。
+ 監控玩家延遲和玩家體驗。

## 規劃啟動後更新
<a name="gamelift_quickstart_customservers_launch_postchecklist"></a>
+ [調校擴展政策](fleets-manage-capacity.md)，以根據玩家用量將閒置容量降至最低。
+ 根據玩家延遲資料和修訂後的需求[修改FlexMatch規則](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html)或[新增託管位置](gamelift-compute.md#gamelift-compute-location)。
+ 最佳化執行時間組態，以對每個運算資源執行盡可能多的遊戲工作階段。以這種方式最佳化效能效率可能會直接影響機群成本，因為您可能可以使用相同的運算資源執行更多伺服器程序。
+ [使用您的分析資料](monitoring-overview.md)來推動持續開發、改善玩家體驗和遊戲壽命，以及最佳化獲利。

# 使用 管理Amazon GameLift Servers託管資源 CloudFormation
<a name="resources-cloudformation"></a>

您可以使用 CloudFormation 來管理您的 Amazon GameLift Servers 資源。在 中 CloudFormation，您會建立範本來建立每個資源的模型，然後使用範本來建立您的資源。若要更新資源，請對範本進行變更，並使用 CloudFormation 實作更新。您可以將資源組織成邏輯群組，稱為堆疊和堆疊集。

使用 CloudFormation 維護您的Amazon GameLift Servers託管資源，可讓您更有效率地管理 AWS 資源集。您可以使用版本控制來追蹤一段時間內的範本變更，並協調多個專案團隊成員所做的更新。您也可以重複使用範本。例如，跨多個區域部署遊戲時，您可以使用相同的範本，在每個區域建立相同的資源。您也可以使用這些範本，在另一個分割區中部署相同的資源集。

如需 的詳細資訊 CloudFormation，請參閱[AWS CloudFormation 《 使用者指南》](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)。若要檢視Amazon GameLift Servers資源的範本資訊，請參閱[Amazon GameLift Servers資源類型參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_GameLift.html)。

## 最佳實務
<a name="resources-cloudformation-bestpractices"></a>

如需使用 的詳細指引 CloudFormation，請參閱*AWS CloudFormation 《 使用者指南*》中的[CloudFormation 最佳實務](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html)。此外，這些最佳實務與 Amazon GameLift Servers 具有特殊關係。
+ **透過 持續管理您的 資源 CloudFormation。**如果您在資源之外變更資源 CloudFormation ，將會與資源範本不同步。
+ **使用 CloudFormation 堆疊和堆疊集來有效管理多個資源。**
  + 使用堆疊來管理連線資源的群組。例如，包含組建的堆疊、參考組建的機群，以及參考機群的別名。如果您更新範本以取代組建， 會 CloudFormation 取代連線至組建的機群。 CloudFormation 然後更新現有的別名以指向新的機群。如需詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[使用堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)。
  + 如果您要跨多個區域或 AWS 帳戶部署相同的 CloudFormation 堆疊，請使用堆疊集。如需詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[使用堆疊集](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)。
+ **如果您使用的是 Spot 執行個體，請包含隨需機群做為備份。**建議您在每個區域中使用兩個機群、一個具有 Spot 執行個體的機群，以及一個具有隨需執行個體的機群來設定範本。
+ **當您管理多個位置的資源時，請將特定位置的資源和全域資源分組到不同的堆疊。**
+ **將您的 全域資源放在靠近使用它的 服務附近。**佇列和配對組態等資源通常會收到來自特定來源的大量請求。透過將資源放在這些請求的來源附近，您可以將請求行程時間降至最低，並可以改善整體效能。
+ **將您的配對組態放置在與其使用之遊戲工作階段佇列的相同區域。**
+ **為堆疊中的每個機群建立不同別名。**

## 使用 CloudFormation 堆疊
<a name="resources-cloudformation-multistack"></a>

建議您在設定 Amazon GameLift Servers 資源的 CloudFormation 堆疊時使用下列結構。您的最佳堆疊結構會根據您要將遊戲部署在一個位置或多個位置而有所不同。

### 單一位置的堆疊
<a name="resources-cloudformation-multistack-singleregion"></a>

若要在單一位置管理Amazon GameLift Servers資源，我們建議使用兩堆疊結構：
+ **支援堆疊** – 此堆疊包含資源所依賴Amazon GameLift Servers的資源。至少，此堆疊應該包含 S3 儲存貯體，其中儲存自訂遊戲伺服器或 Realtime 指令碼檔案。堆疊也應該包含 IAM 角色，在建立Amazon GameLift Servers組建或指令碼資源時授予從 S3 儲存貯體擷取檔案的Amazon GameLift Servers許可。此堆疊也可能包含與遊戲搭配使用的其他 AWS 資源，例如 DynamoDB 資料表、Amazon Redshift 叢集和 Lambda 函數。
+ **Amazon GameLift Servers 堆疊 **– 此堆疊包含您的所有Amazon GameLift Servers資源，包括建置或指令碼、一組機群、別名和遊戲工作階段佇列。 會使用存放在 S3 儲存貯體位置中的檔案 CloudFormation 建立建置或指令碼資源，並將建置或指令碼部署至一或多個機群資源。每個機群都應該有一個對應別名。遊戲工作階段佇列會參考部分或全部機群別名。如果您是使用 FlexMatch 進行配對，此堆疊也會包含配對組態和規則集。

下圖說明在單一 AWS 區域中部署資源的雙堆疊結構。

![\[\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/resources-cf_single_vsd.png)


### 多個區域的堆疊
<a name="resources-cloudformation-multistack-multiregion"></a>

在多個區域中部署遊戲時，請記住資源如何跨區域互動。某些資源 (例如 Amazon GameLift Servers 機群) 只能參考同一區域中的其他資源。佇列等其他資源Amazon GameLift Servers與區域無關。若要管理多個區域中的 Amazon GameLift Servers 資源，我們建議使用下列結構。
+ **區域支援堆疊** – 這些堆疊包含資源所依賴Amazon GameLift Servers的資源。此堆疊必須包括 S3 儲存貯體，其中儲存自訂遊戲伺服器或 Realtime 指令碼檔案。它也可能包含遊戲的其他 AWS 資源，例如 DynamoDB 資料表、Amazon Redshift 叢集和 Lambda 函數。其中許多資源都是區域特定的，因此您必須在每個區域中建立這些資源。 Amazon GameLift Servers也需要允許存取這些支援資源的 IAM 角色。由於 IAM 角色與區域無關，因此您只需要一個角色資源，放置在任何區域中，並在所有其他支援堆疊中參考。
+ **區域Amazon GameLift Servers堆疊** – 此堆疊包含部署遊戲的每個區域中必須存在Amazon GameLift Servers的資源，包括組建或指令碼、一組機群和別名。 會使用 S3 儲存貯體位置中的檔案 CloudFormation 建立組建或指令碼資源，並將組建或指令碼部署至一或多個機群資源。每個機群都應該有一個對應別名。遊戲工作階段佇列會參考部分或全部機群別名。您可以維護一個範本，來描述這種類型的堆疊，並使用它在每個區域建立相同的資源集。
+ **全域Amazon GameLift Servers堆疊** – 此堆疊包含您的遊戲工作階段佇列和配對資源。這些資源可以位於任何區域，且通常放置在相同區域中。佇列可以參考位於任何區域中的機群或別名。若要在不同的區域中放置其他佇列，請建立額外的全域堆疊。

下圖說明在數個 AWS 區域中部署 資源的多堆疊結構。第一個圖表顯示單一遊戲工作階段佇列的結構。第二個圖表顯示具有多個佇列的結構。

![\[\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/resources-cf_multi_vsd.png)


![\[\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/resources-cf_multiqueue_vsd.png)


## 更新組建
<a name="resources-cloudformation-updatebuild"></a>

Amazon GameLift Servers 建置是不可變的，就像建置與機群之間的關係一樣。因此，當您更新託管資源，以使用一組新的遊戲建置檔案時，必須發生下列情況：
+ 使用一組新檔案來建立新建置 (取代)。
+ 建立一組新的機群來部署新的遊戲建置 (取代)。
+ 重新導向別名以指向新的機群 (更新而不中斷)。

如需詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[更新堆疊資源的行為](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html)。

### 自動部署建置更新
<a name="resources-cloudformation-updatebuild-auto"></a>

更新包含相關建置、機群和別名資源的堆疊時，預設 CloudFormation 行為是依序自動執行這些步驟。您可以先將新的建置檔案上傳到新的 S3 位置，以觸發此更新。然後，您修改 CloudFormation 建置範本以指向新的 S3 位置。當您使用新的 S3 位置更新堆疊時，這會觸發以下 CloudFormation 順序：

1. 從 S3 擷取新檔案、驗證這些檔案，並建立新的 Amazon GameLift Servers 建置。

1. 更新機群範本中的建置參考，這會觸發新的機群建立。

1. 在新的機群作用中之後，更新別名中的機群參考，這會觸發別名更新，以新機群做為目標。

1. 刪除舊機群。

1. 刪除舊建置。

如果您的遊戲工作階段佇列使用機群別名，玩家流量會在別名更新後立即自動切換至新機群。隨著遊戲工作階段結束，舊機群會逐漸耗盡玩家。當玩家流量波動時，自動擴展會處理從每組機群新增和移除執行個體的任務。或者，您可以指定初始所需的執行個體計數，以快速提升交換器，並在稍後啟用自動擴展。

您也可以 CloudFormation 保留資源，而不是將其刪除。如需詳細資訊，請參閱《 *AWS CloudFormation API 參考*》中的 [RetainResources](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStack.html)。

### 手動部署建置更新
<a name="resources-cloudformation-updatebuild-manual"></a>

如果想要更好地控制新機群何時上線，供玩家使用，您有一些選項可以選擇。您可以選擇使用 Amazon GameLift Servers 主控台或 CLI 手動管理別名。或者，您可以將第二組建置和機群定義新增至範本，而不是更新您的建置範本以取代建置和機群。當您更新範本時， 會 CloudFormation 建立第二個建置資源和對應的機群。由於未取代現有的資源，因此不會刪除它們，而且別名仍會指向原始機群。

使用這種方法的主要優點是它為您提供了靈活性。您可以為新版建置建立個別資源、測試新資源，以及控制新機群何時上線，供玩家使用。潛在的缺點是，短時間內它需要在每個區域有兩倍多的資源。

下圖說明此程序。

![\[\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/developerguide/images/resources-cf_updating_vsd.png)


### 轉返的運作方式
<a name="resources-cloudformation-updatebuild-rollbacks"></a>

執行資源更新時，若有任何步驟未順利完成，則 CloudFormation 會自動啟動轉返。此程序會依序反轉每個步驟，同時刪除新建立的資源。

如果您需要手動觸發轉返，請將建置範本的 S3 位置索引鍵變回原始位置，並更新您的堆疊。這時會建立新的 Amazon GameLift Servers 建置和機群，而且在機群作用中之後，別名會切換至新機群。如果您是個別管理別名，則需要切換它們以指向新機群。

如需如何處理失敗或卡住的轉返的詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[繼續轉返更新](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html)。