

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.

# Passen Sie es an Ihre Game-Hosting-Lösung an
<a name="customize-solution-intro"></a>

Wenn eine grundlegende Game-Hosting-Lösung eingerichtet ist, können Sie diese anhand der folgenden Themen anpassen und erweitern, um das Spielerlebnis zu verbessern, die Kosten zu optimieren und erweiterte Funktionen hinzuzufügen. In diesem Abschnitt werden verschiedene Anpassungsoptionen behandelt, die nach der Komponente geordnet sind, auf die sie sich hauptsächlich auswirken. Wählen Sie die Anpassungen, die den Anforderungen und der Spielerbasis Ihres Spiels am besten entsprechen.

**Topics**
+ [Anpassungen des Gameserver-Builds](customize-game-server-builds.md)
  + [Connect deinen Amazon GameLift Servers gehosteten Spieleserver mit anderen AWS Ressourcen](gamelift-sdk-server-resources.md)
  + [Lass deinen Gameserver auf Amazon GameLift Servers Flottendaten zugreifen](gamelift-sdk-server-fleetinfo.md)
  + [VPC-Peering einrichten für Amazon GameLift Servers](vpc-peering.md)
+ [Spielersitzungen und Matchmaking-Anpassungen](customize-player-sessions-matchmaking.md)
  + [Spieler generieren IDs](player-sessions-player-identifiers.md)
  + [Fügen Sie FlexMatch Matchmaking hinzu zu Amazon GameLift Servers](gamelift-match-intro.md)
+ [Anpassungen der Platzierung von Spielsitzungen](customize-game-session-placement.md)
  + [Passen Sie eine Warteschlange für Spielsitzungen an](queues-design.md)
  + [Priorisieren der Platzierung von Spielsitzungen](queues-design-priority.md)
  + [Eine Warteschlange für Spot-Instances erstellen](spot-tasks.md)
+ [Anpassungen der Hosting-Ressourcen](fleets-design.md)
  + [Wählen Sie Rechenressourcen für eine verwaltete Flotte](gamelift-compute.md)
  + [Passen Sie eine Amazon GameLift Servers Containerflotte an](containers-design-fleet.md)
  + [Senken Sie die Kosten für das Hosting von Spielen mit Spot-Flotten](fleets-spot.md)
  + [Optimiere die Laufzeitkonfiguration des Spieleservers auf verwalteten Amazon GameLift Servers](fleets-multiprocess.md)
  + [Arbeite mit dem Amazon GameLift Servers Agenten](integration-dev-iteration-agent.md)
  + [Zusammenfassung einer Amazon GameLift Servers Flottenbezeichnung mit einem Alias](aliases-intro.md)

# Anpassungen des Gameserver-Builds
<a name="customize-game-server-builds"></a>

Anpassungen beim Aufbau von Spieleservern bieten Möglichkeiten, die Funktionalität des Spieleservers zu erweitern, einschließlich der Nutzung anderer AWS Dienste. Diese Anpassungen erweitern die Funktionen Ihres Spieleservers über das grundlegende Hosting hinaus und unterstützen erweiterte Funktionen und Integrationen.

# Connect deinen Amazon GameLift Servers gehosteten Spieleserver mit anderen AWS Ressourcen
<a name="gamelift-sdk-server-resources"></a>

Wenn Sie einen Spielserver-Build für den Einsatz auf Amazon GameLift Servers Flotten erstellen, möchten Sie vielleicht, dass die Anwendungen in Ihrem Spiel-Build direkt und sicher mit anderen AWS Ressourcen kommunizieren, die Sie besitzen. Da Ihre Spiele-Hosting-Flotten Amazon GameLift Servers verwaltet werden, müssen Sie Amazon GameLift Servers eingeschränkten Zugriff auf diese Ressourcen und Dienste gewähren.

Einige Beispielszenarien umfassen: 
+ Verwenden Sie einen CloudWatch Amazon-Agenten, um Metriken, Protokolle und Traces von verwalteten EC2-Flotten und Anywhere-Flotten zu sammeln.
+ Senden Sie Instanzprotokolldaten an Amazon CloudWatch Logs.
+ Besorgen Sie sich Spieldateien, die in einem Amazon Simple Storage Service (Amazon S3) -Bucket gespeichert sind.
+ Lesen und Schreiben von Spieldaten (wie Spielmodi oder Inventar), die in einer Amazon DynamoDB DynamoDB-Datenbank oder einem anderen Datenspeicherdienst gespeichert sind.
+ Senden Sie mithilfe von Amazon Simple Queue Service (Amazon SQS) Signale direkt an eine Instance.
+ Greifen Sie auf benutzerdefinierte Ressourcen zu, die auf Amazon Elastic Compute Cloud (Amazon EC2) bereitgestellt und ausgeführt werden.

Amazon GameLift Serversunterstützt die folgenden Methoden zur Einrichtung des Zugriffs:
+ [Greifen Sie mit einer IAM-Rolle auf AWS Ressourcen zu](#gamelift-sdk-server-resources-roles)
+ [Greifen Sie mit VPC-Peering auf AWS Ressourcen zu](#gamelift-sdk-server-resources-vpc)

## Greifen Sie mit einer IAM-Rolle auf AWS Ressourcen zu
<a name="gamelift-sdk-server-resources-roles"></a>

Verwenden Sie eine IAM-Rolle, um anzugeben, wer auf Ihre Ressourcen zugreifen kann, und um Beschränkungen für diesen Zugriff festzulegen. Vertrauenswürdige Parteien können eine Rolle „übernehmen“ und temporäre Sicherheitsanmeldedaten erhalten, die sie zur Interaktion mit den Ressourcen berechtigen. Wenn die Parteien API-Anfragen im Zusammenhang mit der Ressource stellen, müssen sie die Anmeldeinformationen angeben.

Gehen Sie wie folgt vor, um den Zugriff einzurichten, der durch eine IAM-Rolle gesteuert wird: 

1. [Erstellen Sie die IAM-Rolle](#gamelift-sdk-server-resources-roles-create)

1. [Ändern Sie Anwendungen, um Anmeldeinformationen abzurufen](#gamelift-sdk-server-resources-roles-apps)

1. [Ordnen Sie der IAM-Rolle eine Flotte zu](#gamelift-sdk-server-resources-roles-fleet)

### Erstellen Sie die IAM-Rolle
<a name="gamelift-sdk-server-resources-roles-create"></a>

In diesem Schritt erstellen Sie eine IAM-Rolle mit einer Reihe von Berechtigungen zur Steuerung des Zugriffs auf Ihre AWS Ressourcen und einer Vertrauensrichtlinie, die Amazon GameLift Servers Rechte zur Nutzung der Rollenberechtigungen gewährt.

Anweisungen zum Einrichten der IAM-Rolle finden Sie unter. [Richten Sie eine IAM-Servicerolle ein für Amazon GameLift Servers](setting-up-role.md) Wählen Sie bei der Erstellung der Berechtigungsrichtlinie bestimmte Dienste, Ressourcen und Aktionen aus, mit denen Ihre Anwendungen funktionieren müssen. Es hat sich bewährt, den Umfang der Berechtigungen so weit wie möglich einzuschränken. 

Nachdem Sie die Rolle erstellt haben, notieren Sie sich den Amazon-Ressourcennamen (ARN) der Rolle. Sie benötigen die Rolle ARN bei der Flottenerstellung.

### Ändern Sie Anwendungen, um Anmeldeinformationen abzurufen
<a name="gamelift-sdk-server-resources-roles-apps"></a>

In diesem Schritt konfigurieren Sie Ihre Anwendungen so, dass sie Sicherheitsanmeldeinformationen für die IAM-Rolle abrufen und diese bei der Interaktion mit Ihren AWS Ressourcen verwenden. In der folgenden Tabelle können Sie anhand (1) des Anwendungstyps und (2) der Server-SDK-Version, mit Amazon GameLift Servers der Ihr Spiel kommuniziert, bestimmen, wie Sie Ihre Anwendungen ändern können.


|  | Spieleserver-Anwendungen | Andere Anwendungen | 
| --- | --- | --- | 
|  **Verwenden Sie das Server-SDK Version 5.x**  |  Rufen Sie die Server-SDK-Methode `GetFleetRoleCredentials()` von Ihrem Spielservercode aus auf.  |  Fügen Sie der Anwendung Code hinzu, um Anmeldeinformationen aus einer gemeinsam genutzten Datei auf der Flotteninstanz abzurufen.  | 
|  **Verwenden Sie das Server-SDK Version 4 oder früher**  |   Call AWS -Security-Token-Service (AWS STS) `[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)` mit der Rolle ARN.  |  Call AWS -Security-Token-Service (AWS STS) `[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)` mit der Rolle ARN.  | 

**Anmerkung**  
Bei Containerflotten werden `FleetRoleArn` Anmeldeinformationen in jeden Container eingefügt. Ihre Anwendungen können den AWS Standardanmeldedienstanbieter verwenden, um auf diese Anmeldeinformationen zuzugreifen. Sie können immer noch anrufen`GetFleetRoleCredentials()`, wodurch dieselben Anmeldeinformationen zurückgegeben werden. Auf diese Anmeldeinformationen für die Flottenrolle kann nur innerhalb von Containern zugegriffen werden.

Für Spiele, die in das Server-SDK 5.x integriert sind, zeigt dieses Diagramm, wie Anwendungen in Ihrem bereitgestellten Spiel-Build Anmeldeinformationen für die IAM-Rolle abrufen können.

![\[Die ausführbaren Dateien des Spiels werden aufgerufen. GetFleetRoleCredentials() Andere Dateien verwenden lokal gespeicherte gemeinsame Anmeldeinformationen.\]](http://docs.aws.amazon.com/de_de/gameliftservers/latest/developerguide/images/instance-role-creds_vsd.png)


#### Rufen Sie an `GetFleetRoleCredentials()` (Server-SDK 5.x)
<a name="gamelift-sdk-server-resources-roles-apps-sdk5"></a>

Rufen Sie in Ihrem Spieleservercode, der bereits in das Amazon GameLift Servers Server-SDK 5.x integriert sein sollte, `GetFleetRoleCredentials` ([C\$1\$1](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-getfleetrolecredentials)) ([C\$1](integration-server-sdk5-csharp-actions.md#integration-server-sdk5-csharp-getfleetrolecredentials)) ([Unreal](integration-server-sdk5-unreal-actions.md#integration-server-sdk5-unreal-getfleetrolecredentials)) ([Go](integration-server-sdk-go-actions.md#integration-server-sdk-go-getfleetrolecredentials)) auf, um einen Satz temporärer Anmeldeinformationen abzurufen. Wenn die Anmeldeinformationen ablaufen, kannst du sie mit einem weiteren Aufruf von aktualisieren. `GetFleetRoleCredentials`

#### Verwenden Sie gemeinsam genutzte Anmeldeinformationen (Server-SDK 5.x)
<a name="gamelift-sdk-server-resources-roles-apps-sdk5-shared"></a>

Fügen Sie für Nicht-Serveranwendungen, die mit Spielserver-Builds mithilfe des Server-SDK 5.x bereitgestellt werden, Code hinzu, um die in einer gemeinsam genutzten Datei gespeicherten Anmeldeinformationen abzurufen und zu verwenden. Amazon GameLift Serversgeneriert ein Anmeldeinformationsprofil für jede Flotteninstanz. Die Anmeldeinformationen können von allen Anwendungen auf der Instance verwendet werden. Amazon GameLift Serversaktualisiert kontinuierlich die temporären Anmeldeinformationen.

Sie müssen eine Flotte so konfigurieren, dass die Datei mit den gemeinsamen Anmeldeinformationen bei der Flottenerstellung generiert wird.

Geben Sie in jeder Anwendung, die die Datei mit den gemeinsamen Anmeldeinformationen verwenden muss, den Speicherort und den Profilnamen wie folgt an: 

Windows:

```
[credentials]
shared_credential_profile= "FleetRoleCredentials"
shared_credential_file= "C:\\Credentials\\credentials"
```

Linux:

```
[credentials]
shared_credential_profile= "FleetRoleCredentials"
shared_credential_file= "/local/credentials/credentials"
```

**Beispiel: Richten Sie einen CloudWatch Agenten ein, der Metriken für Amazon GameLift Servers Flotteninstanzen sammelt**

Wenn Sie einen CloudWatch Amazon-Agenten verwenden möchten, um Kennzahlen, Protokolle und Rückverfolgungen von Ihren Amazon GameLift Servers Flotten zu sammeln, verwenden Sie diese Methode, um den Agenten zu autorisieren, die Daten an Ihr Konto zu senden. Führen Sie in diesem Szenario die folgenden Schritte aus:

1. Rufen Sie die CloudWatch `config.json` Agentendatei ab oder schreiben Sie sie.

1. Aktualisieren Sie die `common-config.toml` Datei für den Agenten, um den Namen der Anmeldeinformationsdatei und den Profilnamen wie oben beschrieben zu identifizieren.

1. Richten Sie das Build-Installationsskript Ihres Gameservers ein, um den CloudWatch Agenten zu installieren und zu starten.

#### Verwenden Sie `AssumeRole()` (Server-SDK 4)
<a name="gamelift-sdk-server-resources-roles-apps-sdk4"></a>

Fügen Sie Ihren Anwendungen Code hinzu, um die IAM-Rolle zu übernehmen und Anmeldeinformationen für die Interaktion mit Ihren AWS Ressourcen zu erhalten. Jede Anwendung, die auf einer Amazon GameLift Servers Flotteninstanz mit Server-SDK 4 oder früher ausgeführt wird, kann die IAM-Rolle übernehmen. 

Im Anwendungscode muss die Anwendung vor dem Zugriff auf eine AWS Ressource die `[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)` API-Operation AWS -Security-Token-Service (AWS STS) aufrufen und den Rollen-ARN angeben. Dieser Vorgang gibt einen Satz temporärer Anmeldeinformationen zurück, die die Anwendung zum Zugriff auf die AWS Ressource autorisieren. Weitere Informationen finden Sie unter [Verwenden temporärer Anmeldeinformationen mit AWS Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) im *IAM-Benutzerhandbuch*.

### Ordnen Sie der IAM-Rolle eine Flotte zu
<a name="gamelift-sdk-server-resources-roles-fleet"></a>

Nachdem du die IAM-Rolle erstellt und die Anwendungen in deinem Gameserver-Build aktualisiert hast, um die Zugangsdaten abzurufen und zu verwenden, kannst du eine Flotte bereitstellen. Wenn du die neue Flotte konfigurierst, lege die folgenden Parameter fest.

Für Containerflotten:
+  [FleetRoleArn](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateContainerFleet.html#gameliftservers-CreateContainerFleet-request-FleetRoleArn)— Setzen Sie diesen Parameter auf den ARN der IAM-Rolle.

Für andere Flottenarten:
+  [ InstanceRoleArn](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_FleetAttributes.html#gamelift-Type-FleetAttributes-InstanceRoleArn)— Setzen Sie diesen Parameter auf den ARN der IAM-Rolle.
+  [ InstanceRoleCredentialsProvider](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_FleetAttributes.html#gamelift-Type-FleetAttributes-InstanceRoleCredentialsProvider)— Um zur Generierung einer gemeinsamen Anmeldeinformationsdatei für jede Flotteninstanz aufzufordernAmazon GameLift Servers, setzen Sie diesen Parameter auf`SHARED_CREDENTIAL_FILE`.

Sie müssen diese Werte festlegen, wenn Sie die Flotte erstellen. Sie können später nicht aktualisiert werden.

## Greifen Sie mit VPC-Peering auf AWS Ressourcen zu
<a name="gamelift-sdk-server-resources-vpc"></a>

Sie können Amazon Virtual Private Cloud (Amazon VPC) -Peering verwenden, um zwischen Anwendungen, die auf einer Amazon GameLift Servers Instance ausgeführt werden, und einer anderen AWS Ressource zu kommunizieren. Eine VPC ist ein von Ihnen definiertes virtuelles privates Netzwerk, das eine Reihe von Ressourcen umfasst, die über Ihr AWS-Konto verwaltet werden. Jede Amazon GameLift Servers-Flotte hat eine eigene VPC. Mit VPC-Peering können Sie eine direkte Netzwerkverbindung zwischen der VPC für Ihre Flotte und für Ihre anderen Ressourcen herstellen. AWS 

Amazon GameLift Servers optimiert den Prozess der Einrichtung von VPC-Peering-Verbindungen für Ihre Spieleserver. Es übernimmt Peering-Anfragen, aktualisiert Routing-Tabellen und konfiguriert die Verbindungen nach Bedarf. Anweisungen zum Einrichten von VPC-Peering für Ihre Spieleserver finden Sie unter. [VPC-Peering einrichten für Amazon GameLift Servers](vpc-peering.md)

**Anmerkung**  
VPC-Peering wird für Containerflotten nicht unterstützt.

# Lass deinen Gameserver auf Amazon GameLift Servers Flottendaten zugreifen
<a name="gamelift-sdk-server-fleetinfo"></a>

Es gibt Situationen, in denen dein benutzerdefinierter Spiel-Build oder dein benutzerdefiniertes Amazon GameLift Servers Realtime Skript möglicherweise Informationen über die Flotte benötigt. Amazon GameLift Servers Ihr Spiel-Build oder Ihr Skript könnte beispielsweise Code für Folgendes enthalten:
+ Überwachen Sie die Aktivitäten auf der Grundlage von Flottendaten.
+ Führen Sie Kennzahlen zusammen, um die Aktivitäten anhand von Flottendaten zu verfolgen. (Viele Spiele verwenden diese Daten für LiveOps Aktivitäten.)
+ Stellen Sie relevante Daten für benutzerdefinierte Spieledienste bereit, z. B. für Matchmaking, zusätzliche Kapazitätsskalierung oder Tests.

Flotteninformationen sind als JSON-Datei für jede Instanz an den folgenden Speicherorten verfügbar:
+ Windows: `C:\GameMetadata\gamelift-metadata.json`
+ Linux: `/local/gamemetadata/gamelift-metadata.json`

Die `gamelift-metadata.json` Datei enthält die [Attribute einer Amazon GameLift Servers Flottenressource](https://docs.aws.amazon.com/gamelift/latest/apireference/API_FleetAttributes.html).

Beispiel für eine JSON-Datei:

```
{
    "buildArn":"arn:aws:gamelift:us-west-2:123456789012:build/build-1111aaaa-22bb-33cc-44dd-5555eeee66ff",
    "buildId":"build-1111aaaa-22bb-33cc-44dd-5555eeee66ff",
    "fleetArn":"arn:aws:gamelift:us-west-2:123456789012:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
    "fleetDescription":"Test fleet for Really Fun Game v0.8",
    "fleetId":"fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
    "name":"ReallyFunGameTestFleet08",
    "fleetType":"ON_DEMAND",
    "instanceRoleArn":"arn:aws:iam::123456789012:role/S3AccessForGameLift",
    "instanceType":"c5.large",
    "serverLaunchPath":"/local/game/reallyfungame.exe"
}
```

# VPC-Peering einrichten für Amazon GameLift Servers
<a name="vpc-peering"></a>

Dieses Thema enthält Anleitungen zum Einrichten einer VPC-Peering-Verbindung zwischen Ihren über Amazon GameLift Servers gehosteten Spielservern und Ihren anderen Nicht-Amazon GameLift Servers Ressourcen. Verwenden Sie Amazon Virtual Private Cloud (VPC) -Peering-Verbindungen, damit Ihre Spieleserver direkt und privat mit Ihren anderen AWS Ressourcen wie einem Webservice oder einem Repository kommunizieren können. Sie können VPC-Peering mit allen Ressourcen einrichten, die auf einem AWS Konto laufen AWS und von diesem verwaltet werden, auf das Sie Zugriff haben.

**Anmerkung**  
VPC-Peering ist eine erweiterte Funktion. Informationen zu den bevorzugten Optionen, mit denen Sie Ihren Spieleservern die direkte und private Kommunikation mit Ihren anderen AWS Ressourcen ermöglichen, finden Sie unter. [Connect deinen Amazon GameLift Servers gehosteten Spieleserver mit anderen AWS Ressourcen](gamelift-sdk-server-resources.md)

Wenn Sie bereits mit Amazon VPCs und VPC-Peering vertraut sind, sollten Sie sich darüber im Klaren sein, dass die Einrichtung von Peering mit Amazon GameLift Servers Spieleservern etwas anders ist. Sie haben keinen Zugriff auf die VPC, die Ihre Spieleserver enthält — sie wird vom Amazon GameLift Servers Dienst gesteuert —, sodass Sie nicht direkt VPC-Peering für sie anfordern können. Stattdessen autorisieren Sie den VPC zunächst mit Ihren Nicht-Amazon GameLift Servers-Ressourcen, eine Peering-Anfrage vom Amazon GameLift Servers-Service anzunehmen. Dann starten Sie Amazon GameLift Servers, um das VPC-Peering anzufordern, das Sie gerade autorisiert haben. Amazon GameLift Servers übernimmt die Aufgaben zum Erstellen der Peering-Verbindung, zum Einrichten der Routentabellen und zum Konfigurieren der Verbindung.

## So richten Sie VPC-Peering für eine bestehende Flotte ein
<a name="vpc-peering-existing"></a>

1. 

**Besorgen Sie sich Konto-ID AWS (s) und Anmeldeinformationen.**

   Sie benötigen eine ID und Anmeldeinformationen für die folgenden AWS Konten. Sie können das AWS Konto finden, IDs indem Sie sich bei anmelden [AWS-Managementkonsole](https://console.aws.amazon.com/)und Ihre Kontoeinstellungen einsehen. Die Anmeldeinformationen können Sie von der IAM-Konsole aus abrufen.
   + AWS Konto, mit dem du deine Amazon GameLift Servers Spieleserver verwaltest.
   + AWS Konto, das du zur Verwaltung deiner Amazon GameLift Servers Nicht-Ressourcen verwendest. 

   Wenn Sie dasselbe Konto für Amazon GameLift Servers und für Amazon GameLift Servers Nicht-Ressourcen verwenden, benötigen Sie nur eine ID und Anmeldeinformationen für dieses Konto.

1. 

**Kennungen für jede VPC abrufen.**

   Besorgen Sie sich die folgenden Informationen für die beiden VPCs , die miteinander verbunden werden sollen: 
   + VPC für deine Amazon GameLift Servers Spieleserver — Das ist deine Amazon GameLift Servers Flotten-ID. Ihre Spielserver werden in Amazon GameLift Servers auf einer Flotte von EC2-Instances bereitgestellt. Jede Flotte wird automatisch in ihrer eigenen VPC platziert, die vom Amazon GameLift Servers-Service verwaltet wird. Sie haben keinen direkten Zugriff auf die VPC, daher wird sie anhand der Flotten-ID identifiziert. 
   + VPC für Ihre Amazon GameLift Servers AWS Nicht-Ressourcen — Sie können ein VPC-Peering mit allen Ressourcen einrichten, die auf einem AWS Konto laufen AWS und von diesem verwaltet werden, auf das Sie Zugriff haben. Wenn Sie noch keine VPC für diese Ressourcen erstellt haben, finden Sie weitere Informationen unter [Erste Schritte mit Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html). Nachdem Sie eine VPC erstellt haben, können Sie die VPC-ID finden, indem Sie sich bei der [AWS-Managementkonsole](https://console.aws.amazon.com/)für Amazon VPC anmelden und Ihre anzeigen. VPCs
**Anmerkung**  
Wenn Sie ein Peering einrichten, VPCs müssen beide in derselben Region existieren. Die VPC für Ihre Amazon GameLift Servers-Flottenspielserver befindet sich in derselben Region wie die Flotte.

1. 

**Autorisieren Sie ein VPC-Peering.**

   In diesem Schritt autorisieren Sie eine zukünftige Anfrage von Amazon GameLift Servers, um zwischen der VPC mit Ihren Spielservern und Ihrer VPC für Nicht-Amazon GameLift Servers-Ressourcen eine Peer-Verbindung herzustellen. Diese Aktion aktualisiert die Sicherheitsgruppe für Ihre VPC.

   Um das VPC-Peering zu autorisieren, rufen Sie die Service-API [ CreateVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html) auf oder verwenden Sie den AWS CLI-Befehl. `create-vpc-peering-authorization` Führen Sie diesen Anruf über das Konto durch, das Ihre Nicht-Amazon GameLift Servers Ressourcen verwaltet. Geben Sie die folgenden Informationen an:
   + Peer-VPC-ID — Dies ist für die VPC mit Ihren Amazon GameLift Servers Nicht-Ressourcen.
   + Amazon GameLift Servers AWS Konto-ID — Dies ist das Konto, das Sie zur Verwaltung Ihrer Amazon GameLift Servers Flotte verwenden. 

   Sobald Sie ein VPC-Peering autorisiert haben, bleibt die Autorisierung 24 Stunden lang gültig, sofern sie nicht widerrufen wird. Sie können Ihre VPC-Peering-Autorisierungen unter Verwendung der folgenden Operationen verwalten:
   + [DescribeVpcPeeringAuthorizations()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeVpcPeeringAuthorizations.html) (AWS CLI`describe-vpc-peering-authorizations`).
   + [DeleteVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteVpcPeeringAuthorization.html) (AWS CLI`delete-vpc-peering-authorization`).

1. 

**Fordern Sie eine Peering-Verbindung an.**

   Mit einer gültigen Autorisierung können Sie das Herstellen einer Peering-Verbindung durch Amazon GameLift Servers anfordern.

   Um ein VPC-Peering anzufordern, rufen Sie die Service-API [CreateVpcPeeringConnection()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringConnection.html) auf oder verwenden Sie den AWS CLI-Befehl. `create-vpc-peering-connection` Führen Sie diesen Anruf mit dem Konto durch, das Ihre Amazon GameLift Servers-Spielserver verwaltet. Verwenden Sie die folgenden Informationen, um die beiden zu identifizieren, für VPCs die Sie eine Peering-Verbindung herstellen möchten:
   + Peer-VPC-ID und AWS Konto-ID — Dies ist die VPC für Ihre Amazon GameLift Servers Nicht-Ressourcen und das Konto, mit dem Sie sie verwalten. Die VPC-ID muss mit der ID einer gültigen Peering-Autorisierung übereinstimmen. 
   + Flotten-ID — Dies identifiziert die VPC für Ihre Amazon GameLift Servers Spieleserver.

1. 

**Verfolgen Sie den Status der Peering-Verbindung.**

   Die Anforderung einer VPC-Peering-Verbindung ist ein asynchroner Vorgang. Um den Status einer Peering-Anfrage nachzuverfolgen und den Erfolg oder das Fehlschlagen zu verarbeiten, verwenden Sie eine der folgenden Optionen:
   + Stetige Abfrage mit `DescribeVpcPeeringConnections()`. Diese Operation ruft den Datensatz für die VPC-Peering-Verbindung ab, einschließlich des Status der Anforderung. Wenn eine Peering-Verbindung erfolgreich erstellt wurde, enthält der Verbindungsdatensatz auch einen CIDR-Block mit privaten IP-Adressen, der der VPC zugewiesen wird.
   + Behandeln Sie Flottenereignisse im Zusammenhang mit VPC-Peering-Verbindungen mit [DescribeFleetEvents()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetEvents.html), einschließlich Erfolgs- und Fehlschlagsereignissen. 

Sobald die Peering-Verbindung hergestellt wurde, können Sie sie mit den folgenden Vorgängen verwalten:
+ [DescribeVpcPeeringConnections()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeVpcPeeringConnections.html) (AWS CLI`describe-vpc-peering-connections`).
+ [DeleteVpcPeeringConnection()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteVpcPeeringConnection.html) (AWS CLI`delete-vpc-peering-connection`).

## So richten Sie VPC-Peering mit einer neuen Flotte ein
<a name="fleets-creating-aws-cli-vpc"></a>

Sie können eine neue Amazon GameLift Servers-Flotte erstellen und gleichzeitig eine VPC-Peering-Verbindung anfordern. 

1. 

**Holen Sie sich AWS Konto-ID (s) und Anmeldeinformationen.**

   Sie benötigen eine ID und Anmeldeinformationen für die folgenden beiden AWS Konten. Sie können das AWS Konto finden, IDs indem Sie sich bei anmelden [AWS-Managementkonsole](https://console.aws.amazon.com/)und Ihre Kontoeinstellungen einsehen. Die Anmeldeinformationen können Sie von der IAM-Konsole aus abrufen.
   + AWS Konto, mit dem du deine Amazon GameLift Servers Spieleserver verwaltest.
   + AWS Konto, das du zur Verwaltung deiner Amazon GameLift Servers Nicht-Ressourcen verwendest. 

   Wenn Sie dasselbe Konto für Amazon GameLift Servers und für Amazon GameLift Servers Nicht-Ressourcen verwenden, benötigen Sie nur eine ID und Anmeldeinformationen für dieses Konto.

1. 

**Holen Sie sich die VPC-ID für Ihre Amazon GameLift Servers AWS Nicht-Ressourcen.**

   Wenn Sie noch keine VPC für diese Ressourcen erstellt haben, tun Sie dies jetzt (siehe [Erste Schritte mit Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html)). Stellen Sie sicher, dass Sie die neue VPC in derselben Region erstellen, in der Sie Ihre neue Flotte erstellen möchten. Wenn Ihre Amazon GameLift Servers Nicht-Ressourcen unter einem anderen AWS Konto oder einer anderen user/user Gruppe verwaltet werden als demAmazon GameLift Servers, mit dem Sie sie verwenden, müssen Sie diese Kontoanmeldeinformationen verwenden, wenn Sie im nächsten Schritt die Autorisierung beantragen. 

   Nachdem Sie eine VPC erstellt haben, können Sie die VPC-ID in der Amazon VPC-Konsole finden, indem Sie Ihre aufrufen. VPCs

1. 

**Autorisieren eines VPC-Peerings mit anderen als Amazon GameLift Servers-Ressourcen.**

   Wenn Amazon GameLift Servers die neue Flotte und eine entsprechende VPC erstellt, wird auch eine Anfrage für ein Peering an die VPC für Ihre Nicht-Amazon GameLift Servers-Ressourcen gesendet. Sie müssen diese Anfrage vorab autorisieren. Dieser Schritt aktualisiert die Sicherheitsgruppe für Ihre VPC.

   Rufen Sie mit den Kontoanmeldedaten, die Ihre Amazon GameLift Servers Nicht-Ressourcen verwalten, die Service-API [ CreateVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateVpcPeeringAuthorization.html) auf oder verwenden Sie den AWS CLI-Befehl`create-vpc-peering-authorization`. Geben Sie die folgenden Informationen an:
   + Peer-VPC-ID — ID der VPC mit Ihren Amazon GameLift Servers Nicht-Ressourcen.
   + Amazon GameLift Servers AWS Konto-ID — ID des Kontos, das Sie zur Verwaltung Ihrer Amazon GameLift Servers Flotte verwenden. 

   Sobald Sie ein VPC-Peering autorisiert haben, bleibt die Autorisierung 24 Stunden lang gültig, sofern sie nicht widerrufen wird. Sie können Ihre VPC-Peering-Autorisierungen unter Verwendung der folgenden Operationen verwalten:
   + [DescribeVpcPeeringAuthorizations()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeVpcPeeringAuthorizations.html) (AWS CLI`describe-vpc-peering-authorizations`).
   + [DeleteVpcPeeringAuthorization()](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteVpcPeeringAuthorization.html) (AWS CLI`delete-vpc-peering-authorization`).

1. Folgen Sie den Anweisungen zum [Erstellen einer neuen Flotte mit der AWS CLI](fleets-creating.md). Fügen Sie die folgenden zusätzlichen Parameter ein:
   + *peer-vpc-aws-account-id* — ID für das Konto, das Sie verwenden, um die VPC mit Ihren Amazon GameLift Servers Nicht-Ressourcen zu verwalten.
   + *peer-vpc-id*— ID der VPC mit Ihrem Amazon GameLift Servers Nicht-Konto.

Ein erfolgreicher Aufruf von [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-fleet.html) mit den VPC-Peering-Parametern generiert sowohl eine neue Flotte als auch eine neue VPC-Peering-Anfrage. Der Status der Flotte wird auf **New** gesetzt, und der Flottenaktivierungsprozess wird veranlasst. Der Status der Peering-Verbindungsanforderung wird auf **initiating-request** gesetzt. Sie können den Erfolg oder Misserfolg der Peering-Anfrage nachverfolgen, indem Sie anrufen. [describe-vpc-peering-connections](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-vpc-peering-connections.html)

Beim Anfordern einer neuen Flotte und einer VPC-Peering-Verbindung sind beide Aktionen erfolgreich oder schlagen fehl. Wenn eine Flotte während des Erstellungsprozesses fehlschlägt, wird die VPC-Peering-Verbindung nicht hergestellt. Analog dazu gilt, wenn eine VPC-Peering-Verbindung aus irgendeinem Grund fehlschlägt, kann auch die neue Flotte nicht vom Status **Activating** in den Status **Active** übergehen.

**Anmerkung**  
Die neue VPC-Peering-Verbindung wird erst hergestellt, wenn die Flotte zur Aktivierung bereit ist. Dies bedeutet, dass die Verbindung nicht verfügbar ist und während der Installation des Spielservers nicht verwendet werden kann.

Im folgenden Beispiel wird sowohl eine neue Flotte als auch eine Peering-Verbindung zwischen einer vordefinierten VPC und der VPC für die neue Flotte erstellt. Die vorab eingerichtete VPC wird durch die Kombination aus Ihrer Amazon GameLift Servers AWS Nicht-Konto-ID und der VPC-ID eindeutig identifiziert. 

```
$ AWS gamelift create-fleet
    --name "My_Fleet_1"
    --description "The sample test fleet"
    --ec2-instance-type "c5.large"
    --fleet-type "ON_DEMAND"
    --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff"
    --runtime-configuration "GameSessionActivationTimeoutSeconds=300,
                             MaxConcurrentGameSessionActivations=2,
                             ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe,
                                               Parameters=+sv_port 33435 +start_lobby,
                                               ConcurrentExecutions=10}]"
    --new-game-session-protection-policy "FullProtection"
    --resource-creation-limit-policy "NewGameSessionsPerCreator=3,
                                      PolicyPeriodInMinutes=15"
    --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" 
                              "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP"
    --metric-groups  "EMEAfleets"
    --peer-vpc-aws-account-id "111122223333"
    --peer-vpc-id "vpc-a11a11a"
```

*Kopierbare Version:*

```
AWS gamelift create-fleet --name "My_Fleet_1" --description "The sample test fleet" --fleet-type "ON_DEMAND" --metric-groups "EMEAfleets" --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff" --ec2-instance-type "c5.large" --runtime-configuration "GameSessionActivationTimeoutSeconds=300,MaxConcurrentGameSessionActivations=2,ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe,Parameters=+sv_port 33435 +start_lobby,ConcurrentExecutions=10}]" --new-game-session-protection-policy "FullProtection" --resource-creation-limit-policy "NewGameSessionsPerCreator=3,PolicyPeriodInMinutes=15" --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP" --peer-vpc-aws-account-id "111122223333" --peer-vpc-id "vpc-a11a11a"
```

## Beheben von VPC-Peering-Problemen
<a name="vpc-peering-troubleshooting"></a>

Wenn Sie Probleme beim Herstellen einer VPC-Peering-Verbindung für Ihre Amazon GameLift Servers-Spielserver haben, beachten Sie die folgenden häufigsten Ursachen: 
+ Die Autorisierung für die angeforderte Verbindung wurde nicht gefunden. 
  + Überprüfen Sie den Status einer VPC-Autorisierung für die Nicht-Amazon GameLift Servers-VPC. Sie ist möglicherweise nicht vorhanden oder abgelaufen.
  + Überprüfen Sie die Regionen der beiden, die VPCs Sie miteinander verbinden möchten. Wenn sie sich nicht in der gleichen Region befinden, kann keine Peer-Verbindung hergestellt werden. 
+ Die CIDR-Blöcke (siehe [Ungültige VPC-Peering-Verbindungskonfigurationen](https://docs.aws.amazon.com/vpc/latest/peering/invalid-peering-configurations.html#overlapping-cidr)) Ihrer beiden VPCs überschneiden sich. Die IPv4 CIDR-Blöcke, die Peered zugewiesen sind, dürfen sich nicht überschneiden. VPCs Der CIDR-Block der VPC für Ihre Amazon GameLift Servers Flotte wird automatisch zugewiesen und kann nicht geändert werden. Sie müssen also den CIDR-Block für die VPC für Ihre Nicht-Ressourcen ändern. Amazon GameLift Servers So beheben Sie dieses Problem 
  + Suchen Sie diesen CIDR-Block für Ihre Amazon GameLift Servers-Flotte, indem Sie `DescribeVpcPeeringConnections()` aufrufen.
  + Rufen Sie die Amazon-VPC-Konsole auf, suchen Sie die VPC für Ihre Nicht-Amazon GameLift Servers-Ressourcen und ändern Sie den CIDR-Block so, dass sie sich nicht überlappen.
+ Die neue Flotte wurde nicht aktiviert (wenn VPC-Peering mit einer neuen Flotte angefordert wurde). Wenn die neue Flotte nicht auf den Status „**Aktiv**“ gewechselt hat, ist keine VPC vorhanden, mit der eine Peering-Verbindung hergestellt werden kann.

# Spielersitzungen und Matchmaking-Anpassungen
<a name="customize-player-sessions-matchmaking"></a>

Anpassungen an Spielersitzungen und Spielerzuweisungen geben dir die Möglichkeit, ausgeklügelte Workflows für die Spielerverwaltung zu entwickeln. Dazu gehört auch ein differenziertes Matchmaking-System, das dir dabei hilft, ausgewogene und fesselnde Mehrspielererlebnisse zu bieten.

# Spieler generieren IDs
<a name="player-sessions-player-identifiers"></a>

Amazon GameLift Serversverwendet eine Spielersitzung, um einen Spieler darzustellen, der mit einer Spielsitzung verbunden ist. Amazon GameLift Serverserstellt jedes Mal, wenn ein Spieler über einen integrierten Spielclient eine Verbindung zu einer Spielsitzung herstellt, eine SpielersitzungAmazon GameLift Servers. Wenn ein Spieler ein Spiel verlässt, endet die Spielersitzung. Amazon GameLift Serversverwendet Spielersitzungen nicht wieder.

**Wichtig**  
Wenn du die FlexMatch Spielerzuweisung verwendest und eine neue Matchmaking-Anfrage erstellst, die eine Spieler-ID enthält, die bereits in einer bestehenden aktiven Spielerzuweisungsanfrage enthalten ist, wird die bestehende Anfrage automatisch storniert. Für die stornierte `MatchmakingCancelled` Anfrage wird jedoch kein Event gesendet. Um den Status vorhandener Matchmaking-Anfragen zu überwachen, können Sie [DescribeMatchmaking](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeMatchmaking.html)den Status der Anfrage in seltenen Intervallen (30-60 Sekunden) abfragen. Für die stornierte Anfrage wird der Status `CANCELLED` mit dem Grund angezeigt. `Cancelled due to duplicate player`

Das folgende Codebeispiel generiert zufällig einen eindeutigen Spieler IDs:

```
bool includeBrackets = false;
bool includeDashes = true;
string playerId = AZ::Uuid::CreateRandom().ToString<string>(includeBrackets, includeDashes);
```

Weitere Informationen zu Spielersitzungen finden Sie unter[Spiel- und Spielersitzungen in der Amazon GameLift Servers Konsole](gamelift-console-game-player-sessions-metrics.md).

# Fügen Sie FlexMatch Matchmaking hinzu zu Amazon GameLift Servers
<a name="gamelift-match-intro"></a>

Verwenden Sie Amazon GameLift Servers FlexMatch diese Option, um Ihren Amazon GameLift Servers gehosteten Spielen Funktionen zur Spielersuche hinzuzufügen. Sie können es entweder FlexMatch mit benutzerdefinierten Spieleservern oder Amazon GameLift Servers Realtime verwenden. 

FlexMatch verbindet den Matchmaking-Service mit einer anpassbaren Regel-Engine. Sie entwerfen anhand von Spielerattributen und Spielmodi, die für Ihr Spiel sinnvoll sind, wie Spieler zusammengebracht werden. FlexMatchverwaltet die Einzelheiten der Bewertung von Spielern, die nach einem Spiel suchen, der Organisation von Spielen mit einem oder mehreren Teams und dem Starten von Spielsitzungen, um die Spiele auszurichten. 

Um den vollen FlexMatch Service nutzen zu können, müssen Sie Ihre Hosting-Ressourcen mit Warteschlangen eingerichtet haben. Amazon GameLift Serversverwendet Warteschlangen, um die bestmöglichen Hosting-Standorte für Spiele in verschiedenen Regionen und Computertypen zu finden. Insbesondere können Amazon GameLift Servers Warteschlangen Latenzdaten verwenden, sofern sie von Spielclients bereitgestellt werden, um Spielsitzungen so zu platzieren, dass Spieler beim Spielen die geringstmögliche Latenz erleben.

Weitere Informationen dazu, FlexMatch wie Sie detaillierte Hilfe bei der Integration von Spielersuche in Ihre Spiele erhalten, finden Sie in den folgenden Themen im [Amazon GameLift ServersFlexMatchEntwicklerhandbuch:](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/)
+ [Wie funktioniert Amazon GameLift ServersFlexMatch](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-intro.html)
+ [FlexMatchSchritte zur Integration](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-tasks.html)

# Anpassungen der Platzierung von Spielsitzungen
<a name="customize-game-session-placement"></a>

Anpassungen an die Platzierung von Spielsitzungen geben dir die Möglichkeit, dein Platzierungssystem zu verfeinern, um deiner Spielerbasis das bestmögliche Spielerlebnis zu bieten. Du kannst die Platzierung im Hinblick auf Spielerkompatibilität und Präferenzen sowie betriebliche Überlegungen wie Kosteneffizienz, geografische Verteilung und Ausfallsicherheit bei Betriebsunterbrechungen optimieren.

# Passen Sie eine Warteschlange für Spielsitzungen an
<a name="queues-design"></a>

In diesem Thema wird beschrieben, wie Sie Ihre Warteschlangen für Spielsitzungen anpassen können, um die bestmöglichen Entscheidungen über die Platzierung von Spielsitzungen zu treffen. Weitere Informationen zu Warteschlangen für Spielsitzungen und deren Funktionsweise finden Sie unter. [Platzierung der Spielsitzungen konfigurieren](queues-intro.md)

Für diese Amazon GameLift Servers Funktionen sind Warteschlangen erforderlich:
+ [Matchmaking mit FlexMatch](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-tasks.html)
+ [Eine Warteschlange für Spot-Instances erstellen](spot-tasks.md)

**Topics**
+ [Definieren Sie den Umfang einer Warteschlange](queues-design-scope.md)
+ [Erstellen Sie eine Warteschlange mit mehreren Standorten](queues-design-multiregion.md)
+ [Warteschlangenmetriken auswerten](queues-design-metrics.md)

# Definieren Sie den Umfang einer Warteschlange
<a name="queues-design-scope"></a>

Die Spielerpopulation Ihres Spiels besteht möglicherweise aus Gruppen von Spielern, die nicht zusammen spielen sollten. Wenn du dein Spiel beispielsweise in zwei Sprachen veröffentlichst, sollte jede Sprache ihre eigenen Spieleserver haben.

Um die Platzierung von Spielsitzungen für deine Spielerpopulation einzurichten, erstelle für jedes Spielersegment eine separate Warteschlange. Grenzen Sie jede Warteschlange so ein, dass Spieler auf den richtigen Spielservern platziert werden. Zu den gängigen Methoden zur Einteilung von Warteschlangen gehören:
+ **Nach geografischen Standorten.** Wenn Sie Ihre Spieleserver in mehreren geografischen Gebieten einsetzen, können Sie Warteschlangen für Spieler an jedem Standort einrichten, um die Latenz der Spieler zu verringern.
+ **Durch Build- oder Skriptvarianten.** Wenn du mehr als eine Variante deines Spielservers hast, unterstützt du möglicherweise Spielergruppen, die nicht an denselben Spielsitzungen teilnehmen können. Beispielsweise können Gameserver-Builds oder -Skripte verschiedene Sprachen oder Gerätetypen unterstützen.
+ **Nach Ereignistypen.** Sie können eine spezielle Warteschlange erstellen, um Spiele für Teilnehmer an Turnieren oder anderen Sonderveranstaltungen zu verwalten. 

## Entwerfen Sie mehrere Warteschlangen
<a name="queues-design-players"></a>

Abhängig von deinem Spiel und deinen Spielern möchtest du vielleicht mehr als eine Warteschlange für Spielsitzungen erstellen. Wenn dein Spiel-Client-Dienst eine neue Spielsitzung anfordert, gibt er an, welche Warteschlange für Spielsitzungen verwendet werden soll. Um dir bei der Entscheidung zu helfen, ob du mehrere Warteschlangen verwenden solltest, solltest du Folgendes beachten:
+ Varianten deines Spieleservers. Du kannst für jede Variante deines Gameservers eine separate Warteschlange erstellen. Alle Flotten in einer Warteschlange müssen kompatible Spieleserver bereitstellen. Das liegt daran, dass Spieler, die die Warteschlange nutzen, um an Spielen teilzunehmen, in der Lage sein müssen, auf jedem Spieleserver der Warteschlange zu spielen.
+ Verschiedene Spielergruppen. Sie können festlegen, wie Spielsitzungen je nach Spielergruppe Amazon GameLift Servers platziert werden. Beispielsweise benötigen Sie möglicherweise Warteschlangen, die auf bestimmte Spielmodi zugeschnitten sind und für die ein spezieller Instanztyp oder eine spezielle Laufzeitkonfiguration erforderlich ist. Oder vielleicht möchtest du eine spezielle Warteschlange einrichten, um Platzierungen für ein Turnier oder eine andere Veranstaltung zu verwalten.
+ Statistiken zur Warteschlange von Spielsitzungen. Sie können Warteschlangen einrichten, je nachdem, wie Sie Metriken zur Platzierung von Spielsitzungen sammeln möchten. Weitere Informationen finden Sie unter [Amazon GameLift Servers-Metriken für Warteschlangen](monitoring-cloudwatch.md#gamelift-metrics-queue).

# Erstellen Sie eine Warteschlange mit mehreren Standorten
<a name="queues-design-multiregion"></a>

Wir empfehlen ein Design mit mehreren Standorten für alle Warteschlangen. Dieses Design kann die Platzierungsgeschwindigkeit und die Stabilität des Hostings verbessern. Ein Design mit mehreren Standorten ist erforderlich, um mithilfe von Spielerlatenzdaten Spieler an Spielsitzungen mit minimaler Latenz teilnehmen zu lassen. Wenn Sie Warteschlangen mit mehreren Standorten erstellen, die Spot-Instance-Flotten verwenden, folgen Sie den Anweisungen unter. [Senken Sie die Kosten für das Hosting von Spielen mit Spot-Flotten](fleets-spot.md)

Eine Möglichkeit, eine Warteschlange mit mehreren Standorten zu erstellen, besteht darin, einer Warteschlange eine Flotte mit [mehreren Standorten](gamelift-regions.md#gamelift-regions-hosting) hinzuzufügen. Auf diese Weise kann die Warteschlange Spielsitzungen an beliebigen Standorten der Flotte platzieren. Aus Redundanzgründen kannst du auch andere Flotten mit unterschiedlichen Konfigurationen oder Heimatorten hinzufügen. Wenn Sie eine Spot-Instance-Flotte mit mehreren Standorten verwenden, befolgen Sie die bewährten Methoden und fügen Sie eine On-Demand-Instance-Flotte mit denselben Standorten hinzu.

Das folgende Beispiel beschreibt den Prozess der Gestaltung einer einfachen Warteschlange mit mehreren Standorten. In diesem Beispiel verwenden wir zwei Flotten: eine Spot-Instance-Flotte und eine On-Demand-Instance-Flotte. Jede Flotte hat die folgenden AWS-Regionen Platzierungsorte:`us-east-1`, `us-east-2``ca-central-1`, und`us-west-2`.

**Um eine einfache Warteschlange mit mehreren Standorten und Flotten mit mehreren Standorten zu erstellen**

1. Wählen Sie einen Standort aus, an dem die Warteschlange erstellt werden soll. Sie können die Latenz bei Anfragen minimieren, indem Sie die Warteschlange an einem Ort platzieren, an dem Sie den Client-Service bereitgestellt haben. In diesem Beispiel erstellen wir die Warteschlange in`us-east-1`.

1. Erstellen Sie eine neue Warteschlange und fügen Sie Ihre Flotten mit mehreren Standorten als Warteschlangenziele hinzu. Die Reihenfolge der Ziele bestimmt, wie Amazon GameLift Servers die Spielsitzungen platziert. In diesem Beispiel listen wir zuerst die Spot-Instance-Flotte und dann die On-Demand-Instance-Flotte auf.

1. Definieren Sie die Prioritätsreihenfolge der Spielsitzungen in der Warteschlange. Diese Reihenfolge bestimmt, wo die Warteschlange zuerst nach einem verfügbaren Spieleserver sucht. In diesem Beispiel verwenden wir die standardmäßige Prioritätsreihenfolge.

1. Definieren Sie die Reihenfolge der Standorte. Wenn Sie die Reihenfolge der Standorte nicht definieren, werden die Standorte in alphabetischer Reihenfolge Amazon GameLift Servers verwendet.

![\[Ein Konsolen-Screenshot, der die Standorte und die Zielreihenfolge der Beispielwarteschlange veranschaulicht.\]](http://docs.aws.amazon.com/de_de/gameliftservers/latest/developerguide/images/queue-multi-location-1.png)


![\[Ein Konsolen-Screenshot, der die Platzierungspriorität und die Reihenfolge der Standorte der Beispielwarteschlange veranschaulicht.\]](http://docs.aws.amazon.com/de_de/gameliftservers/latest/developerguide/images/queue-multi-location-2.png)


# Warteschlangenmetriken auswerten
<a name="queues-design-metrics"></a>

Verwenden Sie Metriken, um zu bewerten, wie gut Ihre Warteschlangen ausgeführt werden. Metriken zu Warteschlangen finden Sie in der [Amazon GameLift Servers Konsole ](https://console.aws.amazon.com/gamelift) oder bei Amazon CloudWatch. Eine Liste und eine Beschreibung der Queue-Metriken finden Sie unter[Amazon GameLift Servers-Metriken für Warteschlangen](monitoring-cloudwatch.md#gamelift-metrics-queue).

Queue-Metriken können Aufschluss über Folgendes geben:
+ **Gesamtleistung der Warteschlange** — Warteschlangenkennzahlen geben an, wie erfolgreich eine Warteschlange auf Platzierungsanfragen reagiert. Anhand dieser Kennzahlen können Sie auch feststellen, wann und warum Platzierungen fehlschlagen. Bei Warteschlangen mit manuell skalierten Flotten können die `QueueDepth` Kennzahlen `AverageWaitTime` und angeben, wann Sie die Kapazität für eine Warteschlange anpassen sollten.
+ **FleetIQ Leistung des Algorithmus ** — Für Platzierungsanfragen mit dem FleetIQ Algorithmus, Metriken zeigen, wie oft der Algorithmus die ideale Platzierung von Spielsitzungen findet. Bei der Platzierung kann der Einsatz von Ressourcen mit der geringsten Spielerlatenz oder Ressourcen mit den niedrigsten Kosten priorisiert werden. Es gibt auch Fehlermetriken, die die häufigsten Gründe dafür identifizieren Amazon GameLift Servers kann keine ideale Platzierung finden. Weitere Informationen zu den Metriken finden Sie unter [Überwachen Sie Amazon GameLift Servers mit Amazon CloudWatch](monitoring-cloudwatch.md).
+ **Standortspezifische Platzierungen** — Bei Warteschlangen mit mehreren Standorten zeigen Kennzahlen erfolgreiche Platzierungen nach Standort an. Für Warteschlangen, die den FleetIQ Diese Daten liefern nützliche Erkenntnisse darüber, wo Spieleraktivitäten stattfinden.

Bei der Auswertung von Kennzahlen für FleetIQ Beachten Sie die folgenden Tipps zur Leistung des Algorithmus:
+ Um zu verfolgen, wie schnell die Warteschlange eine ideale Platzierung gefunden hat, verwenden Sie die `PlacementsSucceeded` Metrik in Kombination mit FleetIQ Kennzahlen für die niedrigste Latenz und den niedrigsten Preis.
+ Um die Geschwindigkeit zu erhöhen, mit der eine Warteschlange eine ideale Platzierung findet, überprüfen Sie die folgenden Fehlermetriken:
  + Wenn der Wert hoch `FirstChoiceOutOfCapacity` ist, passen Sie die Kapazitätsskalierung für die Flotten der Warteschlange an.
  + Wenn die `FirstChoiceNotViable` Fehlermetrik hoch ist, schauen Sie sich Ihre Spot-Instance-Flotten an. Spot-Instance-Flotten gelten als nicht rentabel, wenn die Unterbrechungsrate für einen bestimmten Instance-Typ zu hoch ist. Um dieses Problem zu beheben, ändern Sie die Warteschlange so, dass Spot-Instance-Flotten mit unterschiedlichen Instance-Typen verwendet werden. Wir empfehlen, Spot-Instance-Flotten mit unterschiedlichen Instance-Typen an jedem Standort einzubeziehen.

# Priorisieren der Platzierung von Spielsitzungen
<a name="queues-design-priority"></a>

Amazon GameLift Serversverwendet einen Algorithmus, um zu bestimmen, wie die Ziele einer Warteschlange priorisiert werden und wo eine neue Spielsitzung stattfinden soll. Der Algorithmus basiert auf einem geordneten Satz von Kriterien. Sie können die Standardprioritätsreihenfolge verwenden oder die Reihenfolge anpassen. Sie können die Prioritätsreihenfolge einer Warteschlange jederzeit bearbeiten. 

**Standardprioritätsreihenfolge**

1. **Latenz** — Wenn die Anfrage zur Platzierung einer Spielsitzung standortspezifische Latenzdaten für Spieler enthält, Amazon GameLift Servers berechnet die durchschnittliche Spielerlatenz an jedem Standort und versucht, eine Spielsitzung an einem Flottenstandort mit dem niedrigsten Durchschnitt zu platzieren.

1. **Kosten** — Wenn eine Anfrage keine Latenzdaten enthält oder wenn mehrere Flotten dieselbe Latenz haben, werden die Hosting-Kosten Amazon GameLift Servers für jede Flotte berechnet. Die Hosting-Kosten einer Flotte variieren je nach Flottenart (Spot oder On-Demand), Instance-Typ und Standort. 

1. **Ziel** — Wenn mehrere Flotten die gleiche Latenz und die gleichen Kosten haben, werden Flotten anhand der Zielreihenfolge, die in der Warteschlangenkonfiguration aufgeführt ist, Amazon GameLift Servers priorisiert.

1. **Standort** — Wenn bei Warteschlangen mit Flotten mit mehreren Standorten alle anderen Kriterien übereinstimmen, werden die Standorte der Flotte in alphabetischer Amazon GameLift Servers Reihenfolge priorisiert.

## Passe an, wie eine Warteschlange die Platzierungen von Spielsitzungen priorisiert
<a name="queues-design-priority-custom"></a>

Du kannst festlegen, wie eine Warteschlange die Platzierungskriterien priorisiert. Die Warteschlange wendet die benutzerdefinierte Priorisierung auf alle Anfragen zur Platzierung von Spielsitzungen an, die sie erhält. 

**Anmerkung**  
Wenn Sie eine benutzerdefinierte Prioritätskonfiguration erstellen und nicht alle vier Kriterien angeben, Amazon GameLift Servers werden alle fehlenden Kriterien automatisch in der Standardreihenfolge hinzugefügt.

**Um die Prioritätskonfiguration einer Warteschlange anzupassen**

Verwenden Sie die [Amazon GameLift ServersKonsole](https://console.aws.amazon.com/gamelift/) oder die AWS Command Line Interface (AWS CLI), um eine benutzerdefinierte Prioritätskonfiguration zu erstellen. 

------
#### [ Console ]

In der [Amazon GameLift ServersKonsole](https://console.aws.amazon.com/gamelift/) können Sie die Prioritäten einer Warteschlange anpassen, wenn Sie eine neue Warteschlange erstellen oder eine bestehende Warteschlange aktualisieren. Wählen Sie eine AWS Region aus, in der Sie arbeiten möchten.

Öffnen Sie die linke Navigationsleiste der Konsole und wählen Sie **Warteschlangen.** **Wählen Sie auf der Seite Warteschlangen eine bestehende Warteschlange aus und klicken Sie auf Bearbeiten.**

1. Gehe zum Abschnitt **Priorität der Platzierung von Spielsitzungen**. Ziehen Sie jedes Prioritätskriterium per Drag-and-Drop, um die gewünschte Reihenfolge zu erstellen. 

1. Gehen Sie zum Abschnitt **Standortreihenfolge**. Fügen Sie alle Standorte hinzu, die Sie priorisieren möchten. Diese Liste ist nützlich, wenn die Warteschlange Flotten mit mehreren Standorten enthält. Sie müssen mindestens einen Standort angeben. Die Standorte, die Sie hier angeben, werden zuerst priorisiert, gefolgt von allen anderen Standorten in den Zielen der Warteschlange.

1. Wählen Sie **Änderungen speichern ** aus.

------
#### [ AWS CLI ]

Verwenden Sie den [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/update-game-session-queue.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/update-game-session-queue.html)Befehl mit der `--priority-configuration` Option, um die Prioritätsreihenfolge einer Warteschlange anzupassen. Amazon GameLift Serversaktualisiert eine Warteschlange in Ihrer aktuellen AWS Standardregion, oder Sie können ein `--region` Tag hinzufügen, um eine andere AWS Region anzugeben.

Die folgende Beispielanforderung fügt die Prioritätskonfiguration für eine angegebene Warteschlange hinzu oder aktualisiert sie

```
aws gamelift update-game-session-queue \ 
    --name "example-queue-with-priority"
    --priority-configuration PriorityOrder="COST','LOCATION","DESTINATION",LocationOrder="us-east-1","us-east-2","ca-central-1","us-west-2" \
```

------

## Priorisieren Sie Platzierungen nach der Latenz der Spieler
<a name="queues-design-priority-custom-latency"></a>

Wenn du deinen Spielern das bestmögliche Spielerlebnis bieten und eine minimale Latenz sicherstellen möchtest, führe bei der Einrichtung deines Platzierungssystems für Spielsitzungen die folgenden Schritte durch: 
+ Richten Sie Ihre Warteschlange so ein, dass bei der Auswahl, wo Spielsitzungen stattfinden sollen, der Latenz Priorität eingeräumt wird. Die Latenz steht standardmäßig ganz oben auf der Prioritätenliste. Sie können auch die Prioritätskonfiguration Ihrer Warteschlange anpassen und festlegen, wo die Latenz nach Priorität angeordnet werden soll. 
+ Richten Sie Richtlinien für die Spielerlatenz für Ihre Warteschlange ein. Mithilfe von Latenzrichtlinien kannst du feste Grenzen für die Latenz festlegen, die bei der Platzierung einer Spielsitzung zulässig ist. Wenn eine Spielsitzung nicht stattfinden Amazon GameLift Servers kann, ohne die Limits zu überschreiten, wird die Platzierungsanfrage nach einer Zeitüberschreitung unterbrochen und schlägt fehl. Sie können eine einzelne Latenzrichtlinie einrichten, oder Sie können eine Reihe von Richtlinien erstellen, die das Latenzlimit im Laufe der Zeit schrittweise lockern. Mit einer Reihe von Richtlinien können Sie anfänglich sehr niedrige Latenzgrenzen festlegen und Spieler mit höheren Latenzen auch nach einer kurzen Verzögerung berücksichtigen. Einzelheiten zur Erstellung von Latenzrichtlinien finden Sie unter[Erstellen Sie eine Latenzrichtlinie für Spieler](queues-design-latency.md). 
+ Wenn Sie Anfragen zur Platzierung von Spielsitzungen stellen (siehe [StartGameSessionPlacement](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_StartGameSessionPlacement.html)), geben Sie die Latenzdaten für jeden Spieler an. Die Daten zur Spielerlatenz beinhalten einen Wert für jeden möglichen Ort, an dem eine Spielsitzung stattfinden könnte. Für eine Warteschlange, die Spielsitzungen in AWS-Regionen us-east-2 und ca-central-1 platziert, könnten die Latenzdaten beispielsweise wie folgt aussehen: 

  ```
  "PlayerLatencies": [ 
      { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "us-east-2" },
      { "LatencyInMilliseconds": 100, "PlayerId": "player1", "RegionIdentifier": "ca-central-1" },
      { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "us-east-2" },
      { "LatencyInMilliseconds": 150, "PlayerId": "player2", "RegionIdentifier": "ca-central-1" }
    ]
  ```

  Verwenden Amazon GameLift Servers Sie die UDP-Ping-Beacons, um genaue Latenzmessungen zu erhalten. Mit diesen Endpunkten können Sie die tatsächliche UDP-Netzwerklatenz zwischen den Player-Geräten und jedem der potenziellen Hosting-Standorte messen, was zu genaueren Platzierungsentscheidungen führt als mit ICMP-Pings. Weitere Informationen zur Verwendung von UDP-Ping-Beacons zur Messung der Latenz finden Sie unter. [UDP-Ping-Beacons](reference-udp-ping-beacons.md)

## Priorisieren Sie Platzierungen nach Standort
<a name="queues-design-priority-custom-location"></a>

Sie können eine Warteschlange so konfigurieren, dass Platzierungen für Spielsitzungen auf der Grundlage einer priorisierten Liste geografischer Standorte vorgenommen werden. Der Standort ist eines der Kriterien, die bestimmen, wie eine Warteschlange auswählt, wo eine neue Spielsitzung stattfinden soll. Standardmäßig wird der Standort an vierter Stelle nach Latenz, Kosten und Ziel priorisiert.

Bei der Platzierung von Spielsitzungen haben Ziel und Ort etwas unterschiedliche Bedeutungen:
+ *Ziel* bezieht sich auf eine bestimmte Flotte und umfasst alle Hosting-Ressourcen der Flotte, unabhängig davon, wo sie eingesetzt werden. Bei der Priorisierung nach Ziel Amazon GameLift Servers kann eine Platzierung an einem beliebigen Standort in der Flotte vorgenommen werden. Verwaltete Flotten mit mehreren Standorten und Anywhere-Flotten können über Hosting-Ressourcen verfügen, die an einem oder mehreren Standorten bereitgestellt werden.
+ *Standort* bezieht sich auf eine bestimmte geografische Position, an der die Hosting-Ressourcen einer Flotte eingesetzt werden. Eine Flotte kann mehrere Standorte haben, zu denen Local Zones oder benutzerdefinierte Standorte (für eine Anywhere-Flotte) gehören AWS-Regionen können. Eine an einem einzigen Standort verwaltete Flotte hat einen Standort und es handelt sich immer um einen AWS-Region. Eine an mehreren Standorten verwaltete Flotte hat eine Heimatregion und kann auch abgelegene Standorte haben. Eine Anywhere-Flotte hat einen oder mehrere benutzerdefinierte Standorte.

Sucht bei der Priorisierung von Platzierungen nach Standort nach allen Warteschlangenzielen, Amazon GameLift Servers die den bevorzugten Standort enthalten, und sucht dort nach einer verfügbaren Hosting-Ressource. Wenn es mehrere Ziele mit dem bevorzugten Standort gibt, Amazon GameLift Servers wird mit den Kriterien für die nächste Priorität (Kosten, Latenz, Ziel) fortgefahren.

Es gibt mehrere Möglichkeiten, wie Sie beeinflussen können, wie die Standorte einer Warteschlange priorisiert werden 
+ Konfiguriere, wie die Warteschlange alle Anfragen zur Platzierung von Spielsitzungen behandelt:
  + **Fügen Sie der Warteschlange eine Prioritätskonfiguration hinzu.** Die Prioritätskonfiguration einer Warteschlange umfasst eine geordnete Liste von Standorten. Sie können einen oder mehrere Standorte angeben, die priorisiert werden sollen. Diese Liste schließt keine Standorte aus, sie gibt lediglich an, Amazon GameLift Servers wo zuerst nach einer verfügbaren Hosting-Ressource gesucht werden muss. Eine geordnete Standortliste wird häufig verwendet, wenn Sie den Großteil des Datenverkehrs an einen oder mehrere bestimmte geografische Standorte leiten und zusätzliche Standorte als Backup-Kapazität verwenden möchten. Fügen Sie eine Prioritätskonfiguration hinzu, indem Sie anrufen [UpdateGameSessionQueue](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_UpdateGameSessionQueue.html).
  + **Fügen Sie der Warteschlange eine Filterkonfiguration hinzu.** Eine Filterkonfiguration ist eine Zulassungsliste für die Warteschlange. Sie weist darauf Amazon GameLift Servers hin, dass bei der Suche nach einer verfügbaren Hosting-Ressource alle Standorte ignoriert werden sollen, die nicht auf der Liste stehen. Es gibt zwei gängige Verwendungszwecke für eine Filterkonfiguration. Erstens können Sie bei Flotten mit mehreren Standorten einen Filter verwenden, um einige Standorte der Flotte auszuschließen. Zweitens möchten Sie möglicherweise vorübergehend Platzierungen an einem bestimmten Standort verbieten. Beispielsweise könnten an einem Standort vorübergehende Probleme auftreten. Da Sie die Filterkonfiguration einer Warteschlange jederzeit aktualisieren können, können Sie Standorte ganz einfach nach Bedarf hinzufügen oder entfernen. Fügen Sie eine Filterkonfiguration hinzu, indem Sie anrufen [UpdateGameSessionQueue](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_UpdateGameSessionQueue.html).
+ Verwenden Sie spezielle Anweisungen für individuelle Platzierungsanfragen:
  + **Fügen Sie einer Platzierungsanfrage für eine Spielsitzung eine Liste mit überschriebenen Prioritäten bei.** Sie können bei jeder [StartGameSessionPlacement](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_StartGameSessionPlacement.html)Anfrage eine alternative Prioritätsliste mit Standorten bereitstellen. Diese Liste ersetzt effektiv die konfigurierte Priorisierung der Warteschlange für Standorte nur für diese eine Anfrage. Sie hat keine Auswirkungen auf andere Anfragen. Für diese Override-Funktion gelten einige Anforderungen:
    + Verwenden Sie eine Override-Liste nur für eine Warteschlange, für die eine Prioritätskonfiguration mit `LOCATION` erster Priorität eingerichtet wurde.
    + Nehmen Sie in derselben Platzierungsanfrage keine Daten zur Spielerlatenz auf. Die Einbeziehung von Latenzdaten führt zu Konflikten bei der Priorisierung von Standorten, die nicht gelöst Amazon GameLift Servers werden können.
    + Entscheiden Sie, wie Sie vorgehen Amazon GameLift Servers möchten, wenn eine verfügbare Ressource auf der Prioritätsliste nicht gefunden werden kann. Wählen Sie, ob Sie auf die anderen Standorte der Warteschlange zurückgreifen oder Platzierungen auf die Überschreibungsliste beschränken möchten. Standardmäßig wird versucht, Amazon GameLift Servers die Platzierung an den anderen Orten der Warteschlange zu versuchen.
    + Aktualisieren Sie die Filterkonfiguration der Warteschlange nach Bedarf, indem Sie beispielsweise Standorte zur Override-Liste hinzufügen. Die Überschreibungsliste macht die Filterliste nicht ungültig. 

# Erstellen Sie eine Latenzrichtlinie für Spieler
<a name="queues-design-latency"></a>

Wenn Ihre Platzierungsanfragen Daten zur Spielerlatenz enthaltenAmazon GameLift Servers, werden Spielsitzungen an Orten mit der niedrigsten durchschnittlichen Latenz für alle Spieler gefunden. Wenn Sie Spielsitzungen auf der Grundlage der durchschnittlichen Spielerlatenz platzieren, wird Amazon GameLift Servers verhindert, dass die meisten Spieler an Spielen mit hoher Latenz teilnehmen. Allerdings werden Spieler Amazon GameLift Servers immer noch mit extremer Latenz platziert. Um diesen Spielern gerecht zu werden, sollten Sie Richtlinien zur Spielerlatenz erstellen.

Eine Richtlinie zur Spielerlatenz Amazon GameLift Servers verhindert, dass eine angeforderte Spielsitzung an einer Stelle platziert wird, an der bei Spielern in der Anfrage eine Latenz über dem Maximalwert auftreten würde. Richtlinien zur Spielerlatenz können auch Amazon GameLift Servers verhindern, dass Anfragen für Spielsitzungen Spielern mit höherer Latenz zugeordnet werden.

**Tipp**  
Um latenzspezifische Regeln zu verwalten, z. B. eine ähnliche Latenz für alle Spieler in einer Gruppe vorzuschreiben, kannst [https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-intro.html)du latenzbasierte Matchmaking-Regeln erstellen.

Stellen Sie sich zum Beispiel diese Warteschlange mit einem Timeout von 5 Minuten und den folgenden Latenzrichtlinien für Spieler vor:

1. Verbringen Sie 120 Sekunden damit, nach einem Ort zu suchen, an dem alle Spielerlatenzen weniger als 50 Millisekunden betragen.

1. Verbringen Sie 120 Sekunden damit, nach einem Ort zu suchen, an dem alle Spielerlatenzen weniger als 100 Millisekunden betragen.

1. Verbringen Sie die verbleibende Wartezeit bis zum Timeout damit, nach einem Ort zu suchen, an dem die Latenzen aller Spieler weniger als 200 Millisekunden betragen.

![\[Ein Konsolen-Screenshot, der das Beispiel für Latenzrichtlinien veranschaulicht, die schrittweise gelockert werden.\]](http://docs.aws.amazon.com/de_de/gameliftservers/latest/developerguide/images/queue-latency-policy.png)


# Eine Warteschlange für Spot-Instances erstellen
<a name="spot-tasks"></a>

Durch den Einsatz von Spot-Flotten können Sie potenziell erhebliche Einsparungen bei den Hosting-Kosten erzielen. Weitere Informationen zu Spot-Flotten und deren Verwendung finden Sie unter. [On-Demand-Instances im Vergleich zu Spot Instances](gamelift-compute.md#gamelift-compute-spot) 

Wenn deine Game-Hosting-Lösung Spot-Flotten beinhaltet, musst du eine Warteschlange für die Platzierung von Spielsitzungen verwenden. Amazon GameLift Serversverwendet Warteschlangen, um mehrere Ressourcen zum Hosten von Spielen zu durchsuchen und die beste verfügbare Ressource für die Ausrichtung einer neuen Spielsitzung auszuwählen. Bei Spot-Flotten sind Warteschlangen besonders wichtig, um die Hosting-Kosten zu minimieren und mögliche Spot-Unterbrechungen zu vermeiden. Dieses Thema hilft Ihnen dabei, eine stabile Warteschlange einzurichten, in der auch bei Unterbrechungen, Verlangsamungen und Ausfällen weiterhin Spiele für Spieler gehostet werden können. Sie können anhand verschiedener Faktoren, einschließlich der Hosting-Kosten, anpassen, wie die Warteschlange die verfügbaren Hosting-Ressourcen priorisiert.

Nutzen Sie FlexMatch für das Matchmaking? Du kannst eine Warteschlange mit Spot-Flotten verwenden, um Spielsitzungen für deine Spiele zu platzieren.

## Implementierungsaufgaben für Spot-Flotten
<a name="spot-tasks-queue"></a>

Wenn du deine Game-Hosting-Lösung für die Verwendung von Spot-Flotten erstellst oder aktualisierst, führe die folgenden Aufgaben aus. Ausführlichere Anleitungen zum Erstellen einer Warteschlange, die die Verfügbarkeit und Stabilität von Spot optimiert, finden Sie unter. [Senken Sie die Kosten für das Hosting von Spielen mit Spot-Flotten](fleets-spot.md)

1. **Wählen und erstellen Sie eine Reihe von Flottenzielen für Ihre Warteschlange für Spielsitzungen.**

   Entscheiden Sie zunächst, wo Ihre Warteschlange Spielsitzungen platzieren soll. Eine Warteschlange kann mehrere Flotten durchsuchen, um die bestmögliche Platzierung zu finden. Jede Flotte hat einen Instance-Typ, kann aber auch mehrere geografische Standorte haben. Warteschlangen mit Flotten, die sowohl hinsichtlich des Standorts als auch des Instance-Typs Abwechslung bieten, führen eher zu erfolgreichen Platzierungen. Sehen Sie sich diese bewährten Methoden zum Entwerfen einer effektiven und belastbaren, SPOT-optimierten Warteschlange an.

1. **Erstellen Sie Ihre SPOT-optimierte Warteschlange für Spielsitzungen.** 

   Erstelle eine Warteschlange und konfiguriere sie für deine Spot-Flotten. Weitere Informationen zum Erstellen und Konfigurieren der neuen Warteschlange finden Sie unter [Eine Warteschlange für Spielsitzungen erstellen](queues-creating.md). Sie können die Amazon GameLift Servers Konsole oder die AWS CLI verwenden, um eine Warteschlange zu erstellen oder zu bearbeiten.
   + Fügen Sie die Flottenziele aus Schritt 1 hinzu. 
   + Priorisieren Sie die Zielreihenfolge nach Bedarf. Standardmäßig werden die Kosten vor dem Ziel Amazon GameLift Servers priorisiert, sodass die Zielreihenfolge nur verwendet wird, wenn die niedrigsten Kosten zwischen den Zielen identisch sind.
   + Wenn Sie die Kosten für das Hosting von Spielen vor der Latenz der Spieler priorisieren möchten, geben Sie eine benutzerdefinierte Platzierungspriorität an. Siehe [Priorisieren der Platzierung von Spielsitzungen](queues-design-priority.md).

1. **Aktualisieren Sie andere Komponenten in Ihrer Lösung, um die neue Warteschlange zu verwenden.**

   Wenn Ihre Lösung eine SPOT-optimierte Warteschlange verwendet, um neue Spielsitzungen zu starten, verhindert die Warteschlange automatisch, dass Spielsitzungen mit Flotten platziert werden, bei denen die Wahrscheinlichkeit einer Unterbrechung hoch ist. Stattdessen durchsucht sie alle brauchbaren Flotten nach Ressourcen, die deinen definierten Prioritäten entsprechen, einschließlich Spielerlatenz, Hosting-Kosten und Zielreihenfolge. 
   + Falls du es nicht verwendest FlexMatch — Aktualisiere deinen Backend-Service, um die neue Spot-optimierte Warteschlange für Spielsitzungen anzugeben. Der Backend-Service stellt API-Anfragen im Namen eures Spielclients (using`StartGameSessionPlacement()`) Amazon GameLift Servers an, und für jede Anfrage muss ein Warteschlangenname angegeben werden. Hilfe bei der Implementierung der Platzierungen von Spielsitzungen in Ihrem Spielclient finden Sie unter [Spielsitzungen erstellen](gamelift-sdk-client-api.md#gamelift-sdk-client-api-create).
   + Falls du verwendest FlexMatch — Aktualisiere deine Matchmaking-Konfiguration, um Anfragen für Spielsitzungen an die neue SPOT-optimierte Warteschlange zu senden. Wenn das Matchmaking-System ein Spielermatch bildet, sendet es eine Anfrage zur Platzierung einer Spielsitzung an die dafür vorgesehene Warteschlange, um eine neue Spielsitzung für das Spiel zu starten. Nur bei Matchmaking-Konfigurationen, bei denen der FlexMatch Modus auf „Verwaltet“ eingestellt ist, kann eine Platzierungswarteschlange festgelegt werden. Sie können eine Matchmaking-Konfiguration über die AWS CLI oder die Amazon GameLift Servers Konsole aktualisieren (siehe [Matchmaking-Konfiguration bearbeiten](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-create-configuration-edit.html)).

1. **Überprüfen Sie die Leistung Ihrer Spot-Flotten und Warteschlangen.** 

   Sehen Sie sich Amazon GameLift Servers Metriken in der Amazon GameLift Servers Konsole oder bei Amazon CloudWatch an, um die Leistung zu überprüfen. Weitere Informationen zu den Amazon GameLift Servers-Metriken finden Sie unter [Überwachen Sie Amazon GameLift Servers mit Amazon CloudWatch](monitoring-cloudwatch.md). Zu den wichtigsten Metriken gehören:
   + Unterbrechungsrate — Verwenden Sie die `GameSessionInterruptions` Messwerte `InstanceInterruptions` und, um die Anzahl und Häufigkeit von SPOT-bedingten Unterbrechungen für Instances und Spielsitzungen nachzuverfolgen. Spielsitzungen auf zurückgeforderten Instanzen haben den Status `TERMINATED` und den Statusgrund von. `INTERRUPTED`
   + Effektivität der Warteschlangen — Verfolge die Erfolgsquoten bei der Platzierung, die durchschnittliche Wartezeit und die Warteschlangentiefe, um sicherzugehen, dass Spot-Flotten deine Leistung in der Warteschlange nicht beeinträchtigen.
   + Flottennutzung — Überwachen Sie Daten zu Instanzen, Spiel- und Spielersitzungen. Die Nutzung Ihrer On-Demand-Flotten kann ein Indikator dafür sein, dass Warteschlangen dazu führen, dass Sie nicht in Ihre Spot-Flotten aufgenommen werden, um Störungen zu vermeiden.

## Bewährte Methoden für Warteschlangen mit Spot-Flotten
<a name="queues-design-spot"></a>

 Verwenden Sie beim Erstellen von Flotten und Warteschlangen für Spot-Instances die folgenden bewährten Methoden. 
+ **Erweitern Sie die geografische Abdeckung Ihrer Warteschlange.** Auch wenn sich deine Spieler in einem einzigen Cluster befinden AWS-Region, füge deiner Spot-Flotte benachbarte Standorte hinzu. Dieser Ansatz verbessert die Fähigkeit der Warteschlange, die Kapazität bei regionalen Verlangsamungen, Ausfällen und Spot-Unterbrechungen aufrechtzuerhalten. Flotten mit mehreren Standorten funktionieren sowohl mit Spot- als auch mit On-Demand-Instances.
+ **Diversifizieren Sie die Abdeckung der Instance-Typen Ihrer Warteschlange.** Amazon GameLift Serversbewertet die Rentabilität von Spot anhand des Instance-Typs, sodass Spot-Flotten mit einer Vielzahl von Instance-Typen die Wahrscheinlichkeit verringern, dass mehrere Spot-Flotten gleichzeitig nicht rentabel sind. Schließt mindestens zwei Spot-Flotten mit unterschiedlichen Instance-Typen an jedem Standort ein. 
**Anmerkung**  
Die Preise basieren auf den Instances, die Sie verwenden, nicht auf der Anzahl der Flotten. Der Betrieb von fünf Flotten mit jeweils 10 Instances entspricht dem Betrieb einer Flotte mit 50 Instances zu ähnlichen Kosten. Die Preise variieren je nach Instance-Typ, Größe und Standort. 

  Tipps zur Gruppierung von Spot-Instance-Typen: 
  + Verwenden Sie Instance-Typen derselben Familie, wie `m6g.medium``m6g.large`, und`m6g.xlarge`. Größere Instanztypen kosten mehr, können aber auch mehrere Spielsitzungen gleichzeitig hosten.
  + Wählen Sie allgemein verfügbare Instanztypen aus. Typischerweise bieten Familien älterer Generationen (wie C5, M5 und R5) und gängige Größen (wie .large, .xlarge und .2xlarge) eine bessere Verfügbarkeit.
  + Sehen Sie sich in der Konsole die Preisentwicklung von 30 bis 90 Tagen an. Amazon GameLift Servers Suchen Sie nach Instance-Typen mit konsistenten Verfügbarkeitsmustern.
  + Verwenden Sie die Amazon GameLift Servers Konsole, das Tool zur Flottenerstellung, um die Standortabdeckung für Instance-Typen zu untersuchen.
+ **Fügen Sie On-Demand-Flotten für Backup-Kapazität hinzu.** Spiele-Hosting kann zu On-Demand-Flotten wechseln, wenn Spot-Flotten nicht verfügbar sind. Stell an jedem Standort mindestens eine On-Demand-Flotte auf, um die Latenz der Spieler gering zu halten. Fügen Sie auto-scaling zu Ihren On-Demand-Backup-Flotten hinzu, sodass Sie sie herunterskalieren können, bis sie benötigt werden.
+ **Weisen Sie allen Flottenzielen Aliase zu.** Erstellen Sie Aliase für jedes Ziel Ihrer Warteschlange. Aliase machen es einfacher und effizienter, wann immer Sie Flotten austauschen müssen. 
+ **Wenden Sie eine Strategie zur Priorisierung von Warteschlangen an.** Du kannst anpassen, wie in einer Warteschlange Prioritäten gesetzt werden, wo Spielsitzungen platziert werden sollen (weitere Informationen findest du unter[Priorisieren der Platzierung von Spielsitzungen](queues-design-priority.md)). Bei Spot-optimierten Warteschlangen wird durch die Priorisierung nach Kosten sichergestellt, dass wann immer möglich kostengünstige Spot-Flotten eingesetzt werden. 

  Sie können bestimmte Flotten auch priorisieren, indem Sie eine Zielreihenfolge angeben. Beispielsweise weisen einige Benutzer eine Reihe primärer Flotten für den regelmäßigen Gebrauch und auch eine Reihe von sekundären Flotten als Ersatzflotten zu. In diesem Szenario legen Sie die Zielreihenfolge der Warteschlange so fest, dass die primären Flotten zuerst aufgeführt werden. Konfigurieren Sie dann die Prioritätsreihenfolge der Warteschlange mit dem Ziel, gefolgt von den Kosten.

# Anpassungen der Hosting-Ressourcen
<a name="fleets-design"></a>

Dieser Abschnitt bietet erweiterte Optionen für die Konfiguration und Verwaltung Ihrer Amazon GameLift Servers Infrastruktur, um spezifische Leistungs-, Kosten- und Betriebsanforderungen zu erfüllen. In den Themen in diesem Abschnitt wird insbesondere beschrieben, wie Sie Ihre Amazon GameLift Servers verwalteten Hosting-Ressourcen so anpassen können, dass sie am besten zu Ihrem Spiel und Ihren Spielern passen. 

Einige der Entscheidungen, die du in Betracht ziehen solltest: 
+ Wo können Sie Hosting-Ressourcen für Ihre Spieler einsetzen? Die Latenz im Gameplay ist ein wichtiger Faktor bei der Auswahl der geografischen Standorte deiner Flotte, aber es gibt auch andere Faktoren, die je nach Standort variieren, darunter die Verfügbarkeit der Ressourcen und die Kosten.
+ Welche EC2 Instance-Typen werden dein Spiel am besten unterstützen? Wählen Sie aus den verfügbaren Instance-Typen, die die beste Kombination aus Rechenarchitektur, Arbeitsspeicher, Speicher und Netzwerkkapazität nutzen. 
+ Welche Größe des Instance-Typs benötigen Sie? Wählen Sie die Größe des Instance-Typs auf der Grundlage der Ressourcenanforderungen (Speicher und CPU) Ihrer Gameserver-Software und anderen Faktoren aus. 
+ Sollte Ihre Flotte On-Demand-Instances oder Spot-Instances verwenden? Überlegen Sie, ob Sie von niedrigeren Spot-Preisen profitieren können und ob die Wahrscheinlichkeit von Spot-Unterbrechungen Ihrer Spielsitzungen Amazon GameLift Servers ausreichend verringert wird.
+ Wie soll Ihre Gameserver-Software auf jeder Flotteninstanz ausgeführt werden? Die Laufzeitkonfiguration legt festAmazon GameLift Servers, welche Serversoftware wie ausgeführt werden soll.
+ Funktioniert die Standardkonfiguration für Containerflotten für dein Spiel? Amazon GameLift Serversnimmt Ihnen viel Arbeit bei der Optimierung Ihrer Containerflottenkonfigurationen ab, aber Sie können die meisten Konfigurationseinstellungen anpassen.

# Wählen Sie Rechenressourcen für eine verwaltete Flotte
<a name="gamelift-compute"></a>

Für Amazon GameLift Servers verwaltetes Hosting, einschließlich verwalteter EC2- und verwalteter Container, stellt der Dienst Ihre Spieleserver auf Flotten von Rechenressourcen in der bereit. AWS Cloud Wenn Sie eine verwaltete Flotte erstellen, möchten Sie die Hosting-Ressourcen so konfigurieren, dass sie am besten zu Ihrem Spiel passen. In diesem Thema werden wichtige Entscheidungspunkte bei der Auswahl und Konfiguration deiner Spiele-Hosting-Flotten behandelt.

**Anmerkung**  
Wenn Sie eine Hybridlösung mit Anywhere und Amazon GameLift Servers verwalteten Flotten entwickeln möchten, können Sie anhand dieser Themen verwaltete Flotten als Ergänzung zu Ihren eigenen, selbst verwalteten Ressourcen entwerfen. Siehe [Stellen Sie Hosting-Flotten bereit für Amazon GameLift Servers](fleets-intro.md).

**Topics**
+ [Geografische Standorte](#gamelift-compute-location)
+ [Betriebssysteme](#gamelift-compute-os)
+ [Instance-Typen](#gamelift-compute-instance)
+ [On-Demand-Instances im Vergleich zu Spot Instances](#gamelift-compute-spot)
+ [Servicekontingente](#gamelift-service-limits)

## Geografische Standorte
<a name="gamelift-compute-location"></a>

Überlegen Sie, wo Sie Ihre Spieleserver einsetzen möchten. Im Allgemeinen möchten Sie Ihre Spieleserver so nah wie möglich an Ihren Spielern platzieren, um das bestmögliche Spielerlebnis zu bieten. Für Amazon GameLift Servers verwaltetes Hosting kannst du dich dafür entscheiden, Spieleserver in einer der unterstützten AWS-Regionen und Local Zones zu platzieren. Wenn Sie eine Hybridlösung entwickeln, sollten Sie sich überlegen, wie der Einsatz einer verwalteten Flotte die Standorte Ihrer selbstverwalteten Amazon GameLift Servers Anywhere-Flotten ergänzen kann.

Für die meisten Entwicklungs- und Testszenarien ist die Bereitstellung an einem einzigen Standort sinnvoll. Bei der Vorbereitung auf die Markteinführung und darüber hinaus gibt es viele Gründe, die für eine Bereitstellung an mehreren geografischen Standorten sprechen. Dazu gehören die Unterstützung einer großen Gruppe von Spielern und die Verbesserung der allgemeinen Widerstandsfähigkeit und Zuverlässigkeit des Spielhostings. Mehrere Standorte können auch das Spielerlebnis verbessern, indem sie die Platzierung von Spielsitzungen beschleunigen und mehr Auswahlmöglichkeiten bei der Optimierung von Platzierungen im Hinblick auf Latenz und Kosten bieten.

Eine Liste der Standorte, die von unterstützt werden, Amazon GameLift Servers und weitere Informationen zu Standorten für alle Flottenarten finden Sie unter. [Amazon GameLift ServersServicestandorte](gamelift-regions.md)

Flotten mit mehreren Standorten

Eine einzige verwaltete Flotte kann Ressourcen an mehreren Standorten einsetzen. Sie können die Kapazität für jeden einzelnen Standort in einer Flotte mit mehreren Standorten manuell festlegen.

Vorteile der Verwendung einer Flotte mit mehreren Standorten: 
+ Vereinfachte Flottenbereitstellung und -verwaltung — Sie stellen die Gameserver-Software und die Flottenkonfiguration Amazon GameLift Servers bereit und stellen sie auf Flotteninstanzen an mehreren Standorten bereit (einmal erstellen, überall bereitstellen). In einer Produktionsflotte kannst du alle Standorte einer Flotte einsehen und verwalten, anstatt mehrere Flotten verwalten zu müssen, die sich jeweils in einer anderen Region befinden.
+ Verfügbarkeit lokaler Zonen — Wenn Sie eine lokale Zone verwenden möchten, müssen Sie eine Flotte mit mehreren Standorten mit einem AWS-Region Heimatstandort und Local Zones als entfernten Standorten einrichten. Local Zones sind Erweiterungen davon AWS-Regionen , die für Bereiche und Kunden, die sie benötigen, eine noch geringere Latenz bieten können. Sie können jeder Flotte mit mehreren Standorten eine lokale Zone hinzufügen. Sie müssen die der lokalen Zone übergeordnete AWS-Region Zone nicht hinzufügen.
+ Kompatibilität mit Warteschlangen für Spielsitzungen — Sie können Warteschlangen für die Platzierung von Spielsitzungen mit einer oder mehreren Flotten mit mehreren Standorten erstellen. Dieser Ansatz gibt der Warteschlange Flexibilität bei der Priorisierung und Auswahl von Orten für die Ausrichtung einer neuen Spielsitzung.
+ Effiziente Ressourcennutzung — Wenn die auto-scaling aktiviert ist, Amazon GameLift Servers kann die Kapazitätsskalierung an allen Standorten in einer Flotte besser optimiert werden.

Tipps für den Einsatz von Flotten mit mehreren Standorten: 
+ Suchen Sie nach Kontingenten für die Anzahl der Standorte pro Flotte AWS-Region . Siehe [Amazon GameLift Servers-Servicekontingente](https://docs.aws.amazon.com/general/latest/gr/gamelift.html#limits_gamelift).
+ Nicht alle Instance-Typen sind an allen Standorten verfügbar. Abhängig von den von Ihnen ausgewählten Standorten stehen Ihnen möglicherweise eingeschränkte Optionen für Instanztypen zur Verfügung. Die Amazon GameLift Servers Konsole bietet nützliche Tools, die Ihnen helfen, das richtige Gleichgewicht zwischen Standorten und Instance-Typen zu finden. 
+ Erwägen Sie [UDP-Ping-Beacons](reference-udp-ping-beacons.md) die Verwendung zur Erfassung von Spielerlatenzdaten für all Ihre Flottenstandorte. Amazon GameLift Serverskann diese Daten verwenden, um Spielsitzungen für eine geringe Latenz zu optimieren und zu verhindern, dass Spieler an Sitzungen mit inakzeptabel hoher Latenz teilnehmen. Diese speziellen Endpunkte akzeptieren UDP-Nachrichten anstelle von herkömmlichen ICMP-Pings und bieten präzise Latenzmessungen, die Sie bei der Auswahl der optimalen Flottenstandorte unterstützen.

## Betriebssysteme
<a name="gamelift-compute-os"></a>

Alle Instances in einer verwalteten Flotte werden mit einem Amazon Machine Image (AMI) bereitgestellt, das eine vollständige Laufzeitumgebung für Ihre Gameserver-Software bietet. Bei verwalteten EC2-Flotten geben Sie das Betriebssystem des Spielserver-Builds an, wenn Sie den Build auf hochladen. Amazon GameLift Servers Für verwaltete Container-Flotten geben Sie das Betriebssystem in der Container-Gruppendefinition an. Weitere Informationen zu den neuesten AMI-Versionen finden Sie unter[Amazon GameLift ServersAMI-Versionen](reference-ec2-ami-version-history.md).

AMI-Versionen werden regelmäßig aktualisiert. Wenn Sie eine neue Flotte erstellen, Amazon GameLift Servers weist Ihnen die neueste verfügbare Version des AMI zu, das Sie für Ihren Spiel-Build ausgewählt haben. Alle Instances, die in dieser Flotte bereitgestellt werden, verwenden dieselbe Version. Um Ihre AMI-Version mit den neuesten Sicherheits- und Softwareupdates auf dem neuesten Stand zu halten, müssen Sie Ihre Flotten regelmäßig austauschen. Als bewährte Methode empfehlen wir, Ihre verwalteten Flotten alle 30 Tage auszutauschen, um die Laufzeitumgebung für Ihre Spieleserver aufrechtzuerhalten. Anleitungen finden Sie unter [Bewährte Methoden für die Sicherheit für Amazon GameLift Servers](security-best-practices.md).

## Instance-Typen
<a name="gamelift-compute-instance"></a>

Der Instanztyp einer verwalteten Flotte bestimmt die Art der Hardware, die für alle Flotteninstanzen eingesetzt wird. Instance-Typen sind in der Regel in verschiedenen Größen erhältlich. Alle Amazon GameLift Servers verwalteten Flotten verwenden Amazon EC2 EC2-Instances und unterstützen eine Vielzahl von Instance-Typen, die unterschiedliche Kombinationen von Rechenleistung, Arbeitsspeicher, Speicher und Netzwerkfunktionen bieten. Die Verfügbarkeit von Instance-Typen hängt von den ausgewählten Standorten ab. 

Die Amazon GameLift Servers Konsole bietet nützliche Tools, die dir dabei helfen, die richtigen Instanztypen für deinen Spiel-Build und deine Einsatzorte zu finden. Für verwaltete Containerflotten bietet die Konsole auch Hinweise zur CPU-Leistung und den Speicheranforderungen Ihres Spiels.

Wenn du einen der verfügbaren Instance-Typen für dein Spiel auswählst, solltest du Folgendes berücksichtigen:
+ Die Rechenarchitektur deines Spieleservers: x64 oder Arm (AWS Graviton).
**Anmerkung**  
Graviton Arm-Instances erfordern einen Server-Build für ein Linux-AMI. Server-SDK 5.1.1 oder neuer ist für C\$1\$1 und C\$1 erforderlich. Server-SDK 5.0 oder neuer ist für Go erforderlich. Diese Instances bieten keine out-of-the-box Unterstützung für die Mono-Installation auf Amazon Linux 2023 (AL2023) oder Amazon Linux 2 (AL2). 
+ Die Rechen-, Speicher- und Speicheranforderungen Ihres Gameserver-Builds. 
+ Die Größe Ihres Instance-Typs. Größere Instance-Typen erfüllen nicht nur die Anforderungen der ausführbaren Dateien Ihrer Gameserver-Software, sondern können auch mehrere and/or Gameserver-Prozesscontainer auf jeder Instance ausführen. Zu den zu berücksichtigenden Faktoren gehören die Kosten (ist es günstiger, ein paar große Instances oder viele kleine Instances zu betreiben). Denken Sie auch darüber nach, wie sich das Hinzufügen oder Entfernen von Instances während der Flottenskalierung oder beim Herunterfahren fehlerhafter Instances auf die Kapazität von Spielsitzungen auswirken könnte. Wenn auf jeder Instanz viele Spieleserverprozesse gleichzeitig ausgeführt werden, kann das Hinzufügen oder Entfernen einer Instanz die Hosting-Kapazität des Spiels erheblich beeinträchtigen. 

Weitere Informationen zu Instance-Typen finden Sie unter [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/).

## On-Demand-Instances im Vergleich zu Spot Instances
<a name="gamelift-compute-spot"></a>

Amazon EC2 On-Demand-Instances und Spot-Instances bieten dieselbe Hardware und Leistung, unterscheiden sich jedoch in Verfügbarkeit und Kosten.

**On-Demand Instances**  
Sie können eine On-Demand-Instance erwerben, wenn Sie sie benötigen, und sie so lange behalten, wie Sie möchten. On-Demand-Instances haben feste Kosten, d. h. Sie zahlen nur für die Zeit, für die Sie sie nutzen. Es gibt keine langfristigen Verpflichtungen.

**Spot Instances**  
Spot-Instances können durch die Nutzung ungenutzter AWS Rechenkapazität eine kosteneffiziente Alternative zu On-Demand-Instances bieten. Die Preise für Spot-Instances schwanken je nach Angebot und Nachfrage für jeden Instance-Typ an jedem Standort. AWS kann Spot-Instances mit einer zweiminütigen Benachrichtigung zurückfordern, wenn die Kapazität wieder benötigt wird und Spielsitzungen, die aktiv auf einer zurückgeforderten Instanz laufen, unterbrochen werden. 

Amazon GameLift Serversbietet verschiedene Tools, um die Wahrscheinlichkeit von Spot-Unterbrechungen Ihrer Spielsitzungen zu verringern. Ein Spot-Viability-Algorithmus verfolgt historische Daten vom Instance-Typ, um vorherzusehen, wann das Risiko einer Unterbrechung einen kritischen Punkt erreicht, und verhindert, dass neue Spielsitzungen auf Spot-Instances dieses Typs stattfinden. Wenn es zu einer Unterbrechung kommt, können Ihre Spieleserver die Benachrichtigung verwenden, um eine Spielsitzung für Spieler ordnungsgemäß zu beenden.

Beim Hosten von Spielen mit Spot-Flotten muss eine Warteschlange für die Platzierung von Spielsitzungen verwendet werden. In einer Warteschlange können Platzierungen für Spielsitzungen auf der Grundlage der Rentabilität der Spot-Flotte, der Kosten und anderer Faktoren priorisiert werden. In diesen Themen findest du weitere Informationen darüber, wie du Spot für dein Gameserver-Hosting nutzen kannst: 
+ [Senken Sie die Kosten für das Hosting von Spielen mit Spot-Flotten](fleets-spot.md)
+ [Eine Warteschlange für Spot-Instances erstellen](spot-tasks.md)

## Servicekontingente
<a name="gamelift-service-limits"></a>

Sie können die Standard-Servicekontingente Amazon GameLift Servers und den aktuellen Kontingentstatus für Ihre AWS-Konto Nutzung der folgenden Tools einsehen:
+ Allgemeine Informationen zu Servicekontingenten für Amazon GameLift Servers finden Sie unter [Amazon GameLift ServersEndpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/gamelift.html) in der *Allgemeine AWS-Referenz*.
+ Eine Liste der verfügbaren Instanztypen pro Standort für Ihr Konto finden Sie auf der Seite mit den [Servicekontingenten](https://console.aws.amazon.com/gamelift/service-quotas) der Amazon GameLift Servers Konsole. Auf dieser Seite wird auch die aktuelle Nutzung Ihres Kontos für jeden Instanztyp an jedem Standort angezeigt.
+ Führen Sie den Befehl AWS Command Line Interface (AWS CLI) aus, um eine Liste der aktuellen Kontingente Ihres Kontos für Instance-Typen pro Region zu erhalten [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/describe-ec2-instance-limits.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/gamelift/describe-ec2-instance-limits.html). Dieser Befehl gibt die Anzahl der aktiven Instances zurück, die Sie in Ihrer Standardregion (oder in einer anderen von Ihnen angegebenen Region) haben.

Während du dich auf den Start deines Spiels vorbereitest, fülle in der [Amazon GameLift ServersKonsole](https://console.aws.amazon.com/gamelift/) einen Fragebogen zum Start aus. Das Amazon GameLift Servers Team verwendet den Fragebogen zur Veröffentlichung, um die richtigen Kontingente und Limits für dein Spiel zu ermitteln.

# Passen Sie eine Amazon GameLift Servers Containerflotte an
<a name="containers-design-fleet"></a>

In den Themen in diesem Abschnitt werden einige der optionalen Funktionen für Amazon GameLift Servers verwaltete Container beschrieben. Sie können wählen, ob Sie eine oder alle dieser Funktionen verwenden möchten.

**Topics**
+ [Legen Sie Ressourcenlimits fest](#containers-design-fleet-limits)
+ [Machen Sie sich mit der Speicherzuweisung für Containerflo](#containers-design-fleet-memory-allocation)
+ [NVMe Drive Access konfigurieren](#containers-design-fleet-nvme)
+ [Benennen Sie wichtige Container](#containers-design-fleet-essential)
+ [Netzwerkverbindungen konfigurieren](#containers-custom-network)
+ [Richten Sie Zustandsprüfungen für Container ein](#containers-design-fleet-health)
+ [Legen Sie Container-Abhängigkeiten fest](#containers-design-fleet-dependencies)
+ [Konfigurieren Sie eine Containerflotte](#containers-design-fleet-config)

## Legen Sie Ressourcenlimits fest
<a name="containers-design-fleet-limits"></a>

Für jede Containergruppe können Sie bestimmen, wie viel Arbeitsspeicher und Rechenleistung die Containergruppe benötigt, um ihre Software auszuführen. Amazon GameLift Serversstützt sich auf diese Informationen, um Ressourcen in der gesamten Containergruppe zu verwalten. Es verwendet diese Informationen auch, um zu berechnen, wie viele Spielserver-Containergruppen ein Flottenimage aufnehmen kann. Sie können auch Grenzwerte für einzelne Container festlegen.

Sie können ein maximales Limit für Speicher und Rechenleistung für eine Containergruppe festlegen. Standardmäßig werden diese Ressourcen von allen Containern in der Gruppe gemeinsam genutzt. Sie können die Ressourcenverwaltung weiter anpassen, indem Sie Grenzwerte für einzelne Container festlegen. 

**Legen Sie optionale Grenzwerte für einzelne 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.  
+ `MemoryHardLimitMebibytes`— Legt ein maximales Speicherlimit für den Container fest. Wenn der Container dieses Limit überschreitet, führt dies zu einem Neustart.
+ `Vcpu`limit — Reservieren Sie eine Mindestmenge an vCPU-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**  
Wenn Sie Grenzwerte für einzelne Container festlegen, müssen Sie möglicherweise ändern, wie viel Arbeitsspeicher und vCPU-Ressourcen die Containergruppe benötigt. Ziel ist es, genügend Ressourcen zuzuweisen, um die Leistung des Spieleservers zu optimieren. Amazon GameLift Serversverwendet diese Grenzwerte, um zu berechnen, wie Spielserver-Containergruppen auf einer Flotteninstanz gepackt werden. Sie werden sie auch verwenden, wenn Sie einen Instance-Typ für eine Containerflotte auswählen.  
Berechnet den Gesamtspeicher und die vCPU, die für eine Containergruppe benötigt werden. Berücksichtigen Sie dabei Folgendes:  
+ Was sind all die Prozesse, die auf allen Containern in der Containergruppe ausgeführt werden? Addieren Sie die für diese Prozesse erforderlichen Ressourcen. Beachten Sie alle containerspezifischen Grenzwerte.
+ Wie viele Gameserver-Prozesse planen Sie, in jeder Containergruppe gleichzeitig auszuführen? Sie bestimmen dies in Ihrem Gameserver-Container-Image. 
Legen Sie auf der Grundlage Ihrer Schätzung der Anforderungen an Containergruppen die folgenden `ContainerGroupDefinition` Eigenschaften fest:   
+ `TotalMemoryLimitMebibytes`— 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 gleich oder größer als das höchste containerspezifische Speicherlimit sein.
+ `TotalVcpuLimit`— Legen Sie ein maximales vCPU-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 gleich oder größer als die Summe aller containerspezifischen CPU-Grenzwerte sein. Es hat sich bewährt, diesen Wert so festzulegen, dass er die Summe der CPU-Grenzwerte für Container verdoppelt.

**Beispielszenario**  
Nehmen wir an, wir definieren eine Spielserver-Containergruppe mit den folgenden drei Containern:   
+ Container A ist unser Gameserver-Container. Wir schätzen den Ressourcenbedarf für einen Spieleserver auf 512 MiB und 1024 CPU. Wir planen, dass der Container einen Serverprozess ausführt. Da auf diesem Container unsere wichtigste Software ausgeführt wird, haben wir kein Speicherlimit oder vCPU-Reservelimit festgelegt.
+ Container B ist ein Support-Container mit geschätzten Ressourcenanforderungen von 1024 MiB und 1536 CPUs. Wir haben ein Speicherlimit von 2048 MiB und ein CPU-Reservelimit von 1024 CPU festgelegt.
+ Container C ist ein weiterer Support-Container. 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 das höchste Speicherlimit (1024 MiB).
+ Gesamtes CPU-Limit: 13312 CPU. Dieser Wert überschreitet die Summe des CPU-Limits (1024\$1512 CPU).

## Machen Sie sich mit der Speicherzuweisung für Containerflo
<a name="containers-design-fleet-memory-allocation"></a>

Wenn Amazon GameLift Servers Containergruppen auf einer Flotteninstanz bereitgestellt werden, ist nicht der gesamte Speicher der Instance für Ihre Container verfügbar. Amazon GameLift Serversreserviert einen Teil des Instance-Speichers für das Betriebssystem, den Amazon ECS-Agenten und andere unterstützende Dienste. Die Menge des reservierten Speichers hängt vom Gesamtspeicher des Instance-Typs ab. Wenn Sie diesen Aufwand verstehen, können Sie Ihre Container-Gruppendefinitionen so konfigurieren, dass die verfügbaren Ressourcen voll genutzt werden.

### Formel für den Speicheraufwand
<a name="containers-design-fleet-memory-formula"></a>

Amazon GameLift Serversberechnet den für Ihre Containergruppen verfügbaren Speicher mithilfe der folgenden Schritte:

1. **Ermitteln Sie den Prozentsatz des Speicherpuffers.** Amazon GameLift Serversreserviert einen Prozentsatz des Gesamtspeichers der Instance auf der Grundlage der folgenden Stufen:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/gameliftservers/latest/developerguide/containers-design-fleet.html)

1. **Berechne den verfügbaren Speicher.** Subtrahieren Sie den reservierten Speicher vom gesamten Instanzspeicher:

   `AvailableMemory = InstanceMemory - round(InstanceMemory × BufferPercentage)`

1. **Subtrahieren Sie den Containergruppenspeicher pro Instanz.** Wenn Ihre Flotte eine Containergruppe pro Instance verwendet, subtrahieren Sie diese `TotalMemoryLimitMebibytes` vom verfügbaren Speicher. Auf jeder Flotteninstanz wird eine Containergruppe pro Instanz ausgeführt.

   `AvailableMemory = AvailableMemory - PerInstanceCGD.TotalMemoryLimitMebibytes`

1. **Konto für den Router-Overhead protokollieren.** Wenn die Protokollierung für die Flotte aktiviert ist, werden weitere 50 MiB pro Spielserver-Containergruppe für den Protokollrouter Amazon GameLift Servers reserviert.

1. **Berechnet die maximale Anzahl an Spielserver-Containergruppen.** Die maximale Anzahl von Gameserver-Containergruppen, die vom Arbeitsspeicher her auf die Instanz passen, ist:

   `MaxGroupsByMemory = floor(AvailableMemory / (GameServerCGD.TotalMemoryLimitMebibytes + LogRouterMemory))`

   Wobei `LogRouterMemory` 50 MiB, wenn die Protokollierung aktiviert ist, oder 0, wenn die Protokollierung deaktiviert ist.

**Anmerkung**  
Der Arbeitsspeicher ist nur ein Faktor, der bestimmt, wie viele Spielserver-Containergruppen auf eine Instanz passen. Amazon GameLift Serversberücksichtigt auch die vCPU-Kapazität und die verfügbaren Verbindungsports und verwendet das Minimum aller drei Berechnungen.

### Beispiel für eine Speicherberechnung
<a name="containers-design-fleet-memory-example"></a>

Stellen Sie sich eine Flotte vor, die eine `c5.xlarge` Instance (8.192 MiB Gesamtspeicher) mit aktivierter Protokollierung verwendet:

1. Der Instance-Speicher beträgt 8.192 MiB, was der Stufe 5.000—9.999 entspricht (6% Puffer)

1. Reservierter Speicher = rund (8.192 × 0,06) = 492 MiB

1. Verfügbarer Speicher = 8.192 - 492 = 7.700 MiB

1. Wenn Sie eine Containergruppe pro Instanz mit `TotalMemoryLimitMebibytes` 512 verwenden: Verfügbarer Speicher = 7.700 — 512 = 7.188 MiB

1. Wenn jede Spielserver-Containergruppe 1.024 hat`TotalMemoryLimitMebibytes`: MaxGroupsByMemory = Floor (7.188/(1.024 \$1 50)) = Floor (7.188/1.074) = 6

### Verfügbarer Speicher nach Instance-Typ
<a name="containers-design-fleet-memory-reference"></a>

Die folgende Tabelle zeigt den Gesamtspeicher und den verfügbaren Speicher (nach dem Amazon GameLift Servers Puffer) für häufig verwendete Instance-Typen. Verwenden Sie diese Werte als Ausgangspunkt für die Konfiguration Ihrer Container-Gruppendefinitionen. In der Spalte *Verfügbarer Speicher* wird der für alle Container-Gruppen auf der Instance verfügbare Speicher angezeigt, bevor der Overhead pro Instance für Containergruppen oder Log-Router abgezogen wird.


| Instance-Typ | Gesamtspeicher (MiB) | Prozentsatz des Puffers | Verfügbarer Speicher (MiB) | 
| --- | --- | --- | --- | 
| c5.large | 4.096 | 8% | 3.768 | 
| c5.xlarge | 8,192 | 6% | 7.700 | 
| c5.2xlarge | 16.384 | 5 % | 15.565 | 
| c5.4xlarge | 32.768 | 5 % | 31.130 | 
| c5.9xlarge | 73.728 | 5 % | 70.042 | 
| c5.12xlarge | 98.304 | 4% | 94.372 | 
| c5.18xlarge | 147.456 | 4% | 141.558 | 
| c5.24xlarge | 196.608 | 4% | 188.744 | 
| m5.large | 8,192 | 6% | 7.700 | 
| m5.xlarge | 16.384 | 5 % | 15.565 | 
| m5.2xlarge | 32.768 | 5 % | 31.130 | 
| m5.4xlarge | 65.536 | 5 % | 62.259 | 
| m5.8xlarge | 131.072 | 4% | 125.829 | 
| m5.12xlarge | 196.608 | 4% | 188.744 | 
| r5.large | 16.384 | 5 % | 15.565 | 
| r5.xlarge | 32.768 | 5 % | 31.130 | 
| r5.2xlarge | 65.536 | 5 % | 62.259 | 
| r5.4xlarge | 131.072 | 4% | 125.829 | 
| c6i.large | 4.096 | 8% | 3.768 | 
| c6i.xlarge | 8,192 | 6% | 7.700 | 
| c6i.2xlarge | 16.384 | 5 % | 15.565 | 
| c6i.4xlarge | 32.768 | 5 % | 31.130 | 
| c6i.8xlarge | 65.536 | 5 % | 62.259 | 
| c7i.large | 4.096 | 8% | 3.768 | 
| c7i.xlarge | 8,192 | 6% | 7.700 | 
| c7i.2xlarge | 16.384 | 5 % | 15.565 | 
| c7i.4xlarge | 32.768 | 5 % | 31.130 | 
| c7i.8xlarge | 65.536 | 5 % | 62.259 | 
| m7i.large | 8,192 | 6% | 7.700 | 
| m7i.xlarge | 16.384 | 5 % | 15.565 | 
| m7i.2xlarge | 32.768 | 5 % | 31.130 | 
| m7i.4xlarge | 65.536 | 5 % | 62.259 | 
| m7i.8xlarge | 131.072 | 4% | 125.829 | 
| m7i.12xlarge | 196.608 | 4% | 188.744 | 
| r7i.large | 16.384 | 5 % | 15.565 | 
| r7i.xlarge | 32.768 | 5 % | 31.130 | 
| r7i.2xlarge | 65.536 | 5 % | 62.259 | 
| r7i.4xlarge | 131.072 | 4% | 125.829 | 

Für Instance-Typen, die hier nicht aufgeführt sind, können Sie den verfügbaren Speicher mit der oben beschriebenen Formel berechnen. In der [Dokumentation zu den Amazon EC2 EC2-Instance-Typen finden](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-type-specifications.html) Sie den Gesamtspeicher Ihres ausgewählten Instance-Typs.

## NVMe Drive Access konfigurieren
<a name="containers-design-fleet-nvme"></a>

Bei Instanzen vom Typ D wird das NVMe Laufwerk beim Host-Start automatisch in das `/data` Verzeichnis eingebunden. Um Containern den Zugriff auf den SSD-Speicher zu ermöglichen, legen Sie die folgende `ContainerGroupDefinition` Eigenschaft fest: `MountPoints`
+ `InstancePath`— Wird auf gesetzt, `/data` um auf das automatisch gemountete NVMe Laufwerk auf der Host-Instance zu verweisen.
+ `AccessLevel`— Wählen Sie die passende Zugriffsebene für die Bedürfnisse Ihres Containers (z. B. READ\$1ONLY oder READ\$1WRITE).
+ `ContainerPath`— (Optional) Geben Sie den Pfad an, unter dem der Instanzpfad innerhalb des Containers bereitgestellt werden soll. Wenn nicht angegeben, wird standardmäßig der Instanzpfad verwendet.

Weitere Informationen zu Bereitstellungspunkten finden Sie [ContainerMountPoint](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerMountPoint.html)in der Amazon GameLift Servers API Reference.

## Benennen Sie wichtige Container
<a name="containers-design-fleet-essential"></a>

Für eine Containergruppe pro Instanz kennzeichnen Sie jeden Container als essenziell oder nicht essenziell. Containergruppen pro Instanz müssen über mindestens einen Container für die Unterstützung von essenzieller Bedeutung verfügen. Der Essential-Container erledigt die wichtige Arbeit der Container-Gruppe. Es wird erwartet, dass der Essential-Container immer läuft. Wenn dies fehlschlägt, wird die gesamte Containergruppe neu gestartet. 

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

## Netzwerkverbindungen konfigurieren
<a name="containers-custom-network"></a>

Sie können den Netzwerkzugriff so anpassen, dass externer Datenverkehr 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 Serversverwaltet 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 Serversbietet 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önnten beispielsweise die Berechtigungen für alle Verbindungsports entfernen, um den gesamten Zugriff auf die Container der Flotte zu unterbinden.

Sie können die Eingangsberechtigungen, Verbindungs- und Container-Ports einer Flotte aktualisieren.

**Warnung**  
Wenn Sie einen benutzerdefinierten InstanceConnectionPortRange Wert angeben InstanceInboundPermissions, Amazon GameLift Servers wird keiner der beiden Werte für Ihre Flotte mehr verwaltet. Sie müssen beide Felder festlegen, um undefiniertes Verhalten zu vermeiden.

**Legen Sie die Portbereiche für Container fest**  
Konfigurieren Sie Container-Portbereiche als Teil jeder Containerdefinition. Dies ist ein erforderlicher Parameter für eine Containergruppendefinition. Sie müssen genügend Ports konfigurieren, um alle gleichzeitig laufenden Prozesse zu unterstützen, die externen Zugriff benötigen. Einige Container benötigen keine Ports.  
Dein Gameserver-Container, auf dem deine Gameserver laufen, benötigt einen Port für jeden gleichzeitig laufenden Gameserver-Prozess. Der Gameserver-Prozess überwacht den zugewiesenen Port und meldet ihn an. Amazon GameLift Servers

**Stellen Sie die Verbindungs-Portbereiche ein**  
Konfigurieren Sie Ihre Containerflotte mit einer Reihe von Verbindungsanschlüssen. Verbindungsports bieten externen Zugriff auf die Flotteninstanzen, auf denen Ihre Container laufen. Amazon GameLift Serversweist Verbindungsports zu und ordnet sie nach Bedarf Container-Ports zu.  
Amazon GameLift ServersBerechnet standardmäßig die Anzahl der Ports, die für alle Containergruppen erforderlich sind, und legt einen Portbereich fest, um diese zu berücksichtigen. Es wird dringend empfohlen, Amazon GameLift Servers berechnete Werte zu verwenden, die aktualisiert werden, wenn Sie Aktualisierungen für eine Containergruppendefinition bereitstellen. Wenn Sie die Verbindungs-Portbereiche anpassen müssen, folgen Sie der folgenden Anleitung.  
Wenn Sie eine Containerflotte erstellen, definieren Sie einen Verbindungsportbereich (siehe [ ContainerFleet: InstanceConnectionPortRange](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerFleet.html)). Stellen Sie sicher, dass der Bereich über genügend Anschlüsse verfügt, um jedem Containerhafen zugeordnet zu werden, der für alle Container in beiden Containergruppen der Flotte definiert ist. Verwenden Sie die folgende Formel, um die mindestens erforderlichen Verbindungsanschlüsse zu berechnen:   
`[Total number of container ports defined for containers in the game server container group] * [Number of game server container groups per instance] + [Total number of container ports defined for containers in the per-instance container group]`  
Es hat sich bewährt, die Mindestanzahl an Verbindungsanschlüssen zu verdoppeln.   
Die Anzahl der Verbindungsports kann möglicherweise die Anzahl der Spielserver-Containergruppen pro Instanz einschränken. Wenn eine Flotte nur über genügend Verbindungsports für eine Spielserver-Containergruppe pro Instanz verfügt, Amazon GameLift Servers wird nur eine Spieleserver-Containergruppe bereitgestellt, auch wenn die Instances über genügend Rechenleistung für mehrere Spieleserver-Containergruppen 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.   
Amazon GameLift ServersBerechnet standardmäßig die Anzahl der Ports, die für alle Containergruppen erforderlich sind, und legt einen Portbereich fest, um diese zu berücksichtigen. Es wird dringend empfohlen, Amazon GameLift Servers berechnete Werte zu verwenden, die aktualisiert werden, wenn Sie Aktualisierungen für eine Containergruppendefinition bereitstellen. Wenn Sie die Verbindungs-Portbereiche anpassen müssen, folgen Sie der folgenden Anleitung.  
Wenn Sie eine Containerflotte erstellen, definieren Sie eine Reihe von Berechtigungen für eingehende Sendungen (siehe [ ContainerFleet: InstanceInboundPermissions](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_ContainerFleet.html)). Die Ports für eingehende Genehmigungen sollten den Verbindungs-Portbereichen der Flotte entsprechen.   
Da die Container-Ports nach dem Zufallsprinzip ausgewählt werden InstanceConnectionPortRange, InstanceConnectionPortRange sollten alle Ports in durch Ports in abgedeckt werden, um sicherzustellen, dass Sitzungsverbindungen hergestellt werden können InstanceInboundPermissions

**Beispielszenario**  
Dieses Beispiel zeigt, wie alle drei Netzwerkverbindungseigenschaften festgelegt werden.  
+ Die Spieleserver-Containergruppe unserer Flotte besteht aus einem Container, auf dem ein Spieleserver-Prozess ausgeführt wird. 

  In der Definition der Spielserver-Containergruppe 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 Containergruppe pro Instanz mit einem Container. Es hat einen Prozess, der Netzwerkzugriff benötigt. In der Instanz-Container-Definition legen wir den `PortConfiguration` Parameter für diesen Container wie folgt fest:

  ```
  "PortConfiguration": {
    "ContainerPortRanges": [ { "FromPort": 25, "ToPort": 25, "Protocol": "TCP"} ]  }
  ```
+ Unsere Flotte ist mit 20 Spielserver-Containergruppen pro Flotteninstanz konfiguriert. Anhand dieser Informationen können wir die Formel verwenden, um die Anzahl der benötigten Verbindungsports zu berechnen: 
  + Minimum: **21 Ports** [1 Spieleserver-Container-Ports \$1 20 Spielserver-Containergruppen pro Instanz \$1 1 Container-Port pro Instanz]
  + Bewährtes Verfahren: **42 Anschlüsse** [Mindestanzahl Anschlüsse x 2]

  Bei der Erstellung der Containerflotte haben wir den `InstanceConnectionPortRange` Parameter wie folgt festgelegt:

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

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

## Richten Sie Zustandsprüfungen für Container ein
<a name="containers-design-fleet-health"></a>

Ein Container wird automatisch neu gestartet, wenn ein Terminalfehler auftritt, und er wird nicht mehr ausgeführt. Wenn ein Container als unverzichtbar erachtet wird, fordert er die gesamte Containergruppe auf, neu zu starten. 

Alle Gameserver-Container werden automatisch als unverzichtbar angesehen. Unterstützungscontainer können als unverzichtbar eingestuft werden, sie müssen jedoch über einen Mechanismus zur Meldung von Gesundheitsproblemen verfügen. Sie können auch Integritätsprüfungen für Support-Container einrichten, die nicht unbedingt erforderlich sind.

Sie können zusätzliche benutzerdefinierte Kriterien definieren, um den Zustand von Containern 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 festlegen, überschreibt diese alle Einstellungen im Container-Image.

Legen Sie die folgenden `SupportContainerDefinition` Eigenschaften für eine Container-Integritätsprü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
<a name="containers-design-fleet-dependencies"></a>

Innerhalb jeder Containergruppe können Sie Abhängigkeiten zwischen Containern basierend auf dem 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
<a name="containers-design-fleet-config"></a>

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. Du kannst deine Containerflotte auf jede Art einsetzen, die AWS-Region das Amazon GameLift Servers 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 unter[Amazon GameLift ServersServicestandorte](gamelift-regions.md).  
Erwägen Sie [UDP-Ping-Beacons](reference-udp-ping-beacons.md) die Erfassung von Netzwerklatenzdaten an verschiedenen geografischen Standorten, um die Latenz zwischen Spielergeräten und potenziellen Flottenstandorten zu antizipieren. Diese speziellen Endpunkte akzeptieren UDP-Nachrichten anstelle von herkömmlichen ICMP-Pings und bieten präzise Latenzmessungen, die Sie bei der Auswahl der optimalen Flottenstandorte unterstützen.

**Wählen Sie einen Instance-Typ und eine Größe für Ihre Flotte**  
Amazon GameLift Serversunterstü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 Instanztypen finden Sie in der Amazon GameLift Servers Konsole (unter **Ressourcen, Instanz und Dienstkontingente**).   
Bei der Auswahl eines Instanztyps sollten Sie zunächst die Instanzfamilie berücksichtigen. Instance-Familien bieten verschiedene Kombinationen von CPU-, Arbeitsspeicher-, Speicher- und Netzwerkfunktionen. Erfahren Sie mehr über [EC2-Instance-Familien](https://aws.amazon.com/ec2/instance-types/). 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 Spielserver-Containergruppe aufnehmen kann und dabei nur wenig Speicherplatz verschwendet.
+ Welche Skalierungsgranularität ist für dein 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.

**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 [Connect deinen Amazon GameLift Servers gehosteten Spieleserver mit anderen AWS Ressourcen](gamelift-sdk-server-resources.md).
+ 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.

# Senken Sie die Kosten für das Hosting von Spielen mit Spot-Flotten
<a name="fleets-spot"></a>

Beim Hosten von Multiplayer-Spieleservern mithilfe von Amazon GameLift Servers Managed Hosting können Spot-Instances eine kostengünstige Alternative zu On-Demand-Instances darstellen. Das Spot-Preismodell bietet dieselbe Hardware und Leistung wie On-Demand-Preismodell, bietet jedoch potenziell erhebliche Kosteneinsparungen (bis zu 70-90%). Sie haben jedoch eine Einschränkung: Wenn Kapazitäten wieder AWS benötigt werden, kann es diese Instanzen mit einer zweiminütigen Unterbrechungsbenachrichtigung zurückfordern. 

Amazon GameLift Serversmindert das Risiko von Unterbrechungen beim Hosting von Spieleservern. Amazon GameLift Serversprognostiziert die Wahrscheinlichkeit von Unterbrechungen bei Spot-Instance-Typen und verhindert, dass Spielsitzungen auf gefährdeten Instances stattfinden. Wenn es in seltenen Fällen zu einer Unterbrechung kommt, können Sie mit der Benachrichtigung eine Spielsitzung für Spieler ordnungsgemäß beenden.

## Wie Amazon GameLift Servers funktioniert mit Spot-Flotten
<a name="spot-fleet-howitworks"></a>

Wenn Sie Spot-Flotten für das Hosten von Spielen einrichten, werden Ihre Instance-Typen und Standorte Ihrer Spot-Flotte Amazon GameLift Servers fortlaufend auf die Rentabilität des Spiele-Hostings überprüft. 
+ Der Spot-Viability-Algorithmus analysiert aktuelle Verfügbarkeitsmuster und historische Unterbrechungsraten von Spot-Instance-Typen nach Standort.
+ Auf der Grundlage dieser Analyse Amazon GameLift Servers werden Spot-Instance-Typen und Standorte identifiziert, an denen ein inakzeptables Potenzial für Unterbrechungen von Spielsitzungen besteht. Es werden die folgenden Maßnahmen ergriffen: 
  + Es markiert die Kombination aus Instance-Typ und Standort als vorübergehend nicht praktikabel.
  + Dadurch werden alle Standorte der Spot-Flotte, die nicht funktionieren, bei der Platzierung neuer Spielsitzungen nicht berücksichtigt. Daher werden Spielsitzungen nur an Standorten der Spot-Flotte abgehalten, bei denen die Wahrscheinlichkeit eines unterbrechungsfreien Spieleserver-Hostings hoch ist.
  + Dadurch wird der Standort der Spot-Flotte vorhandener Instances entzogen, auch wenn sie AWS nicht zurückgewonnen werden. Sie zahlen also nicht für Instances, die nicht für das Hosten von Spielen verwendet werden können. Wenn der Schutz von Spielsitzungen aktiviert ist, werden Instances erst nach Abschluss der aktiven Spielsitzungen heruntergefahren.
+ Amazon GameLift Serversüberprüft die Instance-Typen und Standorte deiner Spot-Flotte kontinuierlich auf ihre Rentabilität beim Hosten von Spielen. Wenn ein zuvor nicht funktionsfähiger Instance-Typ auf der Grundlage aktualisierter historischer Daten wieder funktionsfähig wird, können Sie die Spot-Flotte erneut skalieren und wieder Amazon GameLift Servers Spielsitzungen damit durchführen.

## Designüberlegungen
<a name="spot-fleet-design"></a>

Wenn Sie Ihre Lösung für die Verwendung von Spot-Flotten entwerfen, sollten Sie die folgenden Aspekte berücksichtigen:
+ **Beurteilen Sie die Länge Ihrer Spielsitzungen** — Die durchschnittliche Länge Ihrer Spielsitzungen kann sich darauf auswirken, wie gut Spot für Ihr Spiel funktioniert. Bei kürzeren Spielsitzungen sorgt die schnellere Bearbeitungszeit dafür, dass Spielsitzungen auf brauchbaren Instanztypen laufen, die auf den neuesten historischen Daten basieren. Längere Spielsitzungen werden weiterhin auf Instanztypen ausgeführt, ohne dass aktuelle Daten zur Rentabilität ausgewertet werden, wodurch das Risiko einer Unterbrechung im Laufe der Zeit steigt.
+ **Evaluieren Sie die Verfügbarkeit von Instance-Typen** — Nicht jeder Flottenstandort bietet jeden Instance-Typ als Spot. Verwenden Sie bei der Auswahl eines Instance-Typs für Ihre Spot-Flotte das Tool zur Erstellung von Amazon GameLift Servers Konsolenflotten, um Spot-Instance-Typen an den benötigten Standorten zu finden. Mit diesem Tool können Sie Ihre Flottenstandorte auswählen und dann die Verfügbarkeit der Instance-Typen an diesen Standorten einsehen.
+ **Spot-Flotten mit mehreren Standorten erstellen** — Sie können Spot-Flotten mit mehreren Standorten erstellen. Eine einzelne Spot-Flotte mit mehreren Standorten stellt Instances mit demselben Instance-Typ in mehreren AWS-Regionen oder Local Zones bereit. Der Spot-Viability-Algorithmus bewertet die Rentabilität sowohl auf der Grundlage des Instance-Typs als auch auf der Grundlage des Standorts. Wenn ein Standort einer Spot-Flotte als nicht rentabel eingestuft wird, hat dies keine Auswirkungen auf andere Standorte in der Flotte, die dennoch für Spielsitzungen genutzt werden können.
+ **Erstellen Sie Warteschlangen mit unterschiedlicher Spot-Flotte** — Wenn Sie Spot-Flotten für das Hosten von Spielen verwenden, müssen Sie eine Warteschlange für die Platzierung von Spielsitzungen einrichten. Bei jeder neuen Anfrage für eine Spielsitzung sucht die Warteschlange nach verfügbaren Ressourcen zum Hosten von Spielen und wählt die bestmögliche Option aus. Mit Spot-Flotten benötigen Sie eine Warteschlange, die mehrere Flotten durchsuchen kann, die sich sowohl in Bezug auf Standorte als auch Instance-Typen unterscheiden, und Sie möchten mindestens eine On-Demand-Flotte als Backup-Kapazität einbeziehen. Eine gut konzipierte Warteschlange mit mehreren Flotten, die verschiedene Platzierungsoptionen bietet, ist äußerst widerstandsfähig gegen Unterbrechungen, Verlangsamungen und Ausfälle. Weitere Hinweise zur Gestaltung einer Warteschlange für Spot finden Sie unter. [Eine Warteschlange für Spot-Instances erstellen](spot-tasks.md)
+ Gehen Sie **elegant mit Unterbrechungen** um — Richten Sie Ihren Spieleserver so ein, dass die Spieler im Falle einer Spot-Unterbrechung so wenig wie möglich beeinträchtigt werden. Wenn eine Spot-Instance AWS zurückerobert wird, Amazon GameLift Servers leitet die Kündigungsbenachrichtigung mithilfe der Server-SDK-Callback-Funktion an alle betroffenen Serverprozesse weiter. `onProcessTerminate()` Ihr Spiel muss diesen Callback implementieren, um die Spielsitzung ordnungsgemäß beenden zu können. Weitere Informationen finden Sie unter [Reagieren Sie auf eine Benachrichtigung zum Herunterfahren des Serverprozesses](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate).
**Anmerkung**  
AWS bemüht sich nach besten Kräften, die Benachrichtigung bereitzustellen, bevor es eine Instance zurückfordert, aber es ist möglich, dass die Spot-Instance zurückgefordert wird, bevor die AWS Warnung eintrifft. Du solltest deinen Spieleserver auch darauf vorbereiten, unerwartete Unterbrechungen zu bewältigen.
+ **Konfigurieren Sie die auto-scaling für Ihre Backup-Flotten, um den Service während einer Spot-Unterbrechung aufrechtzuerhalten.** Die auto-scaling mit Zielverfolgung sorgt für einen Kapazitätspuffer und skaliert automatisch bei Bedarf. Mit der auto-scaling beginnen Backup-Flotten (Spot oder On-Demand), ihre Kapazität zu erhöhen, sobald sie mehr Anfragen für Spielsitzungen erhalten. 

  Um verlorene Kapazitäten schnell zu ersetzen, wenn eine Spot-Flotte nicht mehr rentabel ist, kann ein benutzerdefinierter Skalierungsmechanismus anhand verfügbarer Warteschlangen- und Flottenmetriken eine schnelle Skalierung der Backup-Flotten einleiten. Ermitteln Sie anhand von Kennzahlen wie, und, wann Spot-Flotten nicht mehr rentabel werden. `FirstChoiceOutOfCapacity` `FirstChoiceNotViable` `PercentAvailableGameSessions` Schätzen Sie den Bedarf an Ersatzkapazitäten ab, indem Sie aktuelle `PlacementsStarted` Metrikdaten analysieren. Nach der Skalierung der Backup-Flotten zur Deckung des unmittelbaren Bedarfs kann die normale auto-scaling die Kontrolle übernehmen.
+ **Integration mit FlexMatch** — Wenn Ihre Lösung einen FlexMatch Matchmaker verwendet, gibt es keine besonderen Anforderungen für Spot-Flotten. Sie können einen Matchmaker so konfigurieren, dass er eine Warteschlange mit Spot-Flotten verwendet. Amazon GameLift Serverspriorisiert automatisch die Platzierung von Spielen in allen Spot- und On-Demand-Flotten, auch bei der Platzierung neuer Spielsitzungen und beim Auffüllen leerer Spielerplätze in bestehenden Spielsitzungen.

# Optimiere die Laufzeitkonfiguration des Spieleservers auf verwalteten Amazon GameLift Servers
<a name="fleets-multiprocess"></a>

Sie können die Laufzeitkonfiguration einer verwalteten EC2-Flotte so einrichten, dass mehrere Spielserverprozesse pro Instanz ausgeführt werden. Dadurch werden Ihre Hosting-Ressourcen effizienter genutzt.

## So verwaltet eine Flotte mehrere Prozesse
<a name="fleets-multiprocess-howitworks"></a>

Amazon GameLift Serversverwendet die Laufzeitkonfiguration einer Flotte, um die Art und Anzahl der Prozesse zu bestimmen, die auf jeder Instanz ausgeführt werden sollen. Eine Laufzeitkonfiguration enthält mindestens eine Serverprozesskonfiguration, die eine ausführbare Datei für einen Spieleserver darstellt. Sie können zusätzliche Serverprozesskonfigurationen definieren, um andere Arten von Prozessen im Zusammenhang mit Ihrem Spiel auszuführen. Jede Serverprozesskonfiguration enthält die folgenden Informationen:
+ Den Dateinamen und den Pfad einer ausführbaren Datei in Ihrem Spiele-Build
+ (Optional) Parameter, die beim Start an den Prozess weitergeleitet werden
+ Die Anzahl der Prozesse, die gleichzeitig ausgeführt werden sollen.

Wenn eine Instanz in der Flotte aktiviert wird, startet sie die in der Laufzeitkonfiguration definierten Serverprozesse. Bei mehreren Prozessen wird der Start Amazon GameLift Servers der einzelnen Prozesse gestaffelt. Serverprozesse haben eine begrenzte Lebensdauer. Amazon GameLift ServersStartet am Ende neue Prozesse, um die Anzahl und den Typ der Serverprozesse beizubehalten, die in der Laufzeitkonfiguration definiert sind.

Sie können die Laufzeitkonfiguration jederzeit ändern, indem Sie Serverprozesskonfigurationen hinzufügen, ändern oder entfernen. Jede Instanz sucht regelmäßig nach Aktualisierungen der Laufzeitkonfiguration der Flotte, um die Änderungen zu implementieren. So werden Änderungen an der Amazon GameLift Servers Laufzeitkonfiguration übernommen:

1. Die Instanz sendet eine Anfrage Amazon GameLift Servers für die neueste Version der Laufzeitkonfiguration an.

1. Die Instanz vergleicht ihre aktiven Prozesse mit der neuesten Laufzeitkonfiguration und führt dann Folgendes aus:
   + Wenn die aktualisierte Laufzeitkonfiguration einen Serverprozesstyp entfernt, werden aktive Serverprozesse dieses Typs weiter ausgeführt, bis sie enden. Die Instanz ersetzt diese Serverprozesse nicht.
   + Wenn die aktualisierte Laufzeitkonfiguration die Anzahl der gleichzeitigen Prozesse für einen Serverprozesstyp verringert, werden überschüssige Serverprozesse dieses Typs weiter ausgeführt, bis sie enden. Die Instanz ersetzt diese überschüssigen Serverprozesse nicht.
   + Wenn die aktualisierte Laufzeitkonfiguration einen neuen Serverprozesstyp hinzufügt oder die Anzahl der gleichzeitigen Prozesse für einen vorhandenen Typ erhöht, startet die Instanz neue Serverprozesse bis zum Amazon GameLift Servers Maximum. In diesem Fall startet die Instanz neue Serverprozesse, sobald bestehende Prozesse enden.

## Optimieren Sie eine Flotte für mehrere Prozesse
<a name="fleets-multiprocess-changes"></a>

Gehen Sie wie folgt vor, um mehrere Prozesse in einer Flotte zu verwenden:
+ [Erstellen Sie einen Build](gamelift-build-intro.md), der die ausführbaren Dateien des Spielservers enthält, die Sie für eine Flotte bereitstellen möchten, und laden Sie den Build dann hoch. Amazon GameLift Servers Alle Spieleserver in einem Build müssen auf derselben Plattform laufen und das Server-SDK für verwenden. Amazon GameLift Servers
+ Erstellen Sie eine Laufzeitkonfiguration mit einer oder mehreren Serverprozesskonfigurationen und mehreren gleichzeitigen Prozesse.
+ Integrieren Sie Spieleclients mit der AWS SDK-Version 2016-08-04 oder höher.

Um die Leistung Ihres Fuhrparks zu optimieren, empfehlen wir Ihnen, wie folgt vorzugehen:
+ Bewältigen Sie Szenarien, in denen Serverprozesse heruntergefahren Amazon GameLift Servers werden, sodass Prozesse effizient wiederverwendet werden können. Beispiel:
  + Füge deinem Spielservercode ein Verfahren zum Herunterfahren hinzu, das die Server-API `ProcessEnding()` aufruft.
  + Implementieren Sie die Callback-Funktion `OnProcessTerminate()` in Ihrem Spieleservercode, um Kündigungsanfragen von Amazon GameLift Servers zu bearbeiten.
+ Stellen Sie sicher, dass Amazon GameLift Servers fehlerhafte Serverprozesse heruntergefahren und neu gestartet werden. Melde den Integritätsstatus an, Amazon GameLift Servers indem du die `OnHealthCheck()` Rückruffunktion in deinen Spielservercode implementierst. Amazon GameLift Serversfährt Serverprozesse, die in drei aufeinanderfolgenden Berichten als fehlerhaft gemeldet wurden, automatisch herunter. Wenn Sie dies nicht implementieren`OnHealthCheck()`, wird Amazon GameLift Servers davon ausgegangen, dass ein Serverprozess fehlerfrei ist, es sei denn, der Prozess reagiert nicht auf eine Kommunikation.

## Wählen Sie die Anzahl der Prozesse pro Instanz
<a name="fleets-multiprocess-number"></a>

Beachten Sie bei der Entscheidung, wie viele Prozesse gleichzeitig auf einer Instance ausgeführt werden sollen, Folgendes:
+ Amazon GameLift Servers begrenzt jede Instance auf eine [maximale Anzahl an gleichzeitigen Prozessen](https://docs.aws.amazon.com/general/latest/gr/gamelift.html#limits_gamelift). Die Summe aller gleichzeitigen Prozesse für die Serverprozesskonfigurationen einer Flotte darf dieses Kontingent nicht überschreiten.
+ Um ein akzeptables Leistungsniveau aufrechtzuerhalten, kann der Amazon EC2 EC2-Instance-Typ die Anzahl der Prozesse einschränken, die gleichzeitig ausgeführt werden können. Testen Sie verschiedene Konfigurationen für Ihr Spiel, um die richtige Anzahl von Prozessen für Ihren bevorzugten Instance-Typ zu finden.
+ Amazon GameLift Serversführt nicht mehr Prozesse gleichzeitig aus als die konfigurierte Gesamtzahl. Das bedeutet, dass der Übergang von der vorherigen Laufzeitkonfiguration zur neuen Konfiguration schrittweise erfolgen kann.

# Arbeite mit dem Amazon GameLift Servers Agenten
<a name="integration-dev-iteration-agent"></a>

Der Amazon GameLift Servers Agent überwacht den Betrieb der Spielserver-Prozesse auf Ihren Amazon GameLift Servers Flotten. Der Agent wird auf jedem Computer in einer Flotte eingesetzt und bietet automatisiertes Prozessmanagement, Hosting-Management und Protokollierung der Rechenleistung. Um den Agenten verwenden zu können, muss dein Spieleserver-Build in das Server-SDK für Amazon GameLift Servers Version 5.x oder höher integriert sein. 

Der Amazon GameLift Servers Agent ist extern für Flotten verfügbar, bei denen es sich nicht um verwaltete Amazon GameLift Servers EC2 Flotten handelt. (Verwaltete EC2 Flotten erledigen die Aufgaben des Agenten automatisch.) Sie können sich dafür entscheiden, Amazon GameLift Servers Flotten, einschließlich Anywhere-Flotten, mit oder ohne den Agenten zu betreiben. Ohne den Agenten müssen Sie eine alternative Lösung für die Ausführung der erforderlichen Aufgaben bereitstellen. 

Bei der Bereitstellung auf einem Computer sollte der Amazon GameLift Servers Agent gestartet werden, bevor irgendwelche Spielserverprozesse gestartet werden. Beim Start führt der Agent die folgenden Aufgaben aus:
+ Registriert die Rechenleistung mithilfe der [RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)API bei einer Amazon GameLift Servers Anywhere-Flotte.
+ Ruft die [GetComputeAuthToken](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_GetComputeAuthToken.html)API auf, um ein Autorisierungstoken abzurufen, und speichert es zur Verwendung durch Serverprozesse, die auf dem Computer ausgeführt werden.
+ Legt die WebSocket URL-Umgebungsvariable für die Berechnung fest und stellt eine WebSocket Verbindung zum Amazon GameLift Servers Dienst her.
+ Fordert die neueste Version der Laufzeitkonfiguration der Flotte vom Amazon GameLift Servers Service an. 
+ Startet und stoppt Serverprozesse gemäß den Anweisungen zur Laufzeitkonfiguration.

Quellcode und Build-Anweisungen für den Amazon GameLift Servers Agenten sind im [Amazon GameLift ServersAgent](https://github.com/aws/amazon-gamelift-agent) verfügbar GitHub.

## Über den Agenten
<a name="gamelift-agent-usage"></a>

Der Amazon GameLift Servers Agent ist so konzipiert, dass er die folgenden Aufgaben für Ihre Flotten übernimmt:

**Prozessmanagement**
+ Startet neue Serverprozesse, wie in den Laufzeitanweisungen definiert. Der Agent verwendet möglicherweise eine benutzerdefinierte Laufzeitkonfiguration, die zusammen mit dem Agenten bereitgestellt wird. Alternativ können Sie eine `RuntimeConfiguration` als Teil Ihrer Flottendefinition angeben. Dieser Ansatz hat den Vorteil, dass Sie die Laufzeitkonfiguration der Flotte jederzeit ändern können. Der Agent fordert regelmäßig aktualisierte Laufzeitkonfigurationen vom Amazon GameLift Servers Service an.
+ Überwacht die Aktivierungen von Serverprozessen und beendet Prozesse, wenn sie nicht rechtzeitig aktiviert werden.
+ Sendet Heartbeats an. Amazon GameLift Servers Wenn der Agent keine Heartbeats sendet, wird die Rechenleistung möglicherweise als veraltet markiert.
+ Meldet, Amazon GameLift Servers wann ein Serverprozess endet. Amazon GameLift Serversverwendet diese Informationen, um die Verfügbarkeit des Spielservers für die Platzierung von Spielsitzungen zu überwachen.
+ Sendet Flottenereignisse für Serverprozesse aus, darunter: 
  + `SERVER_PROCESS_INVALID_PATH`: Die Startparameter für den Spieleserverprozess waren falsch konfiguriert.
  + `SERVER_PROCESS_TERMINATED_UNHEALTHY`: Der Spielserver-Prozess hat innerhalb von 3 Minuten nach der Aktivierung keinen gültigen Gesundheitscheck gemeldet und wurde daher beendet.
  + `SERVER_PROCESS_FORCE_TERMINATED`: Der Spielserver-Prozess wurde nicht ordnungsgemäß beendet, nachdem `OnProcessTerminate()` er innerhalb von 30 Sekunden gesendet wurde.
  + `SERVER_PROCESS_CRASHED`: Ein Gameserver-Prozess ist aus irgendeinem Grund abgestürzt.

**Computerverwaltung**
+ Empfängt Nachrichten vom Amazon GameLift Servers Dienst, um die Rechenleistung herunterzufahren.
+ Fordert auf, die Berechnung zu beenden durchAmazon GameLift Servers.

**Protokollierung**
+ Lädt Protokolle in einen Amazon S3 S3-Bucket in Ihrem AWS Konto hoch.

# Zusammenfassung einer Amazon GameLift Servers Flottenbezeichnung mit einem Alias
<a name="aliases-intro"></a>

Ein Amazon GameLift Servers *Alias* wird verwendet, um ein Hosting-Ziel zu abstrahieren. Hosting-Ziele geben Amazon GameLift Servers an, wo nach verfügbaren Ressourcen gesucht werden muss, um eine neue Spielsitzung für Spieler zu veranstalten. Aliase sind in den folgenden Szenarien nützlich: 
+ Wenn dein Spiel keine Warteschlangen mit mehreren Flotten für die Platzierung von Spielsitzungen verwendet, fordert es neue Spielsitzungen an, indem du eine Amazon GameLift Servers Flotten-ID angibst. Während der Laufzeit eines Spiels tauschst du die Flotte mehrmals aus, um einen Serveraufbau zu aktualisieren, die Hosting-Hardware und das Betriebssystem zu aktualisieren oder Leistungsprobleme zu lösen. Verwende einen Alias, um die Flotten-ID zu abstrahieren, sodass du den Spielerverkehr nahtlos von einer bestehenden Flotte auf die neue übertragen kannst. 
+ Wenn du etwas anderes tun möchtest, als eine neue Spielsitzung zu erstellen, wenn ein Spielclient eine anfordert. Vielleicht möchtest du Spieler, die einen out-of-date Client verwenden, zu einer Upgrade-Website weiterleiten.

Ein Alias muss eine Routing-Strategie angeben. Es gibt zwei Typen. Eine *einfache* Routing-Strategie leitet Spielerverkehr an eine bestimmte Flotten-ID weiter, die Sie aktualisieren können, um den Verkehr umzuleiten. Eine *Terminal-Routing-Strategie* leitet eine Nachricht zurück an den Client, anstatt eine neue Spielsitzung zu erstellen. Du kannst die Routing-Strategie eines Alias jederzeit ändern.

Wenn du eine Warteschlange für die Platzierung von Spielsitzungen verwendest, benötigst du keinen Alias, um den Traffic umzuleiten, wenn du eine Flotte ersetzt. Mit einer Warteschlange kannst du einfach die neue Flotte hinzufügen und die alte Flotte entfernen. Diese Aktion ist für Spieler nicht sichtbar, da neue Anfragen für Spielsitzungen automatisch mit der neuen Flotte erfüllt werden. Sie hat keine Auswirkungen auf bestehende Spielsitzungen. Sie können die Ziele von Warteschlangen entweder anhand einer Flotten-ID oder eines Alias identifizieren. 



**Topics**
+ [Erstelle eine Amazon GameLift Servers alias](aliases-creating.md)

# Erstelle eine Amazon GameLift Servers alias
<a name="aliases-creating"></a>

In diesem Thema wird beschrieben, wie Sie ein erstellen Amazon GameLift Servers Alias zur Verwendung bei der Platzierung von Spielsitzungen. 

**Um einen Alias zu erstellen**

Verwenden Sie entweder Amazon GameLift Servers Konsole oder AWS Command Line Interface (AWS CLI), um einen Alias zu erstellen. 

------
#### [ Console ]

In der [Amazon GameLift Servers Konsole](https://console.aws.amazon.com/gamelift/), verwenden Sie den Navigationsbereich, um die Seite **Aliase** zu öffnen.

1.  Wählen Sie „**Alias erstellen“**.

1. Geben Sie einen **Aliasnamen** ein. Wir empfehlen, aussagekräftige Merkmale in den Aliasnamen aufzunehmen, um die Anzeige einer Aliasliste zu erleichtern.

1. Geben Sie nach Bedarf eine **Alias-Beschreibung** ein.

1. Wählen Sie eine **Routing-Strategie** für den Alias.

   1. Wenn Sie sich für eine **einfache** Routing-Strategie entscheiden, wählen Sie eine Flotten-ID aus der Liste aus, die Sie diesem Alias zuordnen möchten. Die Liste enthält alle Flotten, die derzeit ausgewählt AWS-Region sind. Sie müssen einen Alias in derselben Region wie die Flotte erstellen.

   1. Wenn Sie sich für eine **Terminal-Routing-Strategie** entscheiden, geben Sie den gewünschten Zeichenkettenwert ein Amazon GameLift Servers um als Antwort auf eine Anfrage für eine Spielsitzung zu einem Spielclient zurückzukehren. Eine Anfrage mit einem Terminalalias löst eine Ausnahme aus, bei der die Nachricht eingebettet ist.

1. (Optional) Fügen Sie der Alias-Ressource **Tags** hinzu. Jeder Tag (Markierung) besteht aus einem Schlüssel und einem optionalen Wert, beides können Sie bestimmen. Weisen Sie AWS Ressourcen, die Sie sinnvoll kategorisieren möchten, Tags zu, z. B. nach Zweck, Eigentümer oder Umgebung. Wählen Sie für jedes **Tag, das Sie hinzufügen möchten, die Option Neues** Tag hinzufügen aus. 

1. Wenn Sie bereit sind, die neue Flotte einzusetzen, wählen Sie **Create**.

------
#### [ AWS CLI ]

Verwenden Sie den [https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-alias.html](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-alias.html)Befehl, um einen Alias zu erstellen.Amazon GameLift Servers erstellt die Alias-Ressource in Ihrem aktuellen Standard AWS-Region (oder Sie können ein --region-Tag hinzufügen, um einen anderen anzugeben AWS-Region).

Geben Sie mindestens einen Aliasnamen und eine Routing-Strategie an. Für eine einfache Routing-Strategie geben Sie die ID einer Flotte in derselben Region wie der Alias an. Geben Sie für eine Terminal-Routing-Strategie eine Nachrichtenzeichenfolge an.

------