搭配 Amazon 使用競價型執行個 GameLift - Amazon GameLift

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

搭配 Amazon 使用競價型執行個 GameLift

設定 GameLift 受管 EC2 叢集時,您可以使用競價型執行個體、隨需執行個體或組合。進一步了解 Amazon 如何在中 GameLift 使用競價型執行個體隨需執行個體與 Spot 執行。若要使用競價型艦隊,您的遊戲整合需要此頁面上列出的調整。

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

  1. 設計 Spot 執行個體的遊戲工作階段佇列。

    使用佇列管理遊戲工作階段配置是最佳做法,使用 Spot 執行個體時也是必要的。若要設計佇列,請考慮下列事項:

    • 位置 — 為了獲得最佳的玩家體驗,請選擇地理位置靠近您的玩家。

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

    若要嘗試最佳化 Spot 可用性和恢復能力的佇列,請參閱。教學課程:設定 Spot 執行個體的遊戲工作階段佇列

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

    根據您的佇列設計,建立叢集,將遊戲伺服器部署到您想要的位置和執行個體類型。請參閱 建立亞馬遜 GameLift 受管叢集 協助建立及設定新機群。

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

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

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

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

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

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

    在 AWS 回收 Spot 執行個體之前,它會傳送終止通知。Amazon GameLift 通過調用 Amazon 服務器 SDK 回調函數onProcessTerminate()將通知傳遞給所有受影響的 GameLift服務器進程。實施此回調以結束遊戲會話或將遊戲會話和玩家移動到新的實例。請參閱 回應伺服器處理序關閉通知 協助實作 onProcessTerminate()

    注意

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

  6. 檢閱 Spot 叢集和佇列的效能。

    在 Amazon GameLift 控制台或使用 Amazon 查看 Amazon GameLift 指標 CloudWatch 以查看性能。如需 Amazon GameLift 指標的詳細資訊,請參閱監控亞馬遜GameLift與亞馬遜 CloudWatch。關鍵指標包括:

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

    • 佇列有效性 — 追蹤放置成功率、平均等待時間和佇列深度,以確認 Spot 叢集不會影響佇列效能。

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