Entwerfen Sie eine GameLift Amazon-Containerflotte - Amazon GameLift

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.

Entwerfen Sie eine GameLift Amazon-Containerflotte

Diese Dokumentation bezieht sich auf eine Funktion, die sich in der öffentlichen Vorschauversion befindet. Änderungen sind vorbehalten.

In diesen Themen werden die wichtigsten Entscheidungen vorgestellt, die Sie beim Aufbau einer GameLift Amazon-Containerflotte treffen werden. Ihre Entscheidungen wirken sich darauf aus, wie Sie die Einstellungen für Container, Containergruppen und Flotten konfigurieren.

Entwerfen Sie die Containerstruktur Ihrer Flotte

Identifizieren Sie als ersten Schritt die Software und die Ressourcen, die zum Hosten Ihres Spieleservers benötigt werden, einschließlich der folgenden:

  • Deine Gameserver-Anwendung. Die Anwendung muss in die GameLift Amazon-Funktionalität für das Hosting integriert sein, einschließlich des Server-SDK Version 5+. Siehe Integriere dein Spiel mit Amazon GameLift.

  • Der GameLift Amazon-Agent. Dieser On-Compute-Agent unterhält die Kommunikation mit dem GameLift Amazon-Service und verwaltet den Lebenszyklus aller Spieleserverprozesse. Weitere Details finden Sie unter Spieleserver und der Amazon GameLift Agent.

  • Zusätzliche Software und Ressourcen nach Bedarf. Dies kann Software beinhalten, die zum Ausführen deiner Gameserver-Anwendungen benötigt wird. Für die Protokollierung und Überwachung, Sicherheit, Inhaltsbereitstellung und Datensynchronisierung wird gängige unterstützende Software verwendet.

Entscheiden Sie als Nächstes, wie Sie Ihre Software und Ressourcen für eine GameLift Amazon-Containerflotte strukturieren möchten. Amazon GameLift verwendet Containergruppen, um Container zu organisieren. Eine Flotte hat immer eine Replikat-Containergruppe und kann optional über eine Daemon-Containerflotte verfügen. Weitere Details finden Sie unter Komponenten der Containerflotte.

  • Beginnen Sie mit dem Entwerfen Ihrer Replikat-Containergruppe. Berücksichtigen Sie die folgenden Hinweise:

    • Bündeln Sie Ihre Gameserver-Anwendung und den Amazon GameLift Agent in demselben Container. Machen Sie diesen Container zum einzigen wichtigen Container der Replikatgruppe.

    • Organisieren Sie alle andere Software für Ihren Spieleserver in Containern. Sie können sich dafür entscheiden, alles in einem einzigen Container in der Replikatgruppe abzulegen. Sie können sich auch dafür entscheiden, einen oder mehrere Sidecar-Container zu erstellen. Zu den Gründen für die Verwendung von Beiwagen gehören:

      • Um eine Start-/Abschaltsequenz für einzelne Software einzurichten. Sie können dies erreichen, indem Sie Software in separaten Containern platzieren und Abhängigkeiten zwischen diesen einrichten.

      • Um containerspezifische Grenzwerte für die Speicher- und CPU-Auslastung festzulegen.

      • Um unterschiedliche Container-Konfigurationseinstellungen für jeden Container anzugeben, z. B. einen Startbefehl, einen Einstiegspunkt, ein Arbeitsverzeichnis, Umgebungsvariablen oder Integritätsprüfungen.

  • Entscheiden Sie, ob Sie eine Daemon-Containergruppe für Ihre Flotte benötigen. Berücksichtigen Sie dabei Folgendes:

    • Daemon-Container werden in der Regel zur Ausführung von Hintergrund- oder Überwachungsprozessen verwendet.

    • Container in einer Daemon-Gruppe werden nicht auf einer Flotteninstanz repliziert. Das bedeutet, dass Container in einer Daemon-Gruppe nicht zusammen mit der Replikat-Containergruppe skaliert werden.

    • Eine Daemon-Gruppe kann mehrere Container haben. Sie können jeden Container in einer Daemon-Gruppe als essenziell kennzeichnen.

