本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
與機群中的其他 AWS 資源通訊
當您建立遊戲伺服器建置以在 Amazon GameLift 機群上部署時,您可能會希望遊戲建置中的應用程式直接且安全地與您擁有的其他 AWS 資源通訊。由於 Amazon 會 GameLift 管理您的遊戲託管機群,因此您必須讓 Amazon GameLift 有限地存取這些資源和服務。
一些範例案例包括:
-
使用 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 支援下列建立存取的方法:
使用 IAM角色存取 AWS 資源
使用 IAM角色來指定誰可以存取您的 資源,並設定該存取的限制。受信任方可以「假設」角色,並取得臨時安全憑證,以授權他們與 資源互動。當各方提出與資源相關的API請求時,他們必須包含憑證。
若要設定由IAM角色控制的存取,請執行下列任務:
建立IAM角色
在此步驟中,您會建立具有一組許可IAM的角色,以控制對 AWS 資源的存取,以及授予 Amazon 使用角色許可 GameLift 的權利的信任政策。
如需如何設定IAM角色 的指示,請參閱 設定 Amazon IAM的服務角色 GameLift。建立許可政策時,請選擇應用程式需要使用的特定服務、資源和動作。最佳實務是盡可能限制許可的範圍。
建立角色之後,請記下角色的 Amazon Resource Name (ARN)。您需要在機群建立ARN期間擔任 角色。
修改應用程式以取得憑證
在此步驟中,您可以將應用程式設定為取得IAM角色的安全憑證,並在與 AWS 資源互動時使用。請參閱下表以決定如何根據 (1) 應用程式類型,以及 (2) 遊戲用來與 Amazon 通訊的伺服器SDK版本來修改應用程式 GameLift。
遊戲伺服器應用程式 | 其他應用程式 | |
---|---|---|
使用伺服器 5.x SDK版 |
|
將程式碼新增至應用程式,從機群執行個體上的共用檔案提取憑證。 |
使用伺服器第 4 SDK版或更早版本 |
|
|
對於與伺服器 5.x SDK 整合的遊戲,此圖表說明部署的遊戲組建中的應用程式如何取得IAM角色的憑證。
在應該已與 Amazon GameLift 伺服器 SDK 5.x 整合的遊戲伺服器程式碼中,呼叫 GetFleetRoleCredentials
(C++) (C#) (Unreal ) (前往 ) 以擷取一組臨時憑證。當憑證過期時,您可以使用對 的另一個呼叫來重新整理憑證GetFleetRoleCredentials
。
對於使用伺服器 SDK5.x 與遊戲伺服器建置一起部署的非伺服器應用程式,請新增程式碼,以取得並使用儲存在共用檔案中的憑證。Amazon 會為每個機群執行個體 GameLift 產生憑證設定檔。憑證可供執行個體上的所有應用程式使用。Amazon GameLift 會持續重新整理暫時憑證。
您必須設定機群以在機群建立時產生共用憑證檔案。
在需要使用共用憑證檔案的每個應用程式中,指定檔案位置和設定檔名稱,如下所示:
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 機群執行個體的指標
如果您想要使用 Amazon CloudWatch 代理程式從 Amazon GameLift 機群收集指標、日誌和追蹤,請使用此方法授權代理程式將資料傳送到您的帳戶。在此案例中,請採取下列步驟:
-
擷取或寫入 CloudWatch 代理程式
config.json
檔案。 -
更新代理
common-config.toml
程式的檔案,以識別憑證檔案名稱和設定檔名稱,如上所述。 -
設定您的遊戲伺服器建置安裝指令碼以安裝和啟動 CloudWatch 代理程式。
將程式碼新增至您的應用程式以擔任IAM角色,並取得與您的 AWS 資源互動的憑證。在伺服器 4 SDK 或更早版本的 Amazon GameLift 機群執行個體上執行的任何應用程式都可以擔任 IAM角色。
在應用程式程式碼中,在存取 AWS 資源之前,應用程式必須呼叫 AWS Security Token Service (AWS STS) AssumeRole
API操作並指定角色 ARN。此操作會傳回一組臨時憑證,授權應用程式存取 AWS 資源。如需詳細資訊,請參閱 IAM 使用者指南 中的將臨時憑證與 AWS 資源搭配使用。
將機群與 IAM 角色建立關聯
建立IAM角色並更新遊戲伺服器建置中的應用程式以取得並使用存取憑證後,即可部署機群。當您設定新機群時,請設定下列參數:
InstanceRoleArn – 將此參數設定為IAM角色ARN的 。
InstanceRoleCredentialsProvider – 若要提示 Amazon 為每個機群執行個體 GameLift 產生共用憑證檔案,請將此參數設定為
SHARED_CREDENTIAL_FILE
。
建立機群時,您必須設定這些值。它們稍後無法更新。
使用VPC對等存取 AWS 資源
您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 對等,在 Amazon GameLift 執行個體上執行的應用程式與其他 AWS 資源之間進行通訊。VPC 是您定義的虛擬私有網路,其中包含一組透過 管理的資源 AWS 帳戶。每個 Amazon GameLift 機群都有自己的 VPC。透過VPC對等,您可以在機群VPC的 與其它 AWS 資源之間建立直接網路連線。
Amazon 可 GameLift 簡化為遊戲伺服器設定VPC對等連線的程序。它會處理對等請求、更新路由表,並視需要設定連線。如需如何為遊戲伺服器設定VPC對等互連的說明,請參閱 適用於亞馬遜的 VPC 對等互連 GameLift。