Connectez-vous à distance aux instances GameLift de flotte Amazon - Amazon GameLift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connectez-vous à distance aux instances GameLift de flotte Amazon

Vous pouvez vous connecter à n'importe quelle instance de vos EC2 flottes GameLift gérées par Amazon actives. Les raisons les plus courantes pour accéder à distance à une instance sont les suivantes :

  • Résolvez les problèmes liés à l'intégration de votre serveur de jeu.

  • Ajustez la configuration de votre environnement d'exécution et les autres paramètres spécifiques à la flotte.

  • Obtenez l'activité du serveur de jeu en temps réel, par exemple le suivi des journaux.

  • Exécutez des outils d'analyse comparative en utilisant le trafic réel des joueurs.

  • Étudiez les problèmes spécifiques liés à une session de jeu ou à un processus de serveur.

Lorsque vous vous connectez à une instance, prenez en compte les problèmes potentiels suivants :

  • Vous pouvez vous connecter à n'importe quelle instance d'un parc actif. En général, vous ne pouvez pas vous connecter à des flottes non actives, telles que les flottes en cours d'activation ou présentant un état d'erreur. (La disponibilité de ces flottes peut être limitée pendant une courte période.) Pour obtenir de l'aide concernant les problèmes d'activation de la flotte, consultezDéboguer les problèmes liés à GameLift la flotte Amazon.

  • La connexion à une instance active n'a aucune incidence sur l'activité d'hébergement de l'instance. L'instance continue de démarrer et d'arrêter les processus du serveur en fonction de la configuration d'exécution. Il active et exécute des sessions de jeu. L'instance peut s'arrêter en réponse à un événement de réduction ou à un autre événement.

  • Toute modification apportée aux fichiers ou aux paramètres de l'instance peut avoir un impact sur les sessions de jeu actives de l'instance et sur les joueurs connectés.

Les instructions suivantes décrivent comment se connecter à distance à une instance à l'aide de l'interface de ligne de AWS commande (CLI). Vous pouvez également effectuer des appels programmatiques à l'aide du AWS SDK, comme indiqué dans la APIréférence des GameLift services Amazon.

Collectez les données d'instance

Pour vous connecter à une instance de EC2 flotte GameLift gérée par Amazon, vous avez besoin des informations suivantes :

  • L'ID de l'instance à laquelle vous souhaitez vous connecter. Vous pouvez utiliser l'ID d'instance ouARN.

  • SDKVersion GameLift du serveur Amazon utilisée sur l'instance. Le serveur SDK est intégré à la version du jeu qui s'exécute sur l'instance.

Les instructions suivantes décrivent comment effectuer ces tâches à l'aide du AWS CLI. Vous devez connaître l'ID de flotte de l'instance à laquelle vous souhaitez vous connecter.

  1. Obtenez le nom du calcul. Obtenez la liste de tous les ordinateurs actifs de la flotte. Calculez la liste des appels avec un identifiant de flotte ou. ARN Pour une flotte à site unique, spécifiez uniquement l'identifiant de flotte. Pour une flotte à sites multiples, spécifiez l'identifiant de la flotte et un emplacement. Dans le cas EC2 des flottes gérées, list-compute renvoie une liste des instances de flotte, dont la propriété ComputeName est l'ID de l'instance. Trouvez le calcul auquel vous souhaitez accéder.

    Demande

    aws gamelift list-compute \ --fleet-id "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa" \ --location ""sa-east-1"

    Réponse

    { "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" } ] }
  2. Trouvez la SDK version du serveur. Pour obtenir ces informations, vous devez rechercher le build déployé dans la flotte. SDKLa version du serveur est une propriété de construction.

    1. Appelez describe-fleet-attributesavec un identifiant de flotte ou ARN pour obtenir l'identifiant de construction de la flotte etARN.

    2. Appelez describe-build avec l'ID de build ou ARN pour obtenir la version serveur SDK de la build.

      Par exemple :

      Demande

    aws gamelift describe-fleet-attributes / --fleet-ids "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa"

    Réponse

    { "FleetAttributes": [ { "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeType": "EC2", "BuildId": "build-3333cccc-44dd-55ee-66ff-00001111aa22", . . . } ] }

    Demande

    aws gamelift describe-build / --build-id "build-3333cccc-44dd-55ee-66ff-00001111aa22"

    Réponse

    "Build": { "BuildId": "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff", "Name": "My_Game_Server_Build_One", "OperatingSystem": "AMAZON_LINUX_2023", "ServerSdkVersion": "5.1.1", . . . }