Legen Sie Ressourcenlimits fest

Ermitteln Sie für jede Containergruppe, wie viel Arbeitsspeicher und CPU die Gruppe benötigt, um ihre Software auszuführen. Amazon GameLift stützt sich auf diese Informationen, um die Ressourcen für die Containergruppe zu verwalten. Es verwendet diese Informationen auch, um zu berechnen, wie viele Replikat-Containergruppen ein Flottenimage aufnehmen kann. Sie können auch Grenzwerte für einzelne Container festlegen.

Legen Sie optionale Grenzwerte für Container fest

Durch die Festlegung containerspezifischer Ressourcenlimits können Sie besser kontrollieren, wie einzelne Container die Ressourcen der Gruppe nutzen können. Wenn Sie keine containerspezifischen Grenzwerte festlegen, teilen sich alle Container in der Gruppe die Gruppenressourcen. Die gemeinsame Nutzung bietet mehr Flexibilität, um Ressourcen dort einzusetzen, wo sie benötigt werden. Es erhöht auch das Potenzial, dass Prozesse miteinander konkurrieren und zum Ausfall von Containern führen.

Legen Sie für jeden Container eine der folgenden ContainerDefinition Eigenschaften fest.

  • SoftLimit(Speicher) — Reservieren Sie eine Mindestmenge an Speicher für die ausschließliche Verwendung des Containers. Dem Container steht immer die reservierte Menge zur Verfügung. Dieses Minimum kann jederzeit überschritten werden, sofern zusätzliche Ressourcen verfügbar sind.

  • HardLimit(Speicher) — Legen Sie ein maximales Speicherlimit für den Container fest. Wenn der Container dieses Limit überschreitet, führt dies zu einem Neustart.

  • CpuLimit — Reservieren Sie eine Mindestmenge an CPU-Ressourcen für die ausschließliche Verwendung des Containers. Dem Container steht immer die reservierte Menge zur Verfügung. Dieses Minimum kann jederzeit überschritten werden, sofern zusätzliche Ressourcen verfügbar sind. (1024 CPU-Einheiten entsprechen 1 vCPU.)

Legen Sie die Gesamtressourcenlimits für eine Containergruppe fest

Teilen Sie Amazon mit, GameLift wie viel Arbeitsspeicher und CPU-Ressourcen jede Containergruppe benötigt. Ziel ist es, genügend Ressourcen zuzuweisen, um die Leistung des Spieleservers zu optimieren. Amazon GameLift verwendet diese Grenzwerte, um zu berechnen, wie Replikat-Containergruppen auf einer Flotteninstanz gepackt werden. Sie werden sie auch verwenden, wenn Sie einen Instance-Typ für eine Containerflotte auswählen.

Berechnet den gesamten Arbeitsspeicher und die CPU, die für alle Prozesse in jedem Container in einer Gruppe benötigt werden. Berücksichtigen Sie dabei Folgendes:

  • Welche Prozesse werden in allen Containern der Containergruppe ausgeführt? Addieren Sie die für diese Prozesse benötigten Ressourcen.

  • Wie viele Gameserver-Prozesse möchten Sie in jeder Containergruppe gleichzeitig ausführen? Sie legen diesen Wert als Teil der Laufzeitkonfiguration einer Flotte fest, aber Sie müssen hier genügend Speicher für sie einplanen (siehe Optimieren Sie Ihre Laufzeitkonfiguration).

