View a markdown version of this page

Connectez-vous aux instances de flotte - GameLift Serveurs Amazon

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 aux instances de flotte

Vous pouvez vous connecter à distance à n'importe quelle instance EC2 Amazon GameLift Servers gérée active ou à une instance de flotte de conteneurs gérée pour résoudre les problèmes de serveur de jeu, inspecter les journaux et déboguer le comportement d'exécution. Connectez-vous à l'aide de la Amazon GameLift Servers console ou de l' AWS interface de ligne de commande.

Accès à distance via la console

Vous pouvez vous connecter aux instances de flotte directement depuis la Amazon GameLift Servers console à l'aide d'Amazon EC2 Systems Manager (SSM). Cette méthode fournit un accès sécurisé sans nécessiter de configuration supplémentaire ni de gestion des informations d'identification. Pour les flottes de conteneurs, une fois connecté à l'instance, vous pouvez accéder aux conteneurs individuels qui y sont exécutés. Pour de plus amples informations, veuillez consulter Connect aux conteneurs.

  1. Dans la Amazon GameLift Servers console, choisissez Managed EC2 ou Managed containers dans le volet de navigation, puis Fleets.

  2. Choisissez l'ID de flotte qui contient l'instance à laquelle vous souhaitez accéder.

  3. Sur la page des détails de la flotte, choisissez l'onglet Instances pour afficher toutes les instances de calcul de la flotte.

  4. Sélectionnez l'instance à laquelle vous souhaitez vous connecter, puis choisissez Connecter. Cela affiche la boîte de dialogue Connexion à l'instance qui vous informe des détails de la connexion et vous permet de visualiser le script qui sera utilisé pour vous connecter à votre instance. Confirmez en choisissant de nouveau Connecter.

  5. Dans la boîte de dialogue de connexion, choisissez Exécuter pour créer une nouvelle session SSM. Le système authentifie votre session via le service de gestion des AWS clés (AWS KMS) et ouvre un terminal dans votre navigateur.

Note

Console-based l'accès à distance est disponible pour les flottes exécutant la version 5.x du SDK du serveur. Pour les flottes utilisant des versions antérieures du SDK, utilisez la méthode AWS CLI décrite dans la section suivante.

Accès à distance avec AWS INTERFACE DE LIGNE DE COMMANDE (CLI)

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 référence de l'API de service pour. Amazon GameLift Servers

Collecter des données d'instance

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

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

  • le SDK du serveur pour Amazon GameLift Servers la version utilisée sur l'instance. Le SDK du serveur 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 de l' AWS interface de ligne de commande. Vous devez connaître l'identifiant de flotte de l'instance à laquelle vous souhaitez vous connecter.

  1. Obtenez le nom de l'ordinateur. Obtenez la liste de tous les ordinateurs actifs de la flotte. Calcul de la liste d'appels à l'aide d'un ID de flotte ou d'un ARN. Pour une flotte à site unique, spécifiez uniquement l'identifiant de la flotte. Pour une flotte multi-sites, spécifiez l'identifiant de la flotte et un emplacement. Dans le cas de flottes EC2 gérées, list-compute renvoie une liste d'instances de parc, dont la propriété ComputeName est l'ID de l'instance. Trouvez l'ordinateur 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 version du SDK du serveur. Pour obtenir ces informations, vous devez rechercher la version déployée dans la flotte. La version du SDK du serveur est une propriété de compilation.

    1. Appelez describe-fleet-attributes avec un ID de flotte ou un ARN pour obtenir l'ID de build et l'ARN de la flotte.

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

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

Connexion à une instance (SDK serveur 5)

Si l'instance à laquelle vous souhaitez vous connecter exécute un jeu créé avec le SDK serveur version 5.x, 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. Pour les flottes de conteneurs, une fois connecté à l'instance, vous pouvez accéder aux conteneurs individuels qui y sont exécutés. Pour de plus amples informations, veuillez consulter Connect aux conteneurs.

Avant de commencer :

Effectuez les étapes de configuration SSM et installez le plug-in SSM sur votre machine locale. Pour plus d'informations, consultez Configuration de SSM et installation du plug-in Session Manager pour la 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-access avec l'ID de flotte et le nom de calcul de l'instance à laquelle vous souhaitez vous connecter. Amazon GameLift Serversrenvoie 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 pour configurer la AWS CLI pour l'utilisateur par défaut. Pour plus de détails, consultez la section Variables d'environnement pour configurer la 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 session SSM avec l'instance à laquelle vous souhaitez vous connecter. Indiquez la AWS région ou l'emplacement de l'instance. Pour plus d'informations, notamment sur la configuration de SSM et du plug-in SSM, consultez la section Démarrage d'une 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 obtenez une erreur d'accès refusé, il se peut qu'une variable d'AWS_PROFILEenvironnement soit définie sur un AWS profil, ce qui amène la AWS CLI à utiliser des informations d'identification incorrectes 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.

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

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

  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-access pour demander des informations d'accès. En cas de succès, Amazon GameLift Servers renvoie le système d'exploitation et l'adresse IP de l'instance, ainsi qu'un ensemble d'informations d'identification (nom d'utilisateur et clé secrète). Le format des informations d'identification dépend du système d'exploitation de l'instance. Utilisez les instructions suivantes extraire les informations d'identification pour RDP ou SSH.

    • Pour les instances Windows  : pour se connecter à une instance Windows, RDP nécessite un nom d'utilisateur et un mot de passe. 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, SSH nécessite un nom d'utilisateur et une clé privée. Amazon GameLift Serversémet des clés privées RSA 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 la AWS CLI, vous pouvez générer automatiquement un .pem fichier en incluant les paramètres --query et --output à votre get-instance-access demande.

      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 Amazon GameLift Servers flottes 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 des ports après avoir créé une flotte, mais avant qu'elle ne soit active. Si vous êtes bloqué, recréez la flotte en ouvrant les paramètres du port.

    Utilisez la commande update-fleet-port-settings pour ajouter un paramètre de port pour la connexion à distance (22 pour SSH ou 3389 pour RDP, par exemple). Pour la valeur de plage d'adresses IP, spécifiez les adresses IP pour les périphériques que vous voulez utiliser pour la connexion (converties au format CIDR). 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 le Bureau à distance 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.

    Exemple SSH :

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

Afficher des fichiers sur des instances distantes

Une fois connecté à une instance de flotte, vous disposez d'un accès utilisateur et administratif complet. Cela signifie que vous pouvez également provoquer des erreurs ou des échecs lors de l'hébergement de jeux. Si l'instance héberge des jeux auxquels participent des joueurs actifs, vous risquez de bloquer les sessions de jeu et de supprimer des joueurs, ou de perturber les processus de fermeture du jeu, ce qui pourrait provoquer des erreurs dans les données et les journaux de jeu sauvegardés.

Pour les flottes de conteneurs, après avoir accédé au conteneur (voirConnect aux conteneurs), les emplacements de fichiers suivants s'appliquent au sein du système de fichiers du conteneur. Pour les flottes EC2, ces emplacements de fichiers s'appliquent directement à l'instance.

Recherchez ces ressources sur une instance d'hébergement :

  • Fichiers de build de jeu. Ces fichiers sont la version du jeu que vous avez chargéeAmazon GameLift Servers. Ils incluent un ou plusieurs exécutables, actifs et dépendances de serveurs 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 désigné.

  • Ressources d'hébergement Amazon GameLift Servers. Le répertoire racine Whitewater contient les fichiers utilisés par le Amazon GameLift Servers service 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 fonctionnement du AWS SDK UpdateRuntimeConfiguration ou la configuration AWS CLI https://docs.aws.amazon.com/cli/latest/reference/gamelift/update-runtime-configuration.html update-runtime-configuration).

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

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

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

  • Certificat TLS Si l'instance fait partie d'un parc pour lequel la génération de certificats TLS est activée, recherchez les fichiers de certificat, notamment 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/