Erstellen Sie eine Containergruppendefinition für eine Amazon GameLift Servers Containerflotte - Amazon GameLift Servers

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine Containergruppendefinition für eine Amazon GameLift Servers Containerflotte

Eine Container-Gruppendefinition beschreibt, wie Sie Ihre containerisierten Gameserver-Anwendungen in einer Containerflotte bereitstellen. Es ist ein Blueprint, der festlegt, Amazon GameLift Servers welche Container-Images für die Flotte bereitgestellt werden sollen und wie sie ausgeführt werden. Wenn Sie eine Containerflotte erstellen, geben Sie die Containergruppendefinitionen an, die für die Flotte bereitgestellt werden sollen. Weitere Informationen zu Containergruppen finden Sie unterKomponenten der Containerflotte.

Bevor Sie beginnen

Tipps dazu, was Sie tun sollten, bevor Sie mit der Erstellung einer Container-Gruppendefinition beginnen:

  • Finalisieren Sie Ihre Container-Images und übertragen Sie sie in ein Amazon Elastic Container Registry (Amazon ECR) -Repository, in AWS-Region dem Sie die Container-Gruppe erstellen möchten. Amazon GameLift Serverserfasst zum Zeitpunkt der Erstellung der Container-Gruppendefinition einen Snapshot von jedem Image und verwendet den Snapshot bei der Bereitstellung in einer Containerflotte. Siehe Erstellen Sie ein Container-Image für Amazon GameLift Servers.

  • Erstellen Sie Ihre Containerdefinitionen als JSON-Dateien. Eine Container-Gruppendefinition umfasst eine oder mehrere Containerdefinitionen. Sie können die JSON-Dateien verwenden, wenn Sie eine Container-Gruppendefinition mit der erstellen AWS CLIfor Amazon GameLift Servers.

  • Stellen Sie sicher, dass Ihr AWS Benutzer über IAM-Berechtigungen für den Zugriff auf das Amazon ECR-Repository verfügt. Siehe Beispiele für IAM-Berechtigungen für Amazon GameLift Servers.

Erstellen Sie eine Spielserver-Container-Gruppendefinition

Eine Spieleserver-Containergruppe führt Ihre Spieleserver-Software aus. Eine Spieleserver-Containergruppe hat einen Gameserver-Container, auf dem die ausführbare Spieleserver-Datei ausgeführt wird. Sie kann auch über einen oder mehrere Support-Container verfügen, in denen zusätzliche Software zur Unterstützung Ihres Spieleservers ausgeführt werden kann. (Diese werden manchmal als „Sidecar“ -Container bezeichnet.)

In diesem Thema wird beschrieben, wie Sie mithilfe der Amazon GameLift Servers Konsolen- oder AWS CLI-Tools eine einfache Gameserver-Container-Gruppendefinition erstellen. Ausführlichere Informationen zu optionalen Funktionen finden Sie unterPassen Sie eine Amazon GameLift Servers Containerflotte an.

Anmerkung

Sie können die meisten Container-Gruppendefinitionen und Container-Definitionseinstellungen ändern, nachdem Sie sie erstellt haben. Wenn Sie Änderungen an einer Container-Definition vornehmen, wird Amazon GameLift Servers ein neuer Snapshot der aktualisierten Container-Images erstellt.

So erstellen Sie eine einfache Gameserver-Container-Gruppendefinition:

Die folgenden Anweisungen beschreiben, wie Sie eine Container-Gruppendefinition mit den minimal erforderlichen Parametern und unter Verwendung der Amazon GameLift Servers Standardwerte erstellen.

Console

Wählen Sie in der Amazon GameLift ServersKonsole den AWS-Region Ort aus, an dem Sie die Containergruppe erstellen möchten.

Öffnen Sie die linke Navigationsleiste der Konsole und wählen Sie Verwaltete Container: Gruppendefinitionen. Wählen Sie auf der Definitionsseite für Containergruppen die Option Gruppendefinition erstellen aus.

