本指引可協助開發人員使用 Amazon GameLift 測試工具組,來測試、視覺化和最佳化其多人遊戲。藉助該工具組,開發人員可對其 Amazon GameLift 基礎設施進行疑難排解、偵錯和調整。本指引提供讓虛擬玩家可以執行真實玩家所執行的遊戲程式碼這一選用功能,幫助開發人員在將遊戲投入生產之前測試其遊戲是否成功。
架構圖
步驟 1
Amazon CloudFront 提供對儲存在 Amazon Simple Storage Service (Amazon S3) 上的工具組 Web 主控台的存取。工具組主控台使用者使用 Amazon Cognito 使用者集區進行身分驗證。
步驟 2
此 Web 主控台與 Amazon API Gateway WebSocket API 連接,該 API 呼叫 AWS Lambda 函數來處理請求並將資料儲存在 Amazon DynamoDB 中。
步驟 3
Lambda 函數可以直接查詢並更新 Amazon GameLift 基礎設施。
步驟 4
遊戲接聽程式透過 Amazon EventBridge 接收 GameLift 事件,並使用 AWS Step Functions 輪詢並接收來自 GameLift 和 Amazon CloudWatch 的基礎設施更新。
步驟 5
遊戲接聽程式透過自訂 EventBridge 事件匯流排分派彙總的事件資料。 這些事件由 Lambda 函數接收,將資料儲存在 DynamoDB 中,並呼叫 API Gateway 將資料傳送給連線的 Web 主控台使用者進行顯示。
步驟 6
Web 主控台使用者也可以在 AWS Fargate 上啟動虛擬玩家任務來模擬真實的遊戲用戶端。
步驟 7
每個虛擬玩家任務都會請求 Amazon Cognito 訪客身分,並連線至遊戲用戶端服務 API Gateway 以請求配對。
步驟 8
Lambda 函數呼叫 GameLift FlexMatch 來啟動配對程序,並使用遊戲工作階段佇列將成功的配對放入機群中。
步驟 9
虛擬玩家任務與 GameLift 執行個體執行個體連線以啟動其遊戲工作階段。
Well-Architected 支柱
AWS Well-Architected Framework 可協助您了解在雲端建立系統時所做決策的利弊。該架構的六根支柱讓您能夠學習設計和操作可靠、安全、高效、經濟高效且永續的系統的架構最佳實務。使用 AWS Well-Architected Tool (在 AWS 管理主控台中免費提供),您可以透過回答每根支柱的一組問題來針對這些最佳實務審查您的工作負載。
上方的架構圖是一個考量到 Well-Architected 最佳實務而建立的的解決方案的範例。若要完全實現 Well-Architected,您應該盡可能地多遵循 Well-Architected 的最佳實務。
-
卓越營運
工具組和範例遊戲均完全使用基礎設施即程式碼進行部署,這減少了手動流程導致的錯誤,並減少了部署變更的工作量。
-
安全性
API Gateway 上的無伺服器 Web 主控台 API 透過針對 Amazon Cognito 使用者集區的以 AWS Identity and Access Management (IAM) 為基礎的驗證得到保護。
API Gateway 上的無伺服器範例遊戲後端受到以 IAM 為基礎的身分驗證的保護,以安全驗證玩家的訪客身分。
GameLift 上的遊戲伺服器僅允許存取用於用戶端與伺服器通訊的連接埠。後端 Lambda 函數只能存取它們所需的服務。
-
可靠性
資料儲存在 DynamoDB 表中,利用隨需容量分配,可根據需求變化自動擴展。
解決方案後端服務使用 Lambda,實現執行個體自動擴展。
範例遊戲後端支援 GameLift 以目標為基礎的自動擴展來處理需求變化。
-
效能達成效率
透過利用 API Gateway、Lambda、DynamoDB 和 Fargate 等受管無伺服器技術,您只需為您使用的資源付費,並減少維護解決方案的作業量。
此解決方案可以部署到您選擇的區域,並利用 CloudFront 來降低 Web 主控台最終使用者體驗到的延遲。
-
成本最佳化
虛擬玩家任務可以使用 Fargate Spot 來啟動,以降低測試成本。
Web 主控台和範例遊戲後端利用無伺服器技術,因此您只需為使用的資源付費。
Web 主控台後端利用 Lambda 和 API Gateway 的原生擴展功能,並使用隨需容量分配的 DynamoDB 表來確保資源滿足需求。
範例遊戲後端支援 GameLift 以目標為基礎的自動擴展,以盡量減少所需的資源。
-
永續發展
本指引廣泛使用受管服務,從而將維持高平均使用率的責任轉移給了 AWS。
範例遊戲後端支援 GameLift 以目標為基礎的自動擴展,以盡量減少所需的資源。透過讓遊戲工作階段在儘量少的伺服器執行個體上執行,資源使用率始終保持在較高水準。
透過廣泛利用受管服務,本指引減少了貴公司對環境的影響。
您可以透過在 Spot 機群上啟動遊戲伺服器以及在 Fargate Spot 上啟動虛擬玩家任務,進一步降低資源浪費對永續發展的影響。
相關內容
免責聲明
範例程式碼、軟體庫、命令列工具、概念驗證、範本或其他相關技術 (包括我們的人員提供的任何上述技術) 依據 AWS 客戶協議或您與 AWS 之間的相關書面協議 (以適用者為準) 作為 AWS 內容提供給您。您不得在您的生產帳戶、生產或其他關鍵資料中使用此 AWS 內容。您有責任根據您的特定品質控制實務和標準,依生產級用途來測試、保護和最佳化 AWS 內容 (如範例程式碼)。部署 AWS 內容可能會因建立或使用 AWS 收費資源 (如執行 Amazon EC2 執行個體或使用 Amazon S3 儲存) 而產生 AWS 費用。