本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
與機群中的其他 AWS 資源通訊
當您建立遊戲伺服器組建以在機Amazon GameLift Servers群上部署時,您可能會希望遊戲組建中的應用程式直接且安全地與您擁有的其他 AWS 資源通訊。由於 Amazon GameLift Servers會管理您的遊戲託管機群,因此您必須提供這些資源與服務的Amazon GameLift Servers有限存取權。
一些範例案例包括:
-
使用 Amazon CloudWatch 代理程式從受管 EC2 機群和 Anywhere 機群收集指標、日誌和追蹤。
-
將執行個體日誌資料傳送至 Amazon CloudWatch Logs。
-
取得存放在 Amazon Simple Storage Service (Amazon S3) 儲存貯體中的遊戲檔案。
-
讀取和寫入存放在 Amazon DynamoDB 資料庫或其他資料儲存服務的遊戲資料 (例如遊戲模式或庫存)。
-
使用 Amazon Simple Queue Service (Amazon SQS) 將訊號直接傳送至執行個體。
-
存取在 Amazon Elastic Compute Cloud (Amazon EC2) 上部署和執行的自訂資源。
Amazon GameLift Servers 支援這些建立存取的方法:
使用 IAM 角色存取 AWS 資源
使用 IAM 角色指定誰可以存取您的 資源,並設定該存取的限制。受信任方可以「擔任」角色並取得臨時安全登入資料,以授權他們與資源互動。當各方提出與資源相關的 API 請求時,他們必須包含登入資料。
若要設定由 IAM 角色控制的存取,請執行下列任務:
建立 IAM 角色
在此步驟中,您會建立具有一組許可的 IAM 角色,以控制對 AWS 資源的存取,以及授予使用角色許可Amazon GameLift Servers權限的信任政策。
如需如何設定 IAM 角色的指示,請參閱 設定 的 IAM 服務角色 Amazon GameLift Servers。建立許可政策時,請選擇應用程式需要使用的特定服務、資源和動作。最佳實務是盡可能限制許可的範圍。
建立角色之後,請記下角色的 Amazon Resource Name (ARN)。您需要在機群建立期間的角色 ARN。
修改應用程式以取得登入資料
在此步驟中,您將應用程式設定為取得 IAM 角色的安全登入資料,並在與 AWS 資源互動時使用它們。請參閱下表,以根據 (1) 應用程式類型,以及 (2) 遊戲用來與 通訊的伺服器 SDK 版本,決定如何修改您的應用程式Amazon GameLift Servers。
遊戲伺服器應用程式 | 其他應用程式 | |
---|---|---|
使用伺服器 SDK 5.x 版 |
|
將程式碼新增至應用程式,從機群執行個體上的共用檔案提取登入資料。 |
使用伺服器 SDK 第 4 版或更早版本 |
|
|
對於與伺服器 SDK 5.x 整合的遊戲,此圖說明部署的遊戲組建中的應用程式如何取得 IAM 角色的登入資料。

在應該已與Amazon GameLift Servers伺服器 SDK 5.x 整合的遊戲伺服器程式碼中,呼叫 GetFleetRoleCredentials
(C++) (C#) (Unreal) (Go) 以擷取一組臨時登入資料。當登入資料過期時,您可以使用對 的另一個呼叫來重新整理它們GetFleetRoleCredentials
。
對於使用伺服器 SDK 5.x 搭配遊戲伺服器組建部署的非伺服器應用程式,請新增程式碼以取得和使用存放在共用檔案中的登入資料。 會為每個機群執行個體Amazon GameLift Servers產生登入資料設定檔。登入資料可供執行個體上的所有應用程式使用。 Amazon GameLift Servers會持續重新整理臨時登入資料。
您必須設定機群,以在機群建立時產生共用的登入資料檔案。
在需要使用共用登入資料檔案的每個應用程式中,指定檔案位置和設定檔名稱,如下所示:
Windows:
[credentials] shared_credential_profile= "FleetRoleCredentials" shared_credential_file= "C:\\Credentials\\credentials"
Linux︰
[credentials] shared_credential_profile= "FleetRoleCredentials" shared_credential_file= "/local/credentials/credentials"
範例:設定 CloudWatch 代理程式以收集Amazon GameLift Servers機群執行個體的指標
如果您想要使用 Amazon CloudWatch 代理程式從機Amazon GameLift Servers群收集指標、日誌和追蹤,請使用此方法授權代理程式將資料傳送到您的帳戶。在此案例中,請採取下列步驟:
-
擷取或寫入 CloudWatch 代理程式
config.json
檔案。 -
更新代理程式
common-config.toml
的檔案,以識別登入資料檔案名稱和設定檔名稱,如上所述。 -
設定遊戲伺服器建置安裝指令碼來安裝和啟動 CloudWatch 代理程式。
將程式碼新增至您的應用程式以擔任 IAM 角色,並取得與您的 AWS 資源互動的登入資料。在具有伺服器 SDK 4 或更早版本的Amazon GameLift Servers機群執行個體上執行的任何應用程式都可以擔任 IAM 角色。
在應用程式程式碼中,在存取 AWS 資源之前,應用程式必須呼叫 AWS Security Token Service (AWS STS) AssumeRole
API 操作並指定角色 ARN。此操作會傳回一組臨時登入資料,授權應用程式存取 AWS 資源。如需詳細資訊,請參閱《IAM 使用者指南》中的將臨時登入資料與 AWS 資源搭配使用。
將機群與 IAM 角色建立關聯
在您建立 IAM 角色並更新遊戲伺服器建置中的應用程式以取得和使用存取憑證之後,您可以部署機群。當您設定新機群時,請設定下列參數:
InstanceRoleArn – 將此參數設定為 IAM 角色的 ARN。
InstanceRoleCredentialsProvider – 若要提示 為每個機群執行個體Amazon GameLift Servers產生共用登入資料檔案,請將此參數設定為
SHARED_CREDENTIAL_FILE
。
建立機群時,您必須設定這些值。它們稍後無法更新。
使用 VPC 對等互連存取 AWS 資源
您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 對等互連,在Amazon GameLift Servers執行個體上執行的應用程式與其他 AWS 資源之間進行通訊。VPC 是您定義的虛擬私有網路,其中包含透過 管理的一組資源 AWS 帳戶。每個 Amazon GameLift Servers 叢集都有自己的 VPC。使用 VPC 對等互連,您可以在機群的 VPC 與其他 AWS 資源之間建立直接網路連線。
Amazon GameLift Servers 簡化為遊戲伺服器設定 VPC 對等互連的程序。它會處理對等請求、更新路由表,並視需要設定連線。如需如何為遊戲伺服器設定 VPC 對等互連的說明,請參閱 適用於 Amazon GameLift Servers 的 VPC 對等互連。