本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
選擇受管機群的運算資源
對於Amazon GameLift Servers受管託管,包括受管 EC2 和受管容器,此服務會將您的遊戲伺服器部署到 中的運算資源機群 AWS 雲端。當您建立受管機群時,您想要將託管資源設定為最適合您的遊戲。本主題討論在選擇和設定遊戲託管機群時的關鍵決策點。
注意
如果您要使用 Anywhere 和Amazon GameLift Servers受管機群建置混合解決方案,請使用這些主題來設計受管機群,以補充您自己的自我管理資源。請參閱 部署 的託管機群 Amazon GameLift Servers。
地理位置
考慮您計劃部署遊戲伺服器的位置。一般而言,您想要將遊戲伺服器盡可能靠近玩家,以提供最佳的玩家體驗。對於Amazon GameLift Servers受管託管,您可以選擇將遊戲伺服器放在任何支援的 AWS 區域 和 Local Zones。如果您要建置混合式解決方案,請考慮 受管機群部署如何補充自我管理的 Amazon GameLift ServersAnywhere 機群位置。
對於大多數開發和測試案例,部署到單一位置很有意義。當您準備啟動及更高版本時,在多個地理位置之間部署有許多原因。這包括支援廣泛的玩家群組,並改善整體遊戲託管彈性和可靠性。多個位置也可以透過加速遊戲工作階段置放,並在最佳化延遲和成本置放時啟用更多選擇來提升玩家體驗。
如需 支援的位置清單,Amazon GameLift Servers以及所有機群類型位置的詳細資訊,請參閱 Amazon GameLift Servers 服務位置。
多位置機群
單一受管機群可以將資源部署到多個位置。您可以手動設定多位置機群中每個個別位置的容量。
使用多位置機群的優點:
-
簡化機群部署和管理 – 您提供遊戲伺服器軟體和機群組態,並將其部署到跨多個位置的機群執行個體 Amazon GameLift Servers (建置一次,隨處部署)。在生產機群中,您可以檢視和管理機群中的所有位置,而不必管理位於不同區域的多個機群。
-
本地區域可用性 – 如果您想要使用本地區域,您必須建立具有 AWS 區域 主要位置的多位置機群,並將本地區域作為遠端位置。Local Zones 是 的延伸 AWS 區域 ,可以為需要它的區域和客戶提供更低的延遲。您可以將 Local Zone 新增至任何多位置機群;您不需要包含 Local Zone 的父系 AWS 區域。
-
遊戲工作階段佇列的相容性 – 您可以使用一或多個多位置機群建置遊戲工作階段置放佇列。此方法在排定優先順序並選擇位置以託管新的遊戲工作階段時,提供佇列彈性。
-
有效率的資源使用率 – 開啟自動擴展後, Amazon GameLift Servers 可以更好地最佳化機群中所有位置的容量擴展。
使用多位置機群的秘訣:
-
檢查每個 AWS 區域 或 機群的位置數量配額。請參閱Amazon GameLift Servers服務配額。
-
並非所有執行個體類型都可在所有位置使用。根據您選擇的位置,執行個體類型選項可能有限。Amazon GameLift Servers 主控台提供有用的工具,協助您找到位置和執行個體類型的適當平衡。
-
考慮使用 UDP ping 信標 來收集所有機群位置的玩家延遲資料。 Amazon GameLift Servers 可以使用此資料來最佳化低延遲的遊戲工作階段,並防止玩家以無法接受的高延遲加入工作階段。這些特殊端點接受 UDP 訊息,而非傳統的 ICMP ping,因而提供了準確的延遲測量,以協助您選取最佳的機群位置。
作業系統
受管機群中的所有執行個體都會使用 Amazon Machine Image (AMI) 部署,為您的遊戲伺服器軟體提供完整的執行時間環境。對於受管 EC2 機群,您可以在將組建上傳至 時指定遊戲伺服器組建的作業系統Amazon GameLift Servers。對於受管容器機群,您可以在容器群組定義中指定作業系統。如需最新 AMI 版本的詳細資訊,請參閱 Amazon GameLift Servers AMI 版本。
AMI 版本會定期更新。當您建立新的機群時, 會Amazon GameLift Servers指派您為遊戲組建選取的 AMI 最新版本。在該機群中部署的所有執行個體都使用相同的版本。若要讓 AMI 版本與最新的安全性和軟體更新保持最新狀態,您需要定期取代機群。最佳實務是建議每 30 天替換您的受管機群,以維護遊戲伺服器的執行期環境。如需準則,請參閱Amazon GameLift Servers 的安全最佳實務。
執行個體類型
受管機群的執行個體類型會決定為所有機群執行個體部署的硬體類型,而執行個體類型通常提供多種大小。所有Amazon GameLift Servers受管機群都使用 Amazon EC2 執行個體,並支援各種執行個體類型,提供不同的運算能力、記憶體、儲存和聯網功能組合。執行個體類型的可用性取決於您選擇的位置。
Amazon GameLift Servers 主控台提供有用的工具,協助您為遊戲組建和部署位置尋找正確的執行個體類型。對於受管容器機群,主控台也提供遊戲 CPU 電源和記憶體需求的指引。
在為您的遊戲選擇可用的執行個體類型時,請考慮:
-
遊戲伺服器的運算架構:x64 或 Arm (AWS Graviton)。
注意
Graviton Arm 執行個體需要 Linux AMI 的伺服器建置。C++ 和 C# 需要伺服器 SDK 5.1.1 或更新版本。Go 需要伺服器 SDK 5.0 或更新版本。這些執行個體不提供out-of-the-box可用的 Amazon Linux 2023 (AL2023) 或 Amazon Linux 2 (AL2) 上單機安裝支援。
-
遊戲伺服器建置的運算、記憶體和儲存需求。
-
執行個體類型的大小。除了符合遊戲伺服器軟體可執行檔的需求之外,較大的執行個體類型還可以在每個執行個體上執行多個遊戲伺服器程序和/或容器。要考慮的因素包括成本 (執行一些大型執行個體或許多小型執行個體較便宜)。另請考量在機群擴展事件期間新增或移除執行個體,或關閉運作狀態不佳的執行個體時,遊戲工作階段容量可能會有何影響。如果每個執行個體同時執行許多遊戲伺服器程序,新增或移除執行個體可能會大幅影響相同的託管容量。
如需執行個體類型的詳細資訊,請參閱 Amazon EC2 執行個體類型
隨需執行個體與 Spot 執行個體的比較
Amazon EC2 隨需執行個體和 Spot 執行個體提供相同的硬體和效能,但可用性和成本不同。
隨需執行個體
您可以在需要時取得隨需執行個體,並隨需保留。隨需執行個體具有固定成本,這表示您只需按使用的時間量付費。沒有長期承諾。
Spot 執行個體
Spot 執行個體可以利用未使用的 AWS 運算容量,為隨需執行個體提供具成本效益的替代方案。Spot 執行個體價格會根據每個位置中每個執行個體類型的供需而波動。每當 Spot 執行個體需要容量回傳時, AWS 可以透過兩分鐘通知來回收 Spot 執行個體,並且在回收的執行個體上主動執行的遊戲工作階段也會中斷。
Amazon GameLift Servers 提供多種工具,協助降低 Spot 中斷遊戲工作階段的可能性。Spot 可行性演算法會追蹤執行個體類型的歷史資料,以預測中斷風險何時達到關鍵點,並避免在該類型的 Spot 執行個體上放置新的遊戲工作階段。如果發生中斷,您的遊戲伺服器可以使用 通知來正常結束玩家的遊戲工作階段。
Spot 機群的遊戲託管必須使用佇列進行遊戲工作階段放置。佇列能夠根據 Spot 機群可行性、成本和其他因素,排定遊戲工作階段置放的優先順序。如需如何為遊戲伺服器託管利用 Spot 的詳細資訊,請參閱這些主題:
Service Quotas
您可以使用 AWS 帳戶 下列工具檢視 的預設服務配額,Amazon GameLift Servers以及 的目前配額狀態:
-
如需 的一般服務配額資訊Amazon GameLift Servers,請參閱 中的Amazon GameLift Servers端點和配額AWS 一般參考。
-
如需您帳戶每個位置的可用執行個體類型清單,請開啟 Amazon GameLift Servers主控台的服務配額
頁面。此頁面也會顯示您帳戶在每個位置中每個執行個體類型的目前用量。 -
如需每個區域執行個體類型的帳戶目前配額清單,請執行 AWS Command Line Interface (AWS CLI) 命令
describe-ec2-instance-limits。此命令會傳回您在預設區域中 (或您指定的另一個區域中) 擁有的作用中執行個體數量。
當您準備啟動遊戲時,請在 Amazon GameLift Servers主控台