View a markdown version of this page

Verbinde deine GameLift Amazon-Server gehosteter Spieleserver auf anderen AWS Ressourcen - GameLift Amazon-Server

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

Verbinde deine GameLift Amazon-Server gehosteter Spieleserver auf anderen AWS Ressourcen

Wenn du einen Spieleserver-Build für den Einsatz auf Amazon GameLift Servers Flotten erstellst, möchtest du vielleicht, dass die Anwendungen in deinem Spiel-Build direkt und sicher mit anderen AWS Ressourcen kommunizieren, die dir gehören. Da Sie Ihre Spiele-Hosting-Flotten Amazon GameLift Servers verwalten, müssen Sie Amazon GameLift Servers eingeschränkten Zugriff auf diese Ressourcen und Dienste gewähren.

Einige Beispielszenarien beinhalten:

  • Verwenden Sie einen CloudWatch Amazon-Agenten, um Metriken, Logs und Traces von verwalteten EC2-Flotten und Anywhere-Flotten zu sammeln.

  • Senden Sie Instance-Protokolldaten an Amazon Logs. CloudWatch

  • Rufen Sie Spieldateien ab, die in einem Amazon Simple Storage Service (Amazon S3) -Bucket gespeichert sind.

  • Lesen und schreiben Sie Spieldaten (wie Spielmodi oder Inventar), die in einer Amazon DynamoDB-Datenbank oder einem anderen Datenspeicherdienst gespeichert sind.

  • Senden Sie Signale mithilfe von Amazon Simple Queue Service (Amazon SQS) 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:

Zugriff AWS Ressourcen mit einer IAM-Rolle

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 Sicherheitsanmeldeinformationen erhalten, die sie zur Interaktion mit den Ressourcen autorisieren. 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:

Erstellen Sie die IAM-Rolle

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 Verwendung der Berechtigungen der Rolle gewährt.

Anweisungen zum Einrichten der IAM-Rolle finden Sie unter. Richten Sie eine IAM-Servicerolle ein für Amazon GameLift Servers Wählen Sie beim Erstellen der Berechtigungsrichtlinie bestimmte Dienste, Ressourcen und Aktionen aus, mit denen Ihre Anwendungen arbeiten 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 den Rollen-ARN bei der Flottenerstellung.

Ändern Sie Anwendungen, um Anmeldeinformationen zu erhalten

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 erfährst du, wie du deine Anwendungen je nach (1) dem Anwendungstyp und (2) der Server-SDK-Version, mit der dein Spiel kommuniziert, modifizieren kannst. Amazon GameLift Servers

Spieleserver-Anwendungen Andere Anwendungen

Verwenden der Server-SDK-Version 5.x

Rufe die Server-SDK-Methode GetFleetRoleCredentials() von deinem Spieleservercode 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 mit der Rolle ARN.

Call AWS -Security-Token-Service (AWS STS) AssumeRole mit der Rolle ARN.

Anmerkung

Bei Containerflotten werden FleetRoleArn Anmeldeinformationen in jeden Container eingefügt. Ihre Anwendungen können den Standard-Anbieter für AWS Anmeldeinformationen verwenden, um auf diese Anmeldeinformationen zuzugreifen. Sie können immer noch anrufenGetFleetRoleCredentials(), was dieselben Anmeldeinformationen zurückgibt. Auf diese Anmeldedaten für die Flottenrolle kann nur innerhalb von Containern zugegriffen werden.

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

Die ausführbaren Spieldateien werden aufgerufen. GetFleetRoleCredentials() Andere Dateien verwenden lokal gespeicherte gemeinsame Anmeldeinformationen.

Rufen Sie in Ihrem Spieleservercode, der bereits in das Amazon GameLift Servers Server-SDK 5.x integriert sein sollte, GetFleetRoleCredentials (C++) (C#) (Unreal ) (Go) auf, um eine Reihe temporärer Anmeldeinformationen abzurufen. Wenn die Anmeldeinformationen ablaufen, kannst du sie mit einem weiteren Aufruf von aktualisieren. GetFleetRoleCredentials

Fügen Sie für Nicht-Server-Anwendungen, die zusammen mit Spieleserver-Builds mithilfe des Server-SDK 5.x bereitgestellt werden, Code hinzu, um Anmeldeinformationen abzurufen und zu verwenden, die in einer gemeinsam genutzten Datei gespeichert sind. Amazon GameLift Serversgeneriert ein Profil mit Anmeldeinformationen 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 Flotten-Instances erfasst

Wenn Sie einen CloudWatch Amazon-Agenten verwenden möchten, um Metriken, Logs und Traces von Ihren Amazon GameLift Servers Flotten zu sammeln, verwenden Sie diese Methode, um den Agenten zu autorisieren, die Daten an Ihr Konto zu senden. Gehen Sie in diesem Szenario wie folgt vor:

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

  2. Aktualisieren Sie die common-config.toml Datei für den Agenten, um den Dateinamen und den Profilnamen der Anmeldeinformationen zu identifizieren, wie oben beschrieben.

  3. Richte das Build-Installationsskript für deinen Spieleserver ein, um den CloudWatch Agenten zu installieren und zu starten.

Fügen Sie Ihren Anwendungen Code hinzu, um die IAM-Rolle zu übernehmen, und holen Sie sich Anmeldeinformationen für die Interaktion mit Ihren AWS Ressourcen. 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 den AssumeRole API-Vorgang AWS -Security-Token-Service (AWS STS) aufrufen und den Rollen-ARN angeben. Dieser Vorgang gibt eine Reihe temporärer Anmeldeinformationen zurück, die die Anwendung für den Zugriff auf die AWS Ressource autorisieren. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Verwenden temporärer Anmeldeinformationen mit AWS Ressourcen.

Ordnen Sie der IAM-Rolle eine Flotte zu

Nachdem Sie die IAM-Rolle erstellt und die Anwendungen in Ihrem Spieleserver-Build aktualisiert haben, um die Zugangsdaten abzurufen und zu verwenden, können Sie eine Flotte bereitstellen. Stellen Sie bei der Konfiguration der neuen Flotte die folgenden Parameter ein.

Für Containerflotten:

  • FleetRoleArn— Setzen Sie diesen Parameter auf den ARN der IAM-Rolle.

Für andere Flottenarten:

  • InstanceRoleArn— Setzen Sie diesen Parameter auf den ARN der IAM-Rolle.

  • InstanceRoleCredentialsProvider— Um Sie aufzufordernAmazon GameLift Servers, eine gemeinsame Anmeldeinformationsdatei für jede Flotteninstanz zu generieren, setzen Sie diesen Parameter aufSHARED_CREDENTIAL_FILE.

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

Zugriff AWS Ressourcen mit VPC-Peering

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 Ressource zu kommunizieren. AWS Eine VPC ist ein virtuelles privates Netzwerk, das Sie definieren und das eine Reihe von Ressourcen umfasst, die über Ihre verwaltet werden. AWS-Konto 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 GameLift Amazon-Server

Anmerkung

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