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.
Connect aux conteneurs
Pour les flottes de Amazon GameLift Servers conteneurs, vous pouvez accéder aux conteneurs de serveurs de jeu exécutés sur une instance de flotte. Utilisez l'accès aux conteneurs pour résoudre les problèmes liés aux sessions de jeu, inspecter les journaux et résoudre les problèmes d'exécution.
Connect à un conteneur
Avant de commencer :
Connectez-vous à l'instance de flotte. Pour obtenir des instructions, veuillez consulter Connect aux instances de flotte.
Exécutez la commande suivante pour répertorier les conteneurs en cours d'exécution sur l'instance :
sudo docker ps
Le résultat répertorie tous les conteneurs exécutés sur l'instance, y compris les conteneurs du serveur de jeu et les Amazon GameLift Servers conteneurs internes. Recherchez des conteneurs avec l'image de votre serveur de jeu pour identifier les conteneurs du serveur de jeu.
Exemple de sortie :
CONTAINER ID IMAGE COMMAND CREATED STATUS b9676e9489f5 game-server-container "/bin/sh -c ./$GAME_…" 2 days ago Up 2 days 1d1c8443efe2 support-container "/bin/sh -c ./$SUPPO…" 2 days ago Up 2 days
Pour vous connecter à un conteneur de serveur de jeu, utilisez l'identifiant abrégé du conteneur indiqué dans la CONTAINER ID colonne. Cela vous donne un accès complet en lecture et en écriture au système de fichiers conteneur.
sudo docker exec -itcontainer-short-idsh
Connect à un conteneur via la console
Vous pouvez vous connecter aux conteneurs du serveur de jeu 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. Vous pouvez vous connecter à un conteneur depuis l'onglet Calculs ou depuis l'onglet Sessions de jeu sur la page des détails de la flotte.
-
Dans la Amazon GameLift Servers console, choisissez Managed containers dans le volet de navigation, puis Fleets.
-
Choisissez l'identifiant de flotte qui contient le conteneur ou la session de jeu auxquels vous souhaitez accéder.
-
Sur la page des détails de la flotte, sélectionnez l'un des onglets suivants :
Calculs — Répertorie les conteneurs utilisés dans la flotte. Sélectionnez le conteneur auquel vous souhaitez vous connecter.
Sessions de jeu — Répertorie les sessions de jeu de la flotte. Sélectionnez la session de jeu pour vous connecter au conteneur qui l'héberge.
-
Choisissez Se connecter. Copiez la commande affichée pour vous connecter au conteneur, puis choisissez à nouveau Connect.
-
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.
-
Une fois connecté à l'instance, collez la commande docker de l'étape 4 et exécutez-la sur l'instance pour accéder au conteneur.
Connectez-vous au conteneur hébergeant une session de jeu
Pour vous connecter au conteneur du serveur de jeu hébergeant une session de jeu spécifique, procédez comme suit.
-
Obtenez le nom du calcul. Appelez describe-game-sessionspour obtenir les informations
ComputeNamenécessaires à la session de jeu.Demande
aws gamelift describe-game-sessions \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --game-session-id arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66ccRéponse
{ "GameSessions": [ { "GameSessionId": "arn:aws:gamelift:us-west-2::gamesession/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa/gs-1111aaaa-2222-3333-4444-5555bbbb66cc", "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc", "Status": "ACTIVE", . . . } ] }Notez la
ComputeNamevaleur de la réponse (par exemple,62c5ff7f7a9a445d84877074c80aeafc). -
Obtenez un accès au calcul et des attributs de conteneur. Appelez get-compute-accessavec l'ID de flotte et le nom du calcul.
La réponse inclut les champs suivants :
ContainerIdentifiers— LeContainerNameetContainerRuntimeIdpour chaque contenant.GameServerContainerGroupDefinitionArn— L'ARN de la définition du groupe de conteneurs.Credentials— Informations d'identification temporaires pour se connecter à l'instance.
Demande
aws gamelift get-compute-access \ --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \ --compute-name 62c5ff7f7a9a445d84877074c80aeafcRéponse
{ "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc", "ContainerIdentifiers": [ { "ContainerName": "game-server", "ContainerRuntimeId": "02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678" } ], "Credentials": { "AccessKeyId": "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "AQoDYXdzEJr...<remainder of session token>" }, "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa", "GameServerContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroup" } -
Connectez-vous à l’instance. Utilisez les informations d'identification de l'étape 2 pour vous connecter à l'instance de flotte. Pour obtenir des instructions complètes, consultez Connect aux instances de flotte.
-
Trouvez le nom du conteneur du serveur de jeu. Appelez describe-container-group-definitionà l'aide
GameServerContainerGroupDefinitionArnde l'étape 2 pour identifier le nom du conteneur du serveur de jeu.Demande
aws gamelift describe-container-group-definition \ --name arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroupRéponse
{ "ContainerGroupDefinition": { "ContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2:123456789012:containergroupdefinition/MyGameServerGroup:3", "Name": "MyGameServerGroup", "ContainerGroupType": "GAME_SERVER", "GameServerContainerDefinition": { "ContainerName": "game-server", . . . }, . . . } }Notez la
GameServerContainerDefinition.ContainerNamevaleur (par exemple,game-server). -
Identifiez l'ID d'exécution du conteneur du serveur de jeu. À l'aide du nom du conteneur du serveur de jeu indiqué à l'étape précédente, recherchez l'entrée correspondante dans la
get-compute-accessréponseContainerIdentifiersde l'étape 2. Notez la valeurContainerRuntimeId. -
Connect au conteneur. Utilisez le
ContainerRuntimeIdcomme ID de conteneur et exécutez la commande suivante :sudo docker exec -it 02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678 sh