Legen Sie auf der Grundlage Ihrer Schätzung der Anforderungen an Containergruppen die folgenden ContainerGroupDefinition Eigenschaften fest:

  • TotalMemoryLimit— Legen Sie ein maximales Speicherlimit für die Containergruppe fest. Alle Container in der Gruppe teilen sich den zugewiesenen Speicher. Wenn Sie Grenzwerte für einzelne Container festlegen, muss das Gesamtspeicherlimit wie folgt lauten:

    • gleich oder größer als die Summe aller Soft-Memory-Limits für Container

    • gleich oder größer als das höchste Hard-Memory-Limit für einen Container in der Gruppe

  • TotalCpuLimit — Legen Sie ein maximales CPU-Limit für die Containergruppe fest. Alle Container in der Gruppe teilen sich die zugewiesenen CPU-Ressourcen. Wenn Sie Grenzwerte für einzelne Container festlegen, muss das gesamte CPU-Limit wie folgt lauten:

    • gleich oder größer als die Summe aller Container-CPU-Grenzwerte. Es hat sich bewährt, diesen Wert auf das Doppelte der Summe der Container-CPU-Grenzwerte festzulegen.

Beispielszenario

Nehmen wir an, wir definieren eine Replikatcontainergruppe mit den folgenden drei Containern:

  • Container A ist unser unverzichtbarer Replikat-Container. Es führt Spielserverprozesse und den Amazon GameLift Agent aus. Wir schätzen den Ressourcenbedarf für einen Spieleserver auf 512 MiB und 1024 CPU. Wir planen, den Container 10 Serverprozesse ausführen zu lassen. Da auf diesem Container unsere kritischste Software ausgeführt wird, haben wir eine weiche Speicherreserve von 6144 MiB und kein Hard-Memory-Limit oder CPU-Reservelimit festgelegt.

  • In Container B wird unterstützende Software mit geschätzten Ressourcenanforderungen von 1024 MiB und 1536 CPUs ausgeführt. Wir haben ein Soft-Memory-Reserve-Limit von 1024 MiB, ein Hard-Memory-Limit von 2048 MiB und ein CPU-Reservelimit von 1024 CPU festgelegt.

  • Container C führt unkritische Protokollierungs- und andere Überwachungsprogramme aus. Wir haben ein Festplattenlimit von 512 MiB und ein CPU-Reservelimit von 512 CPU festgelegt.

Anhand dieser Informationen haben wir die folgenden Gesamtgrenzen für die Containergruppe festgelegt:

  • Gesamtspeicherlimit: 7680 MiB. Dieser Wert überschreitet (1) die Summe der Soft-Memory-Limits (6144+1024 MiB) und (2) die höchste Hard-Memory-Grenze (1024 MiB).

  • Gesamtes CPU-Limit: 13312 CPU. Dieser Wert überschreitet die Summe des CPU-Limits (1024+512 CPU).

Benennen Sie wichtige Container

Geben Sie für jeden Behälter den Behälter als unverzichtbar oder nicht unbedingt erforderlich an. Alle Containergruppen müssen mindestens einen Behälter für wichtige Zwecke haben. Der Essential-Container erledigt die wichtige Arbeit der Container-Gruppe, z. B. das Hosten Ihrer Spieleserver. Es wird erwartet, dass der Essential-Container immer läuft. Wenn dies fehlschlägt, wird die gesamte Containergruppe neu gestartet.

  • Die Replikatcontainergruppe Ihrer Flotte kann genau einen wichtigen Container enthalten. In diesem Container laufen der Amazon GameLift Agent und die von ihm verwalteten Spieleserverprozesse.

  • Wenn Ihre Flotte über eine Daemon-Containergruppe verfügt, können Sie mehrere wichtige Container festlegen. Machen Sie einen Daemon-Container unverzichtbar, wenn Sie möchten, dass ein Container-Fehler einen Neustart der Containergruppe veranlasst.

Setzen Sie Essential die ContainerDefinition Eigenschaft für jeden Container entweder auf true oder false.

Netzwerkverbindungen konfigurieren

Sie können einen Netzwerkzugriff einrichten, damit externer Verkehr eine Verbindung zu jedem Container in einer Containerflotte herstellen kann. Sie müssen beispielsweise Netzwerkverbindungen zu dem Container herstellen, auf dem Ihre Spieleserverprozesse ausgeführt werden, damit Spieleclients Ihrem Spiel beitreten und es spielen können. Spieleclients stellen über Ports und IP-Adressen eine Verbindung zu Spieleservern her.