Se connecter à une instance (serveur SDK 5)

Si l'instance à laquelle vous souhaitez vous connecter exécute une version de jeu avec la SDK version 5.x du serveur, connectez-vous à l'instance à l'aide d'Amazon EC2 Systems Manager (SSM). Vous pouvez accéder à des instances à distance qui exécutent Windows ou Linux.

Avant de commencer :

Complétez les étapes de SSM configuration et installez le SSM plugin sur votre machine locale. Pour plus d'informations, consultez la section Configuration SSM et installation du plug-in Session Manager AWS CLI dans le guide de l'utilisateur d'Amazon EC2 Systems Manager.

  1. Demandez des informations d'identification d'accès pour l'instance. Appelez get-compute-accessavec l'ID de flotte et le nom de calcul de l'instance à laquelle vous souhaitez vous connecter. Amazon GameLift renvoie un ensemble d'informations d'identification temporaires pour accéder à l'instance. Par exemple :

    Demande

    aws gamelift get-compute-access \ --compute-name i-11111111a222b333c \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa --region us-west-2

    Réponse

    { "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 " }
  2. Exportez les informations d'accès (facultatif). Vous pouvez exporter les informations d'identification vers des variables d'environnement et les utiliser AWS CLI pour les configurer pour l'utilisateur par défaut. Pour plus de détails, consultez la section Variables d'environnement pour les configurer AWS CLI dans le Guide de AWS Command Line Interface l'utilisateur.

    export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token>
  3. Connectez-vous à l'instance de flotte. Démarrez une SSM session avec l'instance à laquelle vous souhaitez vous connecter. Incluez la AWS région ou l'emplacement de l'instance. Pour plus d'informations, notamment sur la configuration SSM et le SSM plugin, consultez Starting a session (AWS CLI) dans le guide de l'utilisateur d'Amazon EC2 Systems Manager.

    La demande de démarrage de session utilisera automatiquement les informations d'identification que vous avez acquises à l'étape 1.

    aws ssm start-session \ --target i-11111111a222b333c \ --region us-west-2 \
    Note

    Si vous recevez un message d'erreur de refus d'accès, il se peut qu'une variable d'AWS_PROFILEenvironnement soit définie sur un AWS profil, ce qui AWS CLI entraîne l'utilisation de mauvaises informations d'identification pour l'accès à distance. Pour résoudre ce problème, désactivez temporairement votre variable d'AWS_PROFILEenvironnement. Vous pouvez également créer un AWS profil personnalisé pour vos informations d'accès à distance et ajouter le paramètre de ligne de --profile commande à votre start-session demande.

Connect à une instance (serveur SDK 4.x ou version antérieure)

