View a markdown version of this page

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

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 GameLift Amazon-Server Containerflotte

Eine Containergruppendefinition beschreibt, wie Sie Ihre containerisierten Spieleserveranwendungen 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, was zu tun ist, bevor Sie mit der Erstellung einer Containergruppendefinition beginnen:

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

  • Erstellen Sie Ihre Container-Definitionen als JSON-Dateien. Eine Containergruppendefinition umfasst eine oder mehrere Container-Definitionen. Sie können die JSON-Dateien verwenden, wenn Sie mit der AWS CLI für eine Containergruppendefinition erstellenAmazon 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 Definition für eine Gameserver-Container-Gruppe

Eine Gameserver-Containergruppe führt Ihre Spieleserversoftware aus. Eine Spieleserver-Containergruppe hat einen Spieleserver-Container, auf dem die Programmdatei des Spielservers ausgeführt wird. Sie kann auch einen oder mehrere Support-Container enthalten, um zusätzliche Software zur Unterstützung Ihres Spieleservers auszuführen. (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 Definition für Spieleserver-Containergruppen erstellen. Weitere Informationen zu optionalen Funktionen finden Sie unterPersonalisieren Sie eine GameLift Amazon-Server Containerflotte.

Anmerkung

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

So erstellst du eine einfache Definition einer Gameserver-Containergruppe:

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

Console

Wählen Sie in der Amazon GameLift Servers Konsole 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 Definitionsdetails für Containergruppen
  1. Geben Sie einen Definitionsnamen für die Containergruppe ein. Der Name muss für die Region AWS-Konto und eindeutig sein.

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

  3. Geben Sie für Gesamtspeicherlimit die maximale Speicherressourcen ein, die allen Containern in der Containergruppe zur Verfügung stehen sollen. Hilfe zur Berechnung dieses Werts finden Sie unterLegen Sie Ressourcenlimits fest.

  4. Geben Sie unter Gesamt-vCPU-Limit die maximale Rechenleistung ein, die allen Containern in der Containergruppe zur Verfügung gestellt werden soll. Hilfe zur Berechnung dieses Werts finden Sie unterLegen Sie Ressourcenlimits fest.

Schritt 2: Fügen Sie Containerdefinitionen hinzu

Eine Spieleserver-Containergruppe hat mindestens einen Spieleserver-Container. In der Konsole ist die erste Container-Definition, die Sie erstellen, der Spieleserver-Container. In diesem Schritt wird beschrieben, wie Sie die erforderlichen Mindesteinstellungen für eine Spieleserver-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 Spieleserver-Build. Geben Sie die 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. Legen Sie unter Interner Container-Portbereich das Protokoll fest und definieren Sie einen Portbereich. Die Bereichsgröße muss größer sein als die Anzahl der gleichzeitigen Spieleserverprozesse, die in diesem Container ausgeführt werden. Wenn auf dem Spieleserver-Container nur ein Serverprozess pro Container ausgeführt wird, 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 bezeichnet. Eine Spieleserver-Containergruppe kann nur einen Spieleserver-Container und bis zu acht Support-Container enthalten. Stellen Sie die folgenden erforderlichen Mindesteinstellungen bereit:

    • Name der Containerdefinition

    • URI des ECR-Bilds.

    • Interne Container-Ports (Schließen Sie dies nur ein, 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 Festlegen von Containerabhängigkeiten.

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 aller Ihrer Container-Definitionen für die Gruppe.

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

    Wenn Ihre Anfrage erfolgreich ist, zeigt die Konsole die Detailseite für die neue Ressource zur Definition von Containergruppen an. Anfänglich lautet der StatusCOPYING, da Amazon GameLift Servers mit der Erstellung von Schnappschüssen aller Container-Images für die Gruppe begonnen wird. Wenn diese Phase abgeschlossen ist, ändert sich der Status der Containergruppendefinition inREADY. Eine Containergruppendefinition muss im READY Status sein, bevor Sie damit eine Containerflotte erstellen können.

AWS CLI

Wenn Sie die AWS CLI verwenden, um eine Containergruppendefinition 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-Datei mit Containerdefinitionen.

Erstellen Sie eine Containergruppendefinition

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

Dieses Beispiel veranschaulicht eine Anfrage für eine Spieleserver-Container-Gruppendefinition. Es wird davon ausgegangen, dass Sie eine JSON-Datei mit den Container-Definitionen 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-Datei mit Containerdefinitionen

Wenn Sie eine Containergruppendefinition erstellen, definieren Sie auch die Container für die Gruppe. Eine Container-Definition spezifiziert das Amazon ECR-Repository, in dem das Container-Image gespeichert wird, sowie optionale Konfigurationen für Netzwerkports, Grenzwerte für die CPU- und Speichernutzung und andere Einstellungen. Wir empfehlen, eine einzige JSON Datei mit den Konfigurationen für alle Container in einer Containergruppe zu erstellen. Die Verwaltung 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 Containergruppendefinitionen 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. Beispiel:

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

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

Beispiel

Dieses Beispiel beschreibt den wesentlichen Container für deine Spieleserver-Containergruppe. Der Container „Essential Replica“ beinhaltet deine Gameserver-Anwendung, den Amazon GameLift Servers Agenten, und kann weitere unterstützende Software für dein Game-Hosting enthalten. Die Definition muss einen Namen, eine Image-URI und eine Portkonfiguration enthalten. In diesem Beispiel werden auch einige containerspezifische Ressourcenbeschränkungen 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" }