Automatische Skalierung mit regelbasierten Richtlinien - 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.

Automatische Skalierung mit regelbasierten Richtlinien

Regelbasierte Skalierungsrichtlinien in Amazon GameLift bieten eine detaillierte Kontrolle bei der automatischen Skalierung der Kapazität einer Flotte als Reaktion auf Spieleraktivitäten. Für jede Richtlinie können Sie die Skalierung mit einer von mehreren Flottenkennzahlen verknüpfen, einen Auslösepunkt identifizieren und das entsprechende Skalierungs- oder Scale-Down-Ereignis anpassen. Regelbasierte Richtlinien sind nützlich, um die zielgerichtete Skalierung zu ergänzen, um besonderen Umständen gerecht zu werden.

In einer regelbasierten Richtlinie heißt es wie folgt: „Wenn eine Flottenkennzahl für einen bestimmten Zeitraum einen Schwellenwert erreicht oder überschreitet, ändern Sie die Kapazität der Flotte um einen bestimmten Betrag.“ Dieses Thema beschreibt die Syntax zur Erstellung einer Richtlinienanweisung und bietet Hilfe bei der Erstellung und Verwaltung Ihrer regelbasierten Richtlinien.

Regelbasierte Richtlinien verwalten

Erstellen, aktualisieren oder löschen Sie regelbasierte Richtlinien mithilfe eines AWS SDK oder des AWS Command Line Interface (AWS CLI) mit der Amazon GameLift Service API. Sie können alle aktiven Richtlinien in der GameLift Amazon-Konsole einsehen.

Um vorübergehend alle Skalierungsrichtlinien für eine Flotte zu beenden, verwenden Sie den AWS CLI Befehl stop-fleet-actions.

So erstellen oder aktualisieren Sie eine regelbasierte Skalierungsrichtlinie ()AWS CLI:
  1. Festlegen der Grenzwerte für Flottenkapazität. Stellen Sie mit dem update-fleet-capacityBefehl einen oder beide Grenzwerte ein. Weitere Informationen finden Sie unter Legen Sie GameLift Amazon-Kapazitätsgrenzen fest.

  2. Eine neue Richtlinie erstellen. Öffnen Sie ein Befehlszeilenfenster und verwenden Sie den put-scaling-policyBefehl mit den Parametereinstellungen Ihrer Richtlinie. Um eine bestehende Richtlinie zu aktualisieren, geben Sie den Namen der Richtlinie an und geben eine vollständige Version der aktualisierten Richtlinie an.

    --fleet-id <unique fleet identifier> --name "<unique policy name>" --policy-type <target- or rule-based policy> --metric-name <name of metric> --comparison-operator <comparison operator> --threshold <threshold integer value> --evaluation-periods <number of minutes> --scaling-adjustment-type <adjustment type> --scaling-adjustment <adjustment amount>

    Beispiel:

    aws gamelift put-scaling-policy \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --name "Scale up when AGS<50" \ --policy-type RuleBased \ --metric-name AvailableGameSessions \ --comparison-operator LessThanThreshold \ --threshold 50 \ --evaluation-periods 10 \ --scaling-adjustment-type ChangeInCapacity \ --scaling-adjustment 1
Um eine regelbasierte Skalierungsrichtlinie zu löschen, gehen Sie wie folgt vor: AWS CLI
  • Öffnen Sie ein Befehlszeilenfenster und verwenden Sie den delete-scaling-policyBefehl mit der Flotten-ID und dem Richtliniennamen.

    Beispiel:

    aws gamelift delete-scaling-policy \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --name "Scale up when AGS<50"

Syntax für automatische Skalierungsregeln

Um eine regelbasierte Erklärung zur Skalierungspolitik zu erstellen, geben Sie sechs Variablen an:

Wenn für &lt;Metrikname&gt; gilt, dass der Wert &lt;Vergleichsoperator&gt; &lt;Schwellenwert&gt; für &lt;Testzeitraum&gt; unverändert bleibt, wird die Flottenkapazität unter Verwendung von &lt;Korrekturart&gt; auf/um &lt;Anpassungswert&gt; geändert.

Mit dieser Grundsatzerklärung wird beispielsweise immer dann ein Scale-up-Event gestartet, wenn die zusätzliche Kapazität einer Flotte unter dem liegt, was für 50 neue Spielsitzungen erforderlich ist:

If AvailableGameSessions remains at less than 50 for 10 minutes, then change fleet capacity using ChangeInCapacity by 1 instances.

Metrikname

Um ein Skalierungsereignis zu starten, verknüpfen Sie eine Auto-Scaling-Richtlinie mit einer der folgenden flottenspezifischen Metriken. Vollständige Metrikbeschreibungen finden Sie unterGameLiftAmazon-Metriken für Flotten.

  • Aktivieren der Spielsitzungen

  • Aktive Spielsitzungen

  • Verfügbare Spielsitzungen

  • Verfügbare Spielsitzungen als Prozentwert

  • Aktive Instances

  • Verfügbare Spielersitzungen

  • Aktuelle Spielersitzungen

  • Instances im Leerlauf

  • Instances im Leerlauf als Prozentwert

Befindet sich die Flotte in einer Warteschlange für Spielsitzungen, kannst du die folgenden Metriken verwenden:

  • Warteschlangentiefe — Die Anzahl der ausstehenden Anfragen für Spielsitzungen, für die diese Flotte der beste verfügbare Hosting-Standort ist.

  • Wartezeit — Flottenspezifische Wartezeit. Die Zeitspanne, wie lange die älteste ausstehende Spielsitzungsanfrage auf ihre Erfüllung gewartet hat. Die Wartezeit einer Flotte entspricht der Wartezeit der ältesten aktuellen Anforderung in der Warteschlange.

Vergleichsoperator

Teilt Amazon mit, GameLift wie die Metrikdaten mit dem Schwellenwert verglichen werden. Zu den gültigen Vergleichsoperatoren gehören größer als (>), kleiner als (= <), greater than or equal (>) und kleiner als oder gleich (<=).

Schwellenwert

Wenn der angegebene Metrikwert den Schwellenwert erreicht oder überschreitet, wird ein Skalierungsereignis ausgelöst. Dieser Wert ist immer eine positive Ganzzahl.

Auswertungszeitraum

Die Metrik muss den Schwellenwert für die gesamte Dauer des Bewertungszeitraums erreichen oder überschreiten, bevor ein Skalierungsereignis ausgelöst wird. Die Länge des Auswertungszeitraums ist fortlaufend; wenn die Metrik von dem Schwellenwert abweicht, beginnt der Auswertungszeitraum von neuem.

Anpassungstyp und -wert

Dieser Satz von Variablen legt zusammen fest, wie Amazon die Kapazität der Flotte anpassen GameLift soll, wenn ein Skalierungsereignis beginnt. Wählen Sie aus drei möglichen Anpassungsarten:

  • Änderung der Kapazität — Erhöhen oder verringern Sie die aktuelle Kapazität um eine bestimmte Anzahl von Instanzen. Legen Sie den Anpassungswert für die Anzahl der Instances fest, um den die Flotte vergrößert oder verkleinert werden soll. Positive Werte fügen Instances hinzu, während negative Werte Instances entfernen. Ein Wert von „-10“ verkleinert die Flotte beispielsweise um 10 Instanzen, unabhängig von der Gesamtgröße der Flotte.

  • Prozentuale Änderung der Kapazität — Erhöhen oder verringern Sie die aktuelle Kapazität um einen bestimmten Prozentsatz. Stellen Sie den Anpassungswert auf den Prozentsatz ein, um den Sie die Flottenkapazität erhöhen oder verringern möchten. Positive Werte fügen Instances hinzu, während negative Werte Instances entfernen. Beispielsweise werden bei einer Flotte mit 50 Instances durch eine prozentuale Änderung von „20" der Flotte 10 Instances hinzugefügt.

  • Genaue Kapazität — Erhöhen oder verringern Sie die aktuelle Kapazität auf einen bestimmten Wert. Legen Sie den Anpassungswert auf die genaue Anzahl an Instances fest, die die Flotte beibehalten soll.

Tipps für regelbasiertes Auto-Scaling

Die folgenden Vorschläge können Ihnen helfen, das Beste aus der automatischen Skalierung mit regelbasierten Richtlinien herauszuholen.

Verwenden mehrerer Richtlinien

Sie können mehrere Auto-Scaling-Richtlinien für eine Flotte gleichzeitig verwenden. Das häufigste Szenario ist, dass eine zielorientierte Richtlinie die meisten Skalierungsanforderungen verwaltet und regelbasierte Richtlinien verwendet, um Randfälle zu behandeln. Der Verwendung mehrerer Richtlinien sind keine Grenzen gesetzt.

Bei mehreren Richtlinien verhält sich jede Richtlinie unabhängig. Es gibt keine Möglichkeit, die Reihenfolge der Skalierungsereignisse zu kontrollieren. Wenn Sie beispielsweise mehrere Richtlinien haben, die die Skalierung vorantreiben, ist es möglich, dass Spieleraktivitäten mehrere Skalierungsereignisse gleichzeitig auslösen. Vermeiden Sie Richtlinien, die sich gegenseitig beeinflussen. Sie könnten beispielsweise eine unendliche Schleife schaffen, wenn Sie Richtlinien für Skalierung und Reduzierung erstellen, die die Kapazität über den jeweiligen Schwellenwert hinaus festlegen.

Einstellen der maximalen und minimalen Kapazität

Jede Flotte hat eine Einstellung für das maximale und für das minimale Kapazitätslimit. Diese Funktion ist wichtig, wenn Sie Auto Scaling verwenden. Bei der automatischen Skalierung wird die Kapazität niemals auf einen Wert außerhalb dieses Bereichs festgelegt. Standardmäßig haben neu erstellte Flotten einen Mindestwert von 0 und einen Höchstwert von 1. Erhöhen Sie den Maximalwert, damit sich Ihre Auto-Scaling-Richtlinie wie vorgesehen auf die Kapazität auswirkt.

Die Flottenkapazität wird auch durch Beschränkungen des Instance-Typs der Flotte und durch Servicekontingente in Ihrer Flotte eingeschränkt. AWS-Konto Außerhalb dieser Limits und Kontingente können Sie keine Mindest- und Höchstwerte festlegen.

Verfolgen von Metriken nach einer Kapazitätsänderung

Nachdem Amazon die Kapazität als Reaktion auf eine automatische Skalierungsrichtlinie geändert hat, GameLift wartet Amazon 10 Minuten, bevor es auf Auslöser derselben Richtlinie reagiert. Dieses Warten gibt Amazon GameLift Zeit, die neuen Instanzen hinzuzufügen, die Spielserver zu starten, Spieler zu verbinden und mit dem Sammeln von Daten von den neuen Instances zu beginnen. Während dieser Zeit GameLift bewertet Amazon die Richtlinie anhand der Metrik und verfolgt den Bewertungszeitraum der Richtlinie, der nach einem Skalierungsereignis erneut beginnt. Dies bedeutet, dass eine Skalierungsrichtlinie unmittelbar nach Ablauf der Wartezeit ein weiteres Skalierungsereignis auslösen könnte.

Es gibt keine Wartezeit zwischen den Skalierungsereignissen, in denen verschiedene Auto-Scaling-Richtlinien starten.