In einer Containerflotte besteht keine direkte Verbindung zwischen einem Client und einem Server. Intern hört ein Prozess in einem Container auf einem Container-Port ab. Extern stellt der eingehende Verkehr über einen Verbindungsport eine Verbindung zu einer Flotteninstanz her. Amazon GameLift verwaltet die Zuordnungen zwischen internen Container-Ports und nach außen gerichteten Verbindungsports, sodass eingehender Datenverkehr an den richtigen Prozess auf der Instance weitergeleitet wird.

Amazon GameLift bietet eine zusätzliche Kontrollebene für Ihre Netzwerkverbindungen. Jede Containerflotte verfügt über eine Einstellung für Eingangsberechtigungen, mit der Sie den Zugriff auf jeden nach außen gerichteten Verbindungsport kontrollieren können. Sie können die Portkonfigurationen einer vorhandenen Flotte nicht ändern, aber Sie können den Zugriff nach Bedarf zulassen oder einschränken, indem Sie die Eingangsberechtigungen anpassen. Sie können beispielsweise die Berechtigungen für alle Verbindungsports entfernen, um den gesamten Zugriff auf die Container der Flotte zu unterbinden.

Über Netzwerkports kann externer Datenverkehr eine Verbindung zu Prozessen herstellen, die in einer Containerflotte ausgeführt werden. EC2-Eingangsberechtigungen ermöglichen dem Datenverkehr den Zugriff auf Verbindungsports, die auf jeder Instance in der Flotte geöffnet sind. Verbindungsports werden intern Container-Ports zugeordnet, die einzelnen Prozessen zugewiesen sind.
Legen Sie die Portbereiche für Container fest

Konfigurieren Sie eine Containerdefinition mit ausreichend Container-Ports für jeden Prozess, der externen Zugriff benötigt. Einige Container benötigen keine Ports. Andere müssen über genügend Ports verfügen, um jedem Prozess, der einen benötigt, einen zuzuweisen.

Ihre essenzielle Replica-Containergruppe, die Ihre Spieleserver betreibt, benötigt einen Port für jeden gleichzeitig laufenden Spieleserver-Prozess (wie in der Flotte konfiguriert). RuntimeConfiguration Der Spieleserver-Prozess überwacht den zugewiesenen Port und meldet ihn an Amazon GameLift.

Wenn Sie eine Container-Gruppendefinition erstellen, definieren Sie einen Container-Port-Bereich für jeden Container, der Netzwerkzugriff benötigt (siehe ContainerDefinitionInput: PortConfiguration). Stellen Sie sicher, dass der Bereich groß genug ist, um jedem Prozess, der einen benötigt, einen Port zuzuweisen. Prozessen müssen in der Portkonfiguration des Containers Portnummern zugewiesen werden.

Legen Sie die Portbereiche für die Verbindung fest

Konfigurieren Sie Ihre Containerflotte mit einer Reihe von Verbindungsanschlüssen. Verbindungsports bieten externen Zugriff auf die Flotteninstanzen, auf denen Ihre Container laufen. Amazon GameLift weist Verbindungsports zu und ordnet sie nach Bedarf Container-Ports zu.

Wenn Sie eine Containerflotte erstellen, definieren Sie einen Verbindungsportbereich (siehe ContainerGroupsConfiguration: ConnectionPortRange). Stellen Sie sicher, dass der Bereich über genügend Ports verfügt, um jedem Containerhafen in einer Flotteninstanz zugeordnet zu werden. Verwenden Sie die folgende Formel, um die mindestens erforderlichen Verbindungsports zu berechnen:

[Total number of container ports defined for containers in the replica container group] * [Number of replica container groups per instance] + [Total number of container ports defined for containers in the daemon container group]

Es hat sich bewährt, die Mindestanzahl an Verbindungsanschlüssen zu verdoppeln.

Anmerkung

Die Anzahl der Verbindungsports kann möglicherweise die Anzahl der Replikat-Containergruppen pro Instanz einschränken. Wenn eine Flotte nur über genügend Verbindungsports für eine Replikat-Container-Gruppe pro Instance verfügt, GameLift stellt Amazon nur eine Replikat-Container-Gruppe bereit, auch wenn die Instances über genügend Rechenleistung für mehrere Replikat-Container-Gruppen verfügen.