Si l'instance à laquelle vous souhaitez vous connecter exécute une version de jeu avec la SDK version 4 du serveur ou une version antérieure, suivez les instructions ci-dessous. Vous pouvez vous connecter à des instances qui exécutent Windows ou Linux. Connectez-vous à une instance Windows à l'aide d'un client Remote Desktop Protocol (RDP). Connectez-vous à une instance Linux à l'aide d'un SSH client.

  1. Demandez des informations d'identification d'accès pour l'instance. Lorsque vous disposez d'un ID d'instance, utilisez la commande get-instance-accesspour demander des informations d'accès. En cas de succès, Amazon GameLift renvoie le système d'exploitation, l'adresse IP et un ensemble d'informations d'identification (nom d'utilisateur et clé secrète) de l'instance. Le format des informations d'identification dépend du système d'exploitation de l'instance. Utilisez les instructions suivantes pour récupérer les informations d'identification pour l'un RDP ou l'autreSSH.

    • Pour les instances Windows : pour se connecter à une instance Windows, RDP un nom d'utilisateur et un mot de passe sont nécessaires. La demande get-instance-access renvoie ces valeurs sous la forme de chaînes simples, afin que vous puissiez les valeurs telles quelles. Exemple d'informations d'identification :

      "Credentials": { "Secret": "aA1bBB2cCCd3EEE", "UserName": "gl-user-remote" }
    • Pour les instances Linux : pour se connecter à une instance Linux, un SSH nom d'utilisateur et une clé privée sont nécessaires. Amazon GameLift émet des clés RSA privées et les renvoie sous forme de chaîne unique, le caractère de nouvelle ligne (\n) indiquant les sauts de ligne. Pour rendre la clé privée utilisable, procédez comme suit : (1) convertissez la chaîne en .pem fichier et (2) définissez les autorisations pour le nouveau fichier. Exemple d'informations d'identification renvoyées :

      "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" }

      Lorsque vous utilisez le AWS CLI, vous pouvez générer automatiquement un .pem fichier en incluant les paramètres --query et --output dans votre get-instance-access requête.

      Pour définir des autorisations sur le fichier .pem, exécutez la commande suivante :

      $ chmod 400 MyPrivateKey.pem
  2. Ouvrez un port pour la connexion à distance. Vous pouvez accéder aux instances des GameLift flottes Amazon via n'importe quel port autorisé dans la configuration de la flotte. Vous pouvez afficher les paramètres de port de la flotte à l'aide de la commande describe-fleet-port-settings.

    La bonne pratique consiste à ouvrir des ports pour l'accès à distance uniquement lorsque vous en avez besoin et à les fermer lorsque vous avez terminé. Vous ne pouvez pas mettre à jour les paramètres du port après avoir créé une flotte, mais avant qu'elle ne soit active. Si vous êtes bloqué, recréez la flotte avec les paramètres du port ouverts.

    Utilisez la commande update-fleet-port-settingspour ajouter un paramètre de port pour la connexion à distance (par exemple 22 pour SSH ou 3389 pourRDP). Pour la valeur de la plage d'adresses IP, spécifiez les adresses IP des appareils que vous prévoyez d'utiliser pour vous connecter (converties au CIDR format). Exemple :

    $ 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"

    L'exemple suivant ouvre le port 3389 sur un parc Windows

    $ 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"
  3. Ouvrez un client de connexion à distance. Utilisez Remote Desktop pour Windows ou SSH pour les instances Linux. Connectez-vous à l'instance à l'aide de l'adresse IP, du paramètre de port et des informations d'identification d'accès.

    SSHexemple :

    ssh -i MyPrivateKey.pem gl-user-remote@192.0.2.0

Afficher des fichiers sur des instances distantes

Lorsque vous êtes connecté à une instance à distance, vous disposez d'un accès utilisateur et administratif complet. Cela signifie que vous avez également la possibilité de produire des erreurs et des défaillances dans l'hébergement de jeux. Si l'instance héberge des parties avec des joueurs actifs, vous courez le risque de bloquer des sessions de jeu et de perdre des joueurs, ou de perturber les processus d'arrêt du jeu et de provoquer des erreurs dans les données et les journaux de jeu enregistrés.

Recherchez les ressources suivantes sur une instance d'hébergement :

  • Fichiers de build de jeu. Ces fichiers sont le build du jeu que vous avez chargé sur Amazon GameLift. Ils incluent un ou plusieurs exécutables, actifs et dépendances du serveur de jeu. Les fichiers de compilation du jeu se trouvent dans un répertoire racine appelé game :

    • Sous Windows : c:\game

    • Sous Linux : /local/game

  • Fichiers journaux de jeu. Trouvez les fichiers journaux générés par votre serveur de jeu dans le répertoire game racine, quel que soit le chemin de répertoire que vous avez indiqué.

  • Ressources GameLift d'hébergement Amazon. Le répertoire racine Whitewater contient les fichiers utilisés par le GameLift service Amazon pour gérer l'activité d'hébergement de jeux. Ne modifiez pas ces fichiers pour quelque raison que ce soit.

  • Configuration d'exécution. N'accédez pas à la configuration d'exécution pour des instances individuelles. Pour modifier une propriété de configuration d'exécution, mettez à jour la configuration d'exécution de la flotte (voir le AWS SDK fonctionnement UpdateRuntimeConfigurationou le AWS CLI update-runtime-configuration).

  • Données relatives à la flotte. Un JSON fichier contient des informations sur le parc auquel appartient l'instance, destinées aux processus du serveur exécutés sur l'instance. Le JSON fichier se trouve à l'emplacement suivant :

    • Sous Windows : C:\GameMetadata\gamelift-metadata.json

    • Sous Linux : /local/gamemetadata/gamelift-metadata.json

  • TLScertificats. Si l'instance fait partie d'un parc sur lequel la génération de TLS certificats est activée, recherchez les fichiers de certificats, y compris le certificat, la chaîne de certificats, la clé privée et le certificat racine à l'emplacement suivant :

    • Sous Windows : c:\\GameMetadata\Certificates

    • Sous Linux : /local/gamemetadata/certificates/