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 Gameserver-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 zu sammeln und Anywhere Flotten.

  • 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 (AmazonSQS) Signale direkt an eine Instance.

  • Greifen Sie auf benutzerdefinierte Ressourcen zu, die auf Amazon Elastic Compute Cloud (AmazonEC2) 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 diesen Zugriff zu beschränken. 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 über eine IAM Rolle gesteuerten Zugriff einzurichten:

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 das GameLift Recht einräumt, die Berechtigungen der Rolle zu verwenden.

Anweisungen zur Einrichtung der IAM Rolle finden Sie unterRichten Sie eine IAM Servicerolle für Amazon ein 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 der Rolle (ARN). Sie benötigen die Rolle ARN bei der Flottenerstellung.

Ändern Sie Anwendungen, um Anmeldeinformationen abzurufen

In diesem Schritt konfigurieren Sie Ihre Anwendungen so, dass Sicherheitsanmeldeinformationen für die IAM Rolle abgerufen und bei der Interaktion mit Ihren AWS Ressourcen verwendet werden. In der folgenden Tabelle erfahren Sie, wie Sie Ihre Anwendungen ändern können, basierend auf (1) dem Anwendungstyp und (2) der SDK Serverversion, die Ihr Spiel für die Kommunikation mit Amazon verwendet GameLift.

Spieleserver-Anwendungen Andere Anwendungen

Verwenden Sie SDK Serverversion 5.x

Rufe die SDK Servermethode GetFleetRoleCredentials() von deinem Gameservercode aus auf.

Fügen Sie der Anwendung Code hinzu, um Anmeldeinformationen aus einer gemeinsam genutzten Datei auf der Flotteninstanz abzurufen.

Verwenden Sie SDK Serverversion 4 oder früher

Rufen Sie AWS Security Token Service (AWS STS) AssumeRole mit der Rolle aufARN.

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

Für Spiele, die in Server SDK 5.x integriert sind, zeigt dieses Diagramm, wie Anwendungen in Ihrem bereitgestellten Spielbuild 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.

Rufen Sie in Ihrem Spieleservercode, der bereits in den GameLift Amazon-Server SDK 5.x integriert sein sollte, GetFleetRoleCredentials (C++) (C#) (Unreal) (Go) 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 zusammen mit Spielserver-Builds auf 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 Traces von 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 Zugangsdaten für die Interaktion mit Ihren AWS Ressourcen zu erhalten. Jede Anwendung, die auf einer Amazon GameLift Fleet-Instance mit Server SDK 4 oder früher läuft, 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 die Rolle angebenARN. Dieser Vorgang gibt einen Satz temporärer Anmeldeinformationen zurück, die die Anwendung zum Zugriff auf die AWS Ressource autorisieren. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Verwenden temporärer Anmeldeinformationen mit AWS Ressourcen.

Ordnen Sie der IAM Rolle eine Flotte zu

Nachdem du die IAM Rolle erstellt und die Anwendungen in deinem Spielserver-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— Stellen Sie diesen Parameter auf den ARN der IAM Rolle ein.

  • 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 (AmazonVPC) -Peering verwenden, um zwischen Anwendungen, die auf einer GameLift Amazon-Instance ausgeführt werden, und einer anderen AWS Ressource zu kommunizieren. A 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 eigeneVPC. Mit VPC Peering können Sie eine direkte Netzwerkverbindung zwischen den Ressourcen VPC für Ihre Flotte und für Ihre anderen AWS Ressourcen herstellen.

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