本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 Amazon 容器叢集建立 GameLift 容器群組定義
本文件適用於公開預覽版本中的功能。內容可能變動。
容器群組定義說明如何將容器化遊戲伺服器應用程式部署到容器叢集。這是一個藍圖,可識別要在叢集上執行的容器集,以及如何執行它們。建立容器叢集時,您可以指定要部署至叢集的容器群組定義。如需容器群組的詳細資訊,請參閱貨櫃車隊元件。
開始之前
完成下列任務:
-
設計用於託管遊戲伺服器的容器架構。請參閱設計 Amazon GameLift 貨櫃車隊。
-
規劃要包含在容器群組中的容器定義。如果您使用 AWS CLI,請在 JSON 檔案中建立容器定義。
-
將最終容器映像推送至您打算建立容器群組的 Amazon 彈性容器登錄檔 (Amazon ECR) 登錄。 AWS 區域 Amazon 會在您建立容器群組定義時 GameLift 存放每個映像的快照,並在部署到容器叢集時使用該副本。請參閱使用您的遊戲伺服器軟體準備容器映像檔。
-
確認您的 AWS 使用者具有存取權管理權限以存取 Amazon ECR 儲存庫。請參閱管理 Amazon 的用戶許可 GameLift。您至少需要下列動作的權限:
ecr:DescribeImages
ecr:BatchGetImage
ecr:GetDownloadUrlForLayer
複製容器群組定義
您可以使用 Amazon GameLift 主控台複製現有的容器群組定義。
複製容器群組
-
在 Amazon 主 GameLift 控台
中,移至左側導覽窗格,然後選擇容器群組。 在 [容器群組清單] 頁面上,選取要複製的現有容器群組。選取容器群組之後,[複製] 按鈕就會處於作用中狀態。
選擇複製。此動作會以預先填入的設定開啟容器群組建立精靈。
輸入複製的容器群組的新名稱。相同區域中的容器群組必須具有唯一的名稱。
逐步瀏覽容器群組和容器定義頁面、檢閱並建立新的容器群組。
建立複本容器群組定義
複本容器群組會管理您的遊戲伺服器軟體。複本容器群組至少有一個執行 Amazon GameLift 代理程式和遊戲伺服器程序的容器。群組可能有額外的「附屬」容器來執行支援軟體。
本主題說明如何使用 Amazon 主 GameLift 控台或 AWS CLI 工具建立容器群組定義。如需有關設定容器群組組態的詳細資訊,請參閱設計 Amazon GameLift 貨櫃車隊。
建立容器定義JSON
檔
建立容器群組定義時,也會定義群組的容器。容器定義會指定儲存容器映像的 Amazon ECR 儲存庫,以及網路連接埠的選用組態、CPU 和記憶體使用量限制以及其他設定。建議您建立單一JSON
檔案,其中包含容器群組中所有容器的組態。維護文件對於存儲,共享和版本跟踪這些關鍵配置非常有用。如果您使用 AWS CLI 建立容器群組定義,您可以在命令中參考檔案。
若要建立容器定義
建立並開啟新
.JSON
檔案。例如:[~/work/glc]$
vim SimpleServer.json為群組的每個容器建立個別的容器定義。複製下列範例內容,並視需要為您的容器加以修改。如需容器定義語法的詳細資訊,請參閱 Amazon GameLift API 參考ContainerDefinitionInput中的。
將檔案儲存在本機,以便您可以在 AWS CLI 指令中參考該檔案。
此範例說明複本容器群組的基本容器。基本複本容器包括您的遊戲伺服器應用程式、Amazon GameLift Agent,並且可以包含用於遊戲託管的其他支援軟體。定義必須包含名稱、映像 URI 和連接埠組態。此範例也會設定一些容器特定的資源限制。
[ { "ContainerName": "SimpleServer", "ImageUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/gl-containers:complex-server", "Essential": true, "Cpu": 256, "MemoryLimits": { "HardLimit": 128 }, "PortConfiguration": { "ContainerPortRanges": [ { "FromPort": 2000, "Protocol": "TCP", "ToPort": 2100 } ] } } ]