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 |
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) |
Call AWS -Security-Token-Service (AWS STS) |
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.
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:
-
Rufen Sie die CloudWatch
config.jsonAgentendatei ab oder schreiben Sie sie. -
Aktualisieren Sie die
common-config.tomlDatei für den Agenten, um den Dateinamen und den Profilnamen der Anmeldeinformationen zu identifizieren, wie oben beschrieben. -
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 auf
SHARED_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.