Schritt 1: Definieren Sie die Details der Container-Gruppendefinition
  1. Geben Sie einen Definitionsnamen für eine Container-Gruppe ein. Der Name muss für die Region AWS-Konto und eindeutig sein.

  2. Wählen Sie den Container-Gruppentyp Spieleserver aus.

  3. Geben Sie unter Gesamtspeicherlimit die maximale Anzahl an Speicherressourcen ein, die für alle Container in der Containergruppe verfügbar sein sollen. Hilfe zur Berechnung dieses Werts finden Sie unterLegen Sie Ressourcenlimits fest.

  4. Geben Sie für Total vCPU limit die maximale Rechenleistung ein, die für alle Container in der Containergruppe verfügbar sein soll. Hilfe zur Berechnung dieses Werts finden Sie unterLegen Sie Ressourcenlimits fest.

Schritt 2: Fügen Sie Containerdefinitionen hinzu

Eine Spielserver-Containergruppe hat mindestens einen Spieleserver-Container. In der Konsole ist die erste Container-Definition, die Sie erstellen, der Gameserver-Container. In diesem Schritt wird beschrieben, wie Sie die erforderlichen Mindesteinstellungen für eine Gameserver-Container-Definition definieren.

  1. Geben Sie einen Namen für die Container-Definition ein. Jeder für die Gruppe definierte Container muss einen eindeutigen Namenswert haben.

  2. Link zu einem Container-Image mit deinem Gameserver-Build. Geben Sie den Amazon ECR-Image-URI für ein Container-Image in einem öffentlichen oder privaten Repository ein. Sie können eines der folgenden Formate verwenden:

    • Nur Bild-URI: [AWS-Konto].dkr.ecr.[AWS-Region].amazonaws.com/[repository ID]

    • Bild-URI + Digest: [AWS-Konto].dkr.ecr.[AWS-Region].amazonaws.com/[repository ID]@[digest]

    • Bild-URI + Tag: [AWS-Konto].dkr.ecr.[AWS-Region].amazonaws.com/[repository ID]:[tag]

  3. Geben Sie die Amazon GameLift Servers Server-SDK-Version an, die der Spieleserver-Build verwendet. Für eine Containerflotte muss dieser Wert 5.2.0 oder höher sein.

  4. Stellen Sie unter Interner Container-Portbereich das Protokoll ein und definieren Sie einen Portbereich. Die Bereichsgröße muss größer sein als die Anzahl der gleichzeitigen Spielserverprozesse, die in diesem Container ausgeführt werden. Wenn der Spieleserver-Container nur einen Serverprozess pro Container ausführt, benötigt dieser Portbereich nur wenige Ports. Weitere Details finden Sie unter Netzwerkverbindungen konfigurieren.

  5. Fügen Sie nach Bedarf weitere Container hinzu, um zusätzliche Support-Software auszuführen. Zusätzliche Container werden automatisch als Support-Container ausgewiesen. Eine Spieleserver-Containergruppe kann nur einen Spieleserver-Container und bis zu acht Support-Container haben. Geben Sie die folgenden mindestens erforderlichen Einstellungen an:

    • Name der Containerdefinition

    • URI des ECR-Bilds.

    • Interne Container-Ports (Geben Sie dies nur an, wenn der Container über Prozesse verfügt, die Netzwerkzugriff benötigen.)

Schritt 3: Abhängigkeiten konfigurieren
  • Wenn Ihre Container-Gruppendefinition mehr als einen Container enthält, können Sie optional Abhängigkeiten zwischen den Containern festlegen. Weitere Informationen finden Sie unter Legen Sie Container-Abhängigkeiten fest.

Schritt 3: Überprüfen und Erstellen
  1. Überprüfen Sie alle Ihre Definitionseinstellungen für Containergruppen. Verwenden Sie Bearbeiten, um Änderungen an einem beliebigen Abschnitt vorzunehmen, einschließlich jeder Ihrer Container-Definitionen für die Gruppe.

  2. Wenn Sie mit der Überprüfung fertig sind, wählen Sie Erstellen.

    Wenn Ihre Anfrage erfolgreich ist, zeigt die Konsole die Detailseite für die neue Container-Gruppen-Definitionsressource an. Anfänglich lautet der StatusCOPYING, als Amazon GameLift Servers beginnt, Schnappschüsse aller Container-Images für die Gruppe zu erstellen. Wenn diese Phase abgeschlossen ist, ändert sich der Status der Container-Gruppendefinition aufREADY. Eine Containergruppendefinition muss den READY Status haben, bevor Sie damit eine Containerflotte erstellen können.

AWS CLI

Wenn Sie die AWS CLI verwenden, um eine Container-Gruppendefinition zu erstellen, verwalten Sie Ihre Container-Definitionskonfigurationen in einer separaten JSON Datei. Sie können in Ihrem CLI-Befehl auf die Datei verweisen. Schemabeispiele finden Sie unterErstellen Sie eine JSON Container-Definitionsdatei.

Erstellen Sie eine Container-Gruppendefinition

Verwenden Sie den create-container-group-definition CLI-Befehl, um eine neue Container-Gruppendefinition zu erstellen. Weitere Informationen zu diesem Befehl finden Sie create-container-group-definitionin der AWS CLI-Befehlsreferenz.

Dieses Beispiel veranschaulicht eine Anforderung für eine Spielserver-Container-Gruppendefinition. Es wird davon ausgegangen, dass Sie eine JSON-Datei mit den Containerdefinitionen für diese Gruppe erstellt haben.

aws gamelift create-container-group-definition \ --name MyAdventureGameContainerGroup \ --operating-system AMAZON_LINUX_2023 \ --container-group-type GAME_SERVER \ --total-memory-limit-mebibytes 4096 \ --total-vcpu-limit 1 \ --game-server-container-definition file://MyAdventureGameContainers.json

Erstellen Sie eine JSON Container-Definitionsdatei

Wenn Sie eine Container-Gruppendefinition erstellen, definieren Sie auch die Container für die Gruppe. Eine Container-Definition spezifiziert das Amazon ECR-Repository, in dem das Container-Image gespeichert ist, sowie optionale Konfigurationen für Netzwerkports, Grenzwerte für die CPU- und Speicherauslastung und andere Einstellungen. Wir empfehlen, eine einzige JSON Datei mit den Konfigurationen für alle Container in einer Containergruppe zu erstellen. Die Pflege einer Datei ist nützlich, um diese kritischen Konfigurationen zu speichern, gemeinsam zu nutzen und Versionen nachzuverfolgen. Wenn Sie die AWS CLI verwenden, um Ihre Container-Gruppendefinitionen zu erstellen, können Sie im Befehl auf die Datei verweisen.

Um eine Container-Definition zu erstellen
  1. Erstellen und öffnen Sie eine neue .JSON Datei. Zum Beispiel:

    [~/work/glc]$ vim SimpleServer.json
  2. Erstellen Sie für jeden Container der Gruppe eine separate Containerdefinition. Kopieren Sie den folgenden Beispielinhalt und ändern Sie ihn nach Bedarf für Ihre Container. Einzelheiten zur Syntax einer Container-Definition finden Sie ContainerDefinitionInputin der Amazon GameLift ServersAPI-Referenz.

  3. Speichern Sie die Datei lokal, damit Sie in einem AWS CLI-Befehl darauf verweisen können.

Dieses Beispiel beschreibt den wesentlichen Container für Ihre Gameserver-Containergruppe. Der Container „Essential Replica“ umfasst Ihre Gameserver-Anwendung, den Amazon GameLift Servers Agenten, und kann auch andere unterstützende Software für Ihr Spiele-Hosting enthalten. Die Definition muss einen Namen, eine Bild-URI und eine Portkonfiguration enthalten. In diesem Beispiel werden auch einige containerspezifische Ressourcenlimits festgelegt.

{ "ContainerName": "MyAdventureGameServer", "ImageUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/gl-containers:myadventuregame-server", "PortConfiguration": { "ContainerPortRanges": [ { "FromPort": 2000, "Protocol": "TCP", "ToPort": 2010 } ] }, "ServerSdkVersion": "5.2.0" }