Legen Sie Berechtigungen für eingehende Nachrichten fest

Eingehende Berechtigungen steuern den externen Zugriff auf eine Containerflotte, indem sie angeben, welche Verbindungsports für eingehenden Verkehr geöffnet werden sollen. Sie können diese Einstellung verwenden, um den Netzwerkzugriff einer Flotte nach Bedarf ein- und auszuschalten.

Wenn Sie eine Containerflotte erstellen, definieren Sie eine Reihe von Berechtigungen für eingehenden Datenverkehr ( CreateFleetsehe:EC2). InboundPermissions Legen Sie die Port-Eigenschaften für eingehende Zugriffe so fest, dass sie einige oder alle Werte in den Verbindungs-Port-Einstellungen der Flotte enthalten. Rufen Sie an, um die Zugriffsberechtigungen für eingehende Sendungen für eine bestehende Containerflotte zu ändern. UpdateFleetPortSettings

Beispielszenario

Dieses Beispiel zeigt, wie alle drei Netzwerkverbindungseigenschaften festgelegt werden.

  • Die Replikatcontainergruppe unserer Flotte besteht aus einem Container, in dem die Spielserverprozesse ausgeführt werden. Die Laufzeitbestätigung weist den Container an, 10 Gameserver-Prozesse gleichzeitig auszuführen.

    In der Definition der Replikat-Container-Gruppe legen wir den PortConfiguration Parameter für diesen Container wie folgt fest:

    "PortConfiguration": { "ContainerPortRanges": [ { "FromPort": 10, "ToPort": 20, "Protocol": "TCP"} ] }
  • Unsere Flotte hat auch eine Daemon-Containergruppe mit einem Container. Es hat 1 Prozess, der Netzwerkzugriff benötigt. In der Definition der Daemon-Container-Gruppe legen wir den PortConfiguration Parameter für diesen Container wie folgt fest:

    "PortConfiguration": { "ContainerPortRanges": [ { "FromPort": 25, "ToPort": 25, "Protocol": "TCP"} ] }
  • Unsere Flotte ist mit 3 Replikat-Containergruppen pro Flotteninstanz konfiguriert. Anhand dieser Informationen können wir die Formel verwenden, um die Anzahl der benötigten Verbindungsanschlüsse zu berechnen:

    • Minimum: 31 Ports [10 Replikat-Container-Ports * 3 Replikat-Containergruppen pro Instanz + 1 Daemon-Container-Port]

    • Bewährtes Verfahren: 62 Anschlüsse [mindestens 2 Anschlüsse]

    Bei der Erstellung der Containerflotte haben wir den ConnectionPortRange Parameter ContainerGroupsConfiguration wie folgt festgelegt:

    "ConnectionPortRange": { "FromPort": 1010, "ToPort": 1071 }
  • Wir möchten den Zugriff auf alle verfügbaren Verbindungsports ermöglichen. Bei der Erstellung der Containerflotte haben wir den EC2InboundPermissions Parameter wie folgt festgelegt:

    "EC2InboundPermissions": [ {"FromPort": 1010, "ToPort": 1071, "IpRange": "10.24.34.0/23", "Protocol": "TCP"} ]

Richten Sie Zustandsprüfungen für Container ein

Ein Container wird automatisch neu gestartet, wenn ein Terminalfehler auftritt, und er wird nicht mehr ausgeführt. Wenn der Container unverzichtbar ist, wird die gesamte Containergruppe neu gestartet.

Sie können zusätzliche benutzerdefinierte Kriterien definieren, um den Zustand des Containers zu messen, und diese Kriterien mit einer Integritätsprüfung testen. Um eine Container-Integritätsprüfung einzurichten, können Sie sie in einem Docker-Container-Image oder in Ihrer Container-Definition definieren. Wenn Sie in der Container-Definition eine Integritätsprüfung einrichten, überschreibt diese alle Einstellungen im Container-Image.

Legen Sie optionale Zustandsprüfungen basierend auf dem Containertyp wie folgt fest:

  • Konfigurieren Sie für einen Container mit essenziellen Replikaten keine Integritätsprüfungen. Der GameLift Amazon-Agent kümmert sich automatisch um die Zustandsberichte für diesen Container.

  • Für Replikat-Container, die nicht unbedingt erforderlich sind, und für alle Daemon-Container können Sie optional Parameter für die Integritätsprüfung festlegen.

Legen Sie die folgenden ContainerDefinition Eigenschaften für eine Container-Zustandsprüfung fest:

  • Command— Stellen Sie einen Befehl bereit, der einen Aspekt des Zustands des Containers überprüft. Sie entscheiden, nach welchen Kriterien der Gesundheitszustand gemessen werden soll. Der Befehl muss zu einem Ausgangswert von 1 (fehlerhaft) oder 0 (fehlerhaft) führen.

  • StartPeriod— Geben Sie eine anfängliche Verzögerung an, bis Fehler bei der Integritätsprüfung gezählt werden. Diese Verzögerung gibt dem Container Zeit, seine Prozesse zu booten.

  • Interval— Entscheiden Sie, wie oft der Health Check-Befehl ausgeführt werden soll. Wie schnell möchten Sie einen Container-Fehler erkennen und beheben?

  • Timeout— Entscheiden Sie, wie lange Sie auf Erfolg oder Misserfolg warten möchten, bevor Sie den Befehl zur Integritätsprüfung erneut ausführen. Wie lange sollte es dauern, bis der Befehl zur Integritätsprüfung abgeschlossen ist?

  • Retries— Wie oft sollte der Health-Check-Befehl wiederholt werden, bevor ein Fehler registriert wird?

Legen Sie Container-Abhängigkeiten fest

Innerhalb jeder Containergruppe können Sie Abhängigkeiten zwischen Containern auf der Grundlage des Containerstatus festlegen. Eine Abhängigkeit wirkt sich darauf aus, wann der abhängige Container je nach Status eines anderen Containers gestartet oder heruntergefahren werden kann.

Ein wichtiger Anwendungsfall für Abhängigkeiten ist die Erstellung von Start- und Shutdown-Sequenzen für die Container-Gruppe.

Sie möchten beispielsweise, dass Container A zuerst gestartet und erfolgreich abgeschlossen wird, bevor Container B und C gestartet werden. Um dies zu erreichen, erstellen Sie zunächst eine Abhängigkeit für Container B von Container A mit der Bedingung, dass Container A erfolgreich abgeschlossen werden muss. Erstellen Sie dann eine Abhängigkeit für Container C von Container A mit derselben Bedingung. Die Startsequenzen werden beim Herunterfahren in umgekehrter Reihenfolge ausgeführt.

Konfigurieren Sie eine Containerflotte

Wenn Sie eine Containerflotte erstellen, sollten Sie die folgenden Entscheidungspunkte berücksichtigen. Die meisten dieser Punkte hängen von Ihrer Container-Architektur und -Konfiguration ab.

Entscheiden Sie, wo Sie Ihre Flotte einsetzen möchten

Im Allgemeinen möchten Sie Ihre Flotten geografisch in der Nähe Ihrer Spieler einsetzen, um die Latenz zu minimieren. Sie können Ihre Containerflotte in jedem Container einsetzen AWS-Region , den Amazon GameLift unterstützt. Wenn du denselben Spielserver an weiteren geografischen Standorten einsetzen möchtest, kannst du der Flotte entfernte Standorte hinzufügen, einschließlich AWS-Regionen Local Zones. Bei einer Flotte mit mehreren Standorten kannst du die Kapazität an jedem Flottenstandort unabhängig anpassen. Weitere Informationen zu unterstützten Flottenstandorten finden Sie unterAmazon GameLift -Hosting-Standorte.

Wählen Sie einen Instance-Typ und eine Instance-Größe für Ihre Flotte

Amazon GameLift unterstützt eine Vielzahl von Amazon EC2 EC2-Instance-Typen, die alle für die Verwendung mit einer Containerflotte verfügbar sind. Die Verfügbarkeit und der Preis des Instance-Typs variieren je nach Standort. Eine nach Standort gefilterte Liste der unterstützten Instance-Typen finden Sie in der GameLift Amazon-Konsole (unter Ressourcen, Instance und Servicequotas).

Bei der Auswahl eines Instance-Typs sollten Sie zunächst die Instance-Familie berücksichtigen. Instance-Familien bieten verschiedene Kombinationen von CPU-, Arbeitsspeicher-, Speicher- und Netzwerkfunktionen. Erfahren Sie mehr über EC2-Instance-Familien. Innerhalb jeder Familie haben Sie eine Reihe von Instance-Größen zur Auswahl. Beachten Sie bei der Auswahl einer Instance-Größe die folgenden Aspekte:

  • Was ist die Mindestinstanzgröße, die Ihren Workload unterstützen kann? Verwenden Sie diese Informationen, um zu kleine Instance-Typen zu eliminieren.

  • Welche Instance-Typgrößen eignen sich gut für Ihre Container-Architektur? Idealerweise sollten Sie eine Größe wählen, die mehrere Kopien Ihrer Replikat-Containergruppe aufnehmen kann und dabei nur wenig Speicherplatz verschwendet.

  • Welche Skalierungsgranularität ist für Ihr Spiel sinnvoll? Beim Skalieren der Flottenkapazität müssen Instanzen hinzugefügt oder entfernt werden, und jede Instanz steht für die Fähigkeit, eine bestimmte Anzahl von Spielsitzungen zu hosten. Überlegen Sie, wie viel Kapazität Sie mit jeder Instanz hinzufügen oder entfernen möchten. Wenn die Nachfrage der Spieler von Minute zu Minute um Tausende schwankt, kann es sinnvoll sein, sehr große Instanzen zu verwenden, die Hunderte oder Tausende von Spielsitzungen hosten können. Im Gegensatz dazu bevorzugen Sie möglicherweise eine detailliertere Skalierungssteuerung bei kleineren Instance-Typen.

  • Gibt es je nach Größe Kosteneinsparungen? Möglicherweise stellen Sie fest, dass die Kosten für bestimmte Instance-Typen je nach Standort je nach Verfügbarkeit variieren.

Optimieren Sie Ihre Laufzeitkonfiguration

Die Laufzeitkonfiguration einer Flotte besteht aus einer Reihe von Anweisungen zum Ausführen von Serverprozessen für das Hosting von Spielsitzungen. Diese Anweisungen werden vom GameLift Amazon-Agenten in jeder Replikat-Containergruppe der Flotte implementiert.

Die Laufzeitkonfiguration einer Flotte bestimmt, wie viele Serverprozesse gleichzeitig in jeder Replikat-Container-Gruppe ausgeführt werden. Diese Einstellung wirkt sich darauf aus, wie Sie die Ressourcenlimits Ihrer Containergruppe berechnen und wie Sie einen Instance-Typ für Ihre Flotte auswählen. Sie müssen diese drei Elemente bei der Gestaltung Ihrer Flotte ausbalancieren.

Weitere Informationen zur Verwendung von Laufzeitkonfigurationen finden Sie unterManagen Sie, wie Amazon Spieleserver GameLift startet.

Legen Sie weitere optionale Flotteneinstellungen fest

Bei der Konfiguration einer Containerflotte können Sie die folgenden optionalen Funktionen verwenden:

  • Richte deine Spieleserver so ein, dass sie auf andere AWS Ressourcen zugreifen können. Siehe Kommunizieren Sie mit anderen AWS Ressourcen aus Ihren Flotten.

  • Schütze Spielsitzungen mit aktiven Spielern davor, während eines Scale-Down-Events vorzeitig beendet zu werden.

  • Beschränken Sie die Anzahl der Spielsitzungen, die eine Person innerhalb eines begrenzten Zeitraums auf der Flotte erstellen kann.