設計 Spot 執行個體的佇列 - Amazon GameLift

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

設計 Spot 執行個體的佇列

建立遊戲工作階段佇列,將 Spot 機群新增至您的遊戲託管解決方案。如需 Spot 執行個體的詳細資訊,以及如何為託管提供顯著的成本節省,請參閱 隨需執行個體與 Spot 執行個體。若要利用 Spot 執行個體來利用較低的託管成本,您必須建立遊戲工作階段佇列,以及 hoWhen 設定 Amazon GameLift 受管機群以使用 Spot 執行個體、隨需執行個體或組合。進一步了解 Amazon 如何在 中使用 GameLift Spot 執行個體。若要使用 Spot 機群,您的遊戲整合需要此頁面列出的調整。

您正在使用 FlexMatch 進行配對嗎? 您可以將 Spot 機群新增至現有的遊戲工作階段佇列,以進行配對配置。

  1. 判斷遊戲工作階段佇列的目的地。

    使用佇列管理遊戲工作階段置放是最佳實務,在使用 Spot 執行個體時是必要的。由於 Spot 執行個體不一定會在您需要時隨時可用,因此您需要設計彈性佇列,其中包含 Spot 機群和隨需機群,以提供備份容量。您可以保持隨需機群縮減,直到需要為止。若要設計佇列,請考慮下列事項:

    • 位置 – 選擇靠近玩家的地理位置。您的 Spot 機群和隨需機群應該

    • 執行個體類型 – 考慮您的遊戲伺服器硬體需求,以及您選擇的位置中執行個體的可用性。

    若要嘗試最佳化 Spot 可用性和彈性的佇列,請參閱 教學課程:使用 Spot 執行個體建立 Amazon GameLift 佇列。如需 Spot 設計最佳實務,請參閱 Amazon GameLift 遊戲工作階段佇列的最佳實務

  2. 針對 Spot 最佳化佇列建立機群。

    根據您的佇列設計,建立機群,將遊戲伺服器部署到所需的位置和執行個體類型。請參閱 建立 Amazon GameLift 受管EC2機群 協助建立及設定新機群。

  3. 建立您的遊戲工作階段佇列。

    新增機群目的地、設定遊戲工作階段置放程序,以及定義置放優先順序。請參閱 建立遊戲工作階段佇列 協助建立及設定新佇列。

  4. 更新您的遊戲用戶端服務以使用佇列。

    當您的遊戲用戶端使用佇列來請求資源時,佇列會避免具有高中斷機率的資源,並選擇符合您定義優先順序的位置。如需協助在遊戲用戶端實作遊戲工作階段配置,請參閱 建立遊戲工作階段

  5. 更新您的遊戲伺服器以處理 Spot 中斷。

    AWS 當 Spot 執行個體需要恢復容量時,可以透過 2 分鐘通知中斷 Spot 執行個體。設定您的遊戲伺服器以處理中斷,將玩家影響降至最低。

    在 AWS 回收 Spot 執行個體之前,它會傳送終止通知。Amazon GameLift 透過叫用 Amazon GameLift Server 回SDK呼函數 ,將通知傳遞給所有受影響的伺服器程序onProcessTerminate()。實作此回呼以結束遊戲工作階段,或將遊戲工作階段和播放器移至新的執行個體。請參閱 回應伺服器程序關閉通知 協助實作 onProcessTerminate()

    注意

    AWS 會盡一切努力在接收執行個體之前提供通知,但有可能在警告到達之前 AWS 回收 Spot 執行個體。準備您的遊戲伺服器來處理意外中斷。

  6. 檢閱 Spot 機群和佇列的效能。

    在 Amazon GameLift 主控台中或使用 Amazon 檢視 Amazon GameLift 指標 CloudWatch 以檢閱效能。如需 Amazon GameLift 指標的詳細資訊,請參閱 監控亞馬遜GameLift與亞馬遜 CloudWatch。關鍵指標包括:

    • 中斷率 – 使用 InstanceInterruptionsGameSessionInterruptions指標來追蹤執行個體和遊戲工作階段的 Spot 相關中斷次數和頻率。由 回收的遊戲工作階段狀態 AWS 為 TERMINATED,狀態原因為 INTERRUPTED

    • 佇列效率 – 追蹤置放成功率、平均等待時間和佇列深度,以確認 Spot 機群不會影響您的佇列效能。

    • 機群用量 – 監控執行個體、遊戲工作階段和玩家工作階段的資料。隨需機群的用量可能是佇列避免置放到 Spot 機群以避免中斷的指標。

Spot 機群佇列的最佳實務

如果您的佇列包含 Spot 機群,請設定彈性佇列。這利用 Spot 機群節省成本,同時將遊戲工作階段中斷的影響降至最低。如需正確建置機群和遊戲工作階段佇列以搭配 Spot 機群使用的協助,請參閱 教學課程:使用 Spot 執行個體建立 Amazon GameLift 佇列。如需 Spot 執行個體的詳細資訊,請參閱 設計 Spot 執行個體的佇列

除了上一節的一般最佳實務之外,請考慮這些 Spot 特有的最佳實務:

  • 在每個位置建立至少一個隨需機群。隨需機群為您的玩家提供備份遊戲伺服器。您可以一直縮減備份機群,直到需要為止,並在 Spot 機群無法使用時,使用自動擴展來增加隨需容量。

  • 在位置的多個 Spot 機群之間選取不同的執行個體類型。如果某個 Spot 執行個體類型暫時無法使用,中斷只會影響該位置中的一個 Spot 機群。最佳實務是選擇廣泛可用的執行個體類型,並在相同的系列中使用執行個體類型 (例如 m5.large、m5.xlarge、m5.2xlarge)。使用 Amazon GameLift 主控台檢視執行個體類型的歷史定價資料。