Kommunizieren Sie mit anderen AWS Ressourcen aus Ihren Flotten - Amazon GameLift

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

Kommunizieren Sie mit anderen AWS Ressourcen aus Ihren Flotten

Wenn Sie einen Spieleserver-Build für den Einsatz auf GameLift Amazon-Flotten erstellen, möchten Sie vielleicht, dass die Anwendungen in Ihrem Game-Build direkt und sicher mit anderen AWS Ressourcen kommunizieren, die Sie besitzen. Da Amazon Ihre Spiele-Hosting-Flotten GameLift verwaltet, müssen Sie Amazon GameLift 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 Flotten zu sammeln Anywhere

  • Senden Sie Instance-Protokolldaten an Amazon Logs. CloudWatch

  • 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 unterstützt die folgenden Methoden zur Einrichtung des Zugriffs:

Greifen Sie mit einer IAM-Rolle auf AWS Ressourcen zu

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:

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 die GameLift Rechte zur Nutzung der Rollenberechtigungen einräumt.

Anweisungen zur Einrichtung der IAM-Rolle finden Sie unter. Einrichten einer IAM-Servicerolle für Amazon GameLift 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

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, die Ihr Spiel für die Kommunikation mit Amazon GameLift verwendet, 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 mit der Rolle ARN.

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

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.


                    Auf einer  GameLift  Amazon-Instance werden Spieleserveranwendungen aufgerufen. GetFleetRoleCredentials() Andere Anwendungen verwenden eine gemeinsam genutzte Anmeldeinformationsdatei, die auf der Instance gespeichert werden kann.

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

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 generiert für jede Flotteninstanz ein Anmeldeinformationsprofil. Die Anmeldeinformationen können von allen Anwendungen auf der Instance verwendet werden. Amazon aktualisiert die temporären Anmeldeinformationen GameLift kontinuierlich.

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 GameLift Amazon-Flotteninstanzen sammelt

Wenn Sie einen CloudWatch Amazon-Agenten verwenden möchten, um Metriken, Protokolle und Rückverfolgungen aus Ihren GameLift Amazon-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.

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

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

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 GameLift Amazon-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 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 von temporären Anmeldeinformationen mit AWS-Ressourcen im IAM-Benutzerhandbuch.

Ordnen Sie der IAM-Rolle eine Flotte zu

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:

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

  • InstanceRoleCredentialsProvider— GameLift Um Amazon aufzufordern, eine Datei mit gemeinsamen Anmeldeinformationen 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.

Greifen Sie mit VPC-Peering auf AWS Ressourcen zu

Sie können Amazon Virtual Private Cloud (Amazon VPC) -Peering verwenden, um zwischen Anwendungen, die auf einer GameLift Amazon-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 GameLift Amazon-Flotte hat ihre 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 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 für Amazon GameLift