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.
Stellen Sie eine Remoteverbindung zu GameLift Amazon-Flotteninstanzen her
Sie können eine Verbindung zu jeder Instance in Ihren aktiven, von Amazon GameLift verwalteten EC2 Flotten herstellen. Zu den häufigsten Gründen für den Fernzugriff auf eine Instance gehören:
-
Beheben Sie Probleme mit der Integration Ihres Spieleservers.
-
Optimiere deine Runtime-Konfiguration und andere flottenspezifische Einstellungen.
-
Erhalte Gameserver-Aktivitäten in Echtzeit, z. B. Log-Tracking.
-
Führen Sie Benchmarking-Tools anhand des tatsächlichen Spielerverkehrs aus.
-
Untersuchen Sie spezifische Probleme mit einer Spielsitzung oder einem Serverprozess.
Wenn du eine Verbindung zu einer Instanz herstellst, solltest du die folgenden potenziellen Probleme berücksichtigen:
-
Sie können eine Verbindung zu jeder Instance in einer aktiven Flotte herstellen. Im Allgemeinen können Sie keine Verbindung zu inaktiven Flotten herstellen, z. B. zu Flotten, die gerade aktiviert werden oder sich in einem Fehlerstatus befinden. (Diese Flotten sind möglicherweise für einen kurzen Zeitraum nur begrenzt verfügbar.) Hilfe bei Problemen mit der Flottenaktivierung finden Sie unterProbleme mit GameLift Amazon-Flotten debuggen.
-
Die Verbindung zu einer aktiven Instance hat keinen Einfluss auf die Hosting-Aktivität der Instance. Die Instanz startet und stoppt weiterhin Serverprozesse auf der Grundlage der Laufzeitkonfiguration. Sie aktiviert und führt Spielsitzungen aus. Die Instanz wird möglicherweise als Reaktion auf ein Herunterskalierungsereignis oder ein anderes Ereignis heruntergefahren.
-
Alle Änderungen, die Sie an Dateien oder Einstellungen auf der Instanz vornehmen, können sich auf die aktiven Spielsitzungen der Instanz und auf die verbundenen Spieler auswirken.
In den folgenden Anweisungen wird beschrieben, wie Sie mithilfe der AWS Befehlszeilenschnittstelle (CLI) eine Remoteverbindung zu einer Instanz herstellen können. Sie können auch programmatische Aufrufe mit dem tätigen AWS SDK, wie in der GameLift APIAmazon-Servicereferenz dokumentiert.
Sammeln Sie Instanzdaten
Um eine Verbindung zu einer von Amazon GameLift verwalteten EC2 Flotteninstanz herzustellen, benötigen Sie die folgenden Informationen:
-
Die ID der Instance, zu der Sie eine Verbindung herstellen möchten. Sie können entweder die Instanz-ID oder verwendenARN.
-
Die GameLift SDK Amazon-Serverversion, die auf der Instance verwendet wird. Der Server SDK ist in den Spiel-Build integriert, der auf der Instance ausgeführt wird.
In den folgenden Anweisungen wird beschrieben, wie Sie diese Aufgaben mithilfe von ausführen AWS CLI. Sie müssen die Flotten-ID für die Instance kennen, zu der Sie eine Verbindung herstellen möchten.
-
Rufen Sie den Computernamen ab. Ruft eine Liste aller aktiven Computer in der Flotte ab. Rufen Sie list-compute mit einer Flotten-ID auf oder. ARN Geben Sie für eine Flotte mit nur einem Standort nur die Flottenkennung an. Geben Sie für eine Flotte mit mehreren Standorten die Flottenkennung und einen Standort an.
list-compute
Gibt bei verwalteten EC2 Flotten eine Liste von Flotteninstanzen zurück, und die EigenschaftComputeName
ist die Instanz-ID. Suchen Sie den Computer, auf den Sie zugreifen möchten.Anforderung
aws gamelift list-compute \ --fleet-id "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa" \ --location ""sa-east-1"
Antwort
{ "ComputeList": [ { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "FleetArn": "arn:aws:gamelift:us-west-2::fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "i-0abc12d3e45fa6b78", "IpAddress": "00.00.000.00", "DnsName": "b08444ki909kvqu6zpw3is24x5pyz4b6m05i3jbxvpk9craztu0lqrbbrbnbkks.uwp57060n1k6dnlnw49b78hg1rw4rcz7.us-west-2.amazongamelift.com", "ComputeStatus": "Active", "Location": "sa-east-1", "CreationTime": "2023-07-09T22:51:45.931000-07:00", "OperatingSystem": "AMAZON_LINUX_2023", "Type": "c4.large" } ] }
-
Finden Sie die SDK Serverversion. Um diese Informationen zu erhalten, müssen Sie nach dem Build suchen, das für die Flotte eingesetzt wird. SDKDie Serverversion ist eine Build-Eigenschaft.
-
Rufen Sie describe-fleet-attributesmit einer Flotten-ID ARN an oder um die Build-ID der Flotte zu erhalten undARN.
Rufen Sie describe-build mit der Build-ID ARN auf oder rufen Sie die SDK Serverversion des Builds ab.
Beispielsweise:
Anforderung
aws gamelift describe-fleet-attributes / --fleet-ids "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"
Antwort
{ "FleetAttributes": [ { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeType": "EC2", "BuildId": "build-3333cccc-44dd-55ee-66ff-00001111aa22", . . . } ] }
Anforderung
aws gamelift describe-build / --build-id "build-3333cccc-44dd-55ee-66ff-00001111aa22"
Antwort
"Build": { "BuildId": "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff", "Name": "My_Game_Server_Build_One", "OperatingSystem": "AMAZON_LINUX_2023", "ServerSdkVersion": "5.1.1", . . . }
-
Stellen Sie eine Connect zu einer Instanz her (Server SDK 5)
Wenn auf der Instance, zu der Sie eine Verbindung herstellen möchten, ein Game-Build mit SDK Serverversion 5.x ausgeführt wird, stellen Sie mithilfe von Amazon EC2 Systems Manager (SSM) eine Verbindung zu der Instance her. Sie können auf Remote-Instances zugreifen, die auf Windows oder Linux ausgeführt werden.
Bevor Sie beginnen:
Schließen Sie die SSM Einrichtungsschritte ab und installieren Sie das SSM Plugin auf Ihrem lokalen Computer. Weitere Informationen finden Sie unter Einrichtung SSM und Installation des Session Manager-Plug-ins für AWS CLI im Amazon EC2 Systems Manager Manager-Benutzerhandbuch.
-
Fordern Sie Anmeldeinformationen für die Instance an. Rufen Sie get-compute-accessmit der Flotten-ID und dem Rechennamen für die Instance an, zu der Sie eine Verbindung herstellen möchten. Amazon GameLift gibt einen Satz temporärer Anmeldeinformationen für den Zugriff auf die Instance zurück. Beispielsweise:
Anforderung
aws gamelift get-compute-access \ --compute-name i-11111111a222b333c \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa --region us-west-2
Antwort
{ "ComputeName": " i-11111111a222b333c ", "Credentials": { "AccessKeyId": " ASIAIOSFODNN7EXAMPLE ", "SecretAccessKey": " wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY ", "SessionToken": " AQoDYXdzEJr...<remainder of session token>" }, "FleetArn": " arn:aws:gamelift:us-west-2::fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa ", "FleetId": " fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa " }
-
Exportieren Sie die Zugangsdaten (optional). Sie können die Anmeldeinformationen in Umgebungsvariablen exportieren und sie verwenden, um die AWS CLI für den Standardbenutzer zu konfigurieren. Weitere Informationen finden Sie unter Umgebungsvariablen zur Konfiguration von AWS CLI im AWS Command Line Interface Benutzerhandbuch.
export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token>
-
Connect zur Flotteninstanz her. Starten Sie eine SSM Sitzung mit der Instanz, zu der Sie eine Verbindung herstellen möchten. Geben Sie die AWS Region oder den Standort der Instanz an. Weitere Informationen, einschließlich der Einrichtung SSM und des SSM Plug-ins, finden Sie unter Eine Sitzung starten (AWS CLI) im Amazon EC2 Systems Manager Manager-Benutzerhandbuch.
Für die Anfrage zum Sitzungsstart werden automatisch die Anmeldeinformationen verwendet, die Sie in Schritt 1 erworben haben.
aws ssm start-session \ --target i-11111111a222b333c \ --region us-west-2 \
Anmerkung
Wenn Sie die Fehlermeldung „Zugriff verweigert“ erhalten, haben Sie möglicherweise eine
AWS_PROFILE
Umgebungsvariable auf ein AWS Profil gesetzt, was AWS CLI dazu führt, dass die falschen Anmeldeinformationen für den Remotezugriff verwendet werden. Um das Problem zu beheben, deaktivieren Sie vorübergehend IhreAWS_PROFILE
Umgebungsvariable. Alternativ können Sie ein benutzerdefiniertes AWS Profil für Ihre RAS-Anmeldeinformationen erstellen und den--profile
Befehlszeilenparameter zu Ihrerstart-session
Anfrage hinzufügen.
Stellen Sie eine Connect zu einer Instanz her (Server SDK 4.x oder früher)
Wenn auf der Instanz, zu der Sie eine Verbindung herstellen möchten, ein Spiel mit SDK Serverversion 4 oder früher ausgeführt wird, gehen Sie wie folgt vor. Sie können eine Verbindung zu Instances herstellen, auf denen entweder Windows oder Linux ausgeführt wird. Stellen Sie mithilfe eines Remote Desktop Protocol (RDP) -Clients eine Connect zu einer Windows-Instanz her. Stellen Sie mithilfe eines SSH Clients eine Connect zu einer Linux-Instance her.
-
Fordern Sie Anmeldeinformationen für die Instance an. Wenn Sie eine Instanz-ID haben, verwenden Sie den Befehl, get-instance-accessum Zugangsdaten anzufordern. Bei Erfolg GameLift gibt Amazon das Betriebssystem, die IP-Adresse und eine Reihe von Anmeldeinformationen (Benutzername und geheimer Schlüssel) der Instance zurück. Das Format der Anmeldeinformationen ist vom Betriebssystem der Instance abhängig. Verwenden Sie die folgenden Anweisungen, um Anmeldeinformationen für entweder RDP oder abzurufenSSH.
-
Für Windows-Instanzen — Um eine Verbindung zu einer Windows-Instanz herzustellen, RDP sind ein Benutzername und ein Kennwort erforderlich. Die
get-instance-access
-Anforderung gibt diese Werte als einfache Zeichenfolgen zurück. Daher können Sie die zurückgegebenen Werte unverändert verwenden. Beispiel für Anmeldeinformationen:"Credentials": { "Secret": "aA1bBB2cCCd3EEE", "UserName": "gl-user-remote" }
-
Für Linux-Instances — Um eine Verbindung zu einer Linux-Instance herzustellen, SSH sind ein Benutzername und ein privater Schlüssel erforderlich. Amazon GameLift gibt RSA private Schlüssel aus und gibt sie als einzelne Zeichenfolge zurück, wobei das Zeilenumbruchzeichen (
\n
) für Zeilenumbrüche steht. Gehen Sie wie folgt vor, um den privaten Schlüssel nutzbar zu machen: (1) konvertieren Sie die Zeichenfolge in eine.pem
Datei und (2) legen Sie die Berechtigungen für die neue Datei fest. Beispiel für zurückgegebene Anmeldeinformationen:"Credentials": { "Secret": "-----BEGIN RSA PRIVATE KEY-----nEXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/\nvBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QW\nZ/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1F\nG50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPW\noPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu\n/uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1\nmb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2\nbahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD9\n81oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozR\noQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1\nYkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/x\np9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuws\nayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnU\nWA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUC\ngYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bH\noMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGs\nArq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshy\nWBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1j\njjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDa\nNWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qS\nVRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc=\n-----END RSA PRIVATE KEY-----", "UserName": "gl-user-remote" }
Wenn Sie die verwenden AWS CLI, können Sie automatisch eine
.pem
Datei generieren, indem Sie die Parameter --query und --output in Ihreget-instance-access
Anfrage aufnehmen.Um für die
.pem
-Datei Berechtigungen festzulegen, führen Sie den folgenden Befehl aus:$ chmod 400 MyPrivateKey.pem
-
-
Öffnen Sie einen Port für die Remote-Verbindung. Sie können über jeden in der GameLift Flottenkonfiguration autorisierten Port auf Instances in Amazon-Flotten zugreifen. Sie können die Port-Einstellungen einer Flotte mit dem Befehl
describe-fleet-port-settings
anzeigen.Als bewährte Methode wird empfohlen, Ports für den Remote-Zugriff nur zu öffnen, wenn Sie diese benötigen, und sie zu schließen, wenn Sie diese nicht mehr benötigen. Sie können die Porteinstellungen nicht aktualisieren, nachdem Sie eine Flotte erstellt haben, sondern bevor sie aktiv ist. Wenn Sie nicht weiterkommen, erstellen Sie die Flotte mit geöffneten Porteinstellungen neu.
Verwenden Sie den Befehl
update-fleet-port-settings
, um eine Porteinstellung für die Remoteverbindung hinzuzufügen (z. B.22
für SSH oder3389
fürRDP). Geben Sie für den IP-Bereichswert die IP-Adressen der Geräte an, die Sie für die Verbindung verwenden möchten (konvertiert in CIDR ein Format). Beispiel:$ AWS gamelift update-fleet-port-settings --fleet-id "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa" --inbound-permission-authorizations "FromPort=22,ToPort=22,IpRange=54.186.139.221/32,Protocol=TCP"
Im folgenden Beispiel wird Port 3389 auf einer Windows-Flotte geöffnet
$ AWS gamelift update-fleet-port-settings --fleet-id "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa" --inbound-permission-authorizations "FromPort=3389,ToPort=3389,IpRange=54.186.139.221/32,Protocol=TCP"
-
Öffnen Sie einen Remote-Verbindungs-Client. Verwenden Sie Remote Desktop für Windows- oder SSH Linux-Instances. Stellen Sie die Verbindung mit der Instance unter Verwendung von IP-Adresse, Port-Einstellung und Anmeldeinformationen her.
SSHBeispiel:
ssh -i MyPrivateKey.pem gl-user-remote@192.0.2.0
Dateien auf Remote-Instanzen anzeigen
Wenn Sie remote mit einer Instance verbunden sind, verfügen Sie über einen vollständigen Benutzer- und Administratorzugriff. Das bedeutet, dass Sie auch Fehler und Ausfälle für das Spiele-Hosting verursachen können. Wenn die Instanz Spiele mit aktiven Spielern hostet, besteht die Gefahr, dass Spielsitzungen abstürzen und Spieler fallen gelassen werden oder dass das Herunterfahren von Spielen unterbrochen wird und Fehler in den gespeicherten Spieldaten und Protokollen auftreten.
Suchen Sie auf einer Hosting-Instanz nach diesen Ressourcen:
-
Build-Dateien von Spielen. Diese Dateien sind der Spiel-Build, den Sie auf Amazon hochgeladen haben GameLift. Sie enthalten eine oder mehrere ausführbare Dateien, Ressourcen und Abhängigkeiten des Spieleservers. Die Build-Dateien des Spiels befinden sich in einem Stammverzeichnis mit dem Namen:
game
-
Bei Windows:
c:\game
-
Bei Linux:
/local/game
-
-
Protokolldateien von Spielen. Suchen Sie die Protokolldateien, die Ihr Spieleserver generiert, im
game
Stammverzeichnis in dem von Ihnen angegebenen Verzeichnispfad. -
GameLift Amazon-Hosting-Ressourcen. Das Stammverzeichnis
Whitewater
enthält Dateien, die vom GameLift Amazon-Service zur Verwaltung der Spiele-Hosting-Aktivitäten verwendet werden. Ändern Sie diese Dateien aus keinem Grund. -
Laufzeitkonfiguration. Greifen Sie nicht auf die Laufzeitkonfiguration für einzelne Instanzen zu. Um Änderungen an einer Laufzeitkonfigurationseigenschaft vorzunehmen, aktualisieren Sie die Laufzeitkonfiguration der Flotte (siehe den AWS SDK Vorgang UpdateRuntimeConfigurationoder den AWS CLI update-runtime-configuration).
-
Flottendaten. Eine JSON Datei enthält Informationen über die Flotte, zu der die Instance gehört, zur Verwendung durch Serverprozesse, die auf der Instance ausgeführt werden. Die JSON Datei befindet sich am folgenden Speicherort:
-
Bei Windows:
C:\GameMetadata\gamelift-metadata.json
-
Bei Linux:
/local/gamemetadata/gamelift-metadata.json
-
-
TLSzertifikate. Wenn sich die Instanz in einer Flotte befindet, für die die TLS Zertifikatsgenerierung aktiviert ist, suchen Sie im folgenden Verzeichnis nach Zertifikatsdateien, einschließlich des Zertifikats, der Zertifikatskette, des privaten Schlüssels und des Stammzertifikats:
-
Bei Windows:
c:\\GameMetadata\Certificates
-
Bei Linux:
/local/gamemetadata/certificates/
-