

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.

# Interface d'administration de session de streaming
<a name="troubleshoot-admin-shell-guide"></a>

Utilisez l'[CreateStreamSessionAdminShell](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionAdminShell.html)API pour vous connecter à l'environnement d'exécution en direct de votre session de streaming. Utilisez la connexion au terminal pour résoudre les problèmes liés aux applications en inspectant les journaux, en vérifiant les processus en cours, en examinant l'utilisation du GPU et en déboguant l'état de votre application en temps réel.

**Important**  
Le shell d'administration accorde le même niveau d'accès que les applications exécutées lors de la session de streaming, ce qui peut inclure les entrées utilisateur, les images d'écran et les fichiers de données d'application. Accordez `gameliftstreams:CreateStreamSessionAdminShell` des autorisations uniquement aux identités IAM fiables.

## Conditions préalables
<a name="troubleshoot-admin-shell-prerequisites"></a>

Avant de vous connecter à une session de streaming avec le shell d'administration, installez le plugin AWS Systems Manager Session Manager pour le AWS Command Line Interface. Le plugin est nécessaire pour ouvrir les connexions aux terminaux. Pour les instructions d'installation, voir [Installer le plug-in Session Manager pour le AWS Command Line Interface](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html).

L'exemple de code ci-dessous nécessite [jq](https://jqlang.github.io/jq/), un processeur JSON en ligne de commande, pour extraire les valeurs de la réponse de l'API.

La session de diffusion doit avoir l'un des statuts suivants :`ACTIVE`, `CONNECTED``PENDING_CLIENT_RECONNECTION`, ou`RECONNECTING`.

## Connectez-vous à l'aide du plug-in Session Manager pour AWS Command Line Interface
<a name="troubleshoot-admin-shell-connect"></a>

Utilisez le AWS CLI pour demander les informations d'accès au shell d'administration, puis utilisez le [plug-in Session Manager AWS Command Line Interface pour](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) établir la connexion au terminal. Utilisez l'exemple de code suivant pour vous connecter. Remplacez `STREAM_GROUP_ID``STREAM_SESSION_ID`, et `REGION` par vos valeurs.

**AWS Command Line Interface avec le script Bash**

```
#!/bin/bash
# GameLift Streams session with admin shell script
# This script sets up a terminal connection to an Amazon GameLift Streams session
# using the AWS Systems Manager Session Manager Plugin

# Stream group ARN or ID owning the session
STREAM_GROUP_ID="arn:aws:gameliftstreams:us-west-2:123456789012:streamgroup/sg-1AB2C3De4"

# Stream session ARN or ID to connect to
STREAM_SESSION_ID="arn:aws:gameliftstreams:us-west-2:123456789012:streamsession/sg-1AB2C3De4/44wOYoDXlRbtf"

# AWS Region where you created the stream group (primary location)
REGION="us-west-2"

# Request admin shell access
SESSION_ACCESS=$(aws gameliftstreams create-stream-session-admin-shell \
    --identifier "${STREAM_GROUP_ID}" \
    --stream-session-identifier "${STREAM_SESSION_ID}" \
    --region "${REGION}" \
    --output json)

# Extract session ID and connect using Session Manager plugin
SESSION_ID=$(echo "$SESSION_ACCESS" | jq -r .SessionId)

# Connect using the API response (the plugin extracts StreamUrl and TokenValue)
# The connection URL expires 60 seconds after the API response.
session-manager-plugin \
    "$SESSION_ACCESS" \
    "${REGION}" \
    "StartSession" \
    "" \
    "{\"Target\":\"$SESSION_ID\"}" \
    "https://ssm.${REGION}.api.aws"
```

**Astuce**  
Pour rechercher des sessions de diffusion actives pour un groupe de flux, utilisez l'opération [ListStreamSessions](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessions.html)API ou consultez la console Amazon GameLift Streams.

Si vous ne parvenez pas à établir une connexion au terminal, consultez [Problèmes du shell d'administration de la session Stream](#troubleshoot-admin-shell) les solutions aux erreurs courantes.

## Problèmes du shell d'administration de la session Stream
<a name="troubleshoot-admin-shell"></a>

Cette section identifie les causes potentielles et les solutions aux problèmes liés à l'utilisation de l'[CreateStreamSessionAdminShell](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionAdminShell.html)API pour ouvrir une connexion de terminal sécurisée dans l'environnement d'exécution en direct de votre session de diffusion.

### La connexion au terminal n'est pas encore disponible
<a name="troubleshoot-admin-shell-not-ready"></a>

Si vous appelez `CreateStreamSessionAdminShell` et recevez un `StreamSessionAccessNotReadyException` (HTTP 409), la connexion du terminal à l'environnement d'exécution en direct de votre session Amazon GameLift Streams ne peut pas encore être configurée.

Pour résoudre ce problème :
+ Patientez quelques secondes et réessayez la demande. La connexion au terminal devient généralement disponible peu de temps après que la session de diffusion soit entrée dans l'`ACTIVE`état.
+ Si l'erreur persiste après plusieurs tentatives, vérifiez que la session de diffusion est toujours dans l'un des états suivants :`ACTIVE`, `CONNECTED``PENDING_CLIENT_RECONNECTION`, ou `RECONNECTING` en appelant [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html).

### Accès refusé lors de la création d'un shell d'administration
<a name="troubleshoot-admin-shell-access-denied"></a>

Si vous appelez `CreateStreamSessionAdminShell` et recevez une erreur `AccessDeniedException` (HTTP 403), l'identité IAM appelante ne dispose pas des autorisations requises. Pour résoudre ce problème, vérifiez que l'identité IAM est `gameliftstreams:CreateStreamSessionAdminShell` autorisée à accéder à la ressource du groupe de flux cible.

### Impossible de se connecter à une session de streaming qui n'est pas active
<a name="troubleshoot-admin-shell-not-active"></a>

Si vous appelez `CreateStreamSessionAdminShell` et recevez une erreur `ResourceNotFoundException` (HTTP 404) ou `ValidationException` (HTTP 400), vérifiez que le groupe de flux hébergeant la session de diffusion est dans `ACTIVE` l'état et que la session de diffusion est dans l'un des états suivants : `ACTIVE``CONNECTED`,`PENDING_CLIENT_RECONNECTION`, ou`RECONNECTING`.

Pour résoudre ce problème :
+ Vérifiez l'état du groupe de diffusion en appelant [GetStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamGroup.html).
+ Vérifiez l'état de la session de diffusion en appelant [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html).
+ Si la session a récemment démarré, attendez que l'état de la session passe à zéro `ACTIVE` avant de demander une connexion au terminal.

### StreamUrl a expiré
<a name="troubleshoot-admin-shell-url-expired"></a>

Si vous vous connectez au WebSocket point de terminaison renvoyé par `CreateStreamSessionAdminShell` et que vous recevez une erreur de connexion, celui-ci `StreamUrl` a expiré. Il est valide pendant 60 secondes après l'avoir reçu. Si vous n'établissez pas la connexion dans ce délai, l'URL expire.

Pour résoudre ce problème :
+ Appelez à `CreateStreamSessionAdminShell` nouveau pour obtenir un nouveau`StreamUrl`,`SessionId`, et`TokenValue`.
+ Établissez la connexion dans les 60 secondes suivant la réception de la réponse.

### Le plugin Session Manager n'est pas installé
<a name="troubleshoot-admin-shell-plugin-missing"></a>

Si vous tentez de vous connecter à l'aide des informations d'identification renvoyées par `CreateStreamSessionAdminShell` et que la connexion échoue avec un message indiquant que le plug-in Session Manager est manquant, vous devez installer le plug-in AWS Systems Manager Session Manager pour la AWS CLI.

Pour résoudre ce problème :
+ Installez le plug-in Session Manager pour la AWS CLI. Pour les instructions d'installation, voir [Installer le plug-in Session Manager pour la AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) dans le *Guide de l'utilisateur de AWS Systems Manager*.
+ Vérifiez que le plugin est installé en l'exécutant `session-manager-plugin` depuis votre terminal.

### Le shell d'administration se ferme de façon inattendue
<a name="troubleshoot-admin-shell-closes"></a>

Si la connexion de votre terminal se déconnecte brusquement en cours d'utilisation, il se peut qu'il se soit fermé pour l'une des raisons suivantes :
+ La connexion au terminal est limitée au cycle de vie de la session de diffusion et prend fin lorsque la session de diffusion passe à `ERROR` l'état `TERMINATED` ou.
+ La connexion du terminal a dépassé sa durée maximale de 30 minutes.
+ La connexion du terminal a dépassé son délai d'inactivité de 15 minutes.

Pour résoudre ce problème :
+ Vérifiez que la session de diffusion n'est pas dans un `ERROR` état `TERMINATED` ou en appelant [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html).
+ Si le délai de connexion du terminal a expiré en raison d'une période d'inactivité ou d'une durée maximale, appelez à `CreateStreamSessionAdminShell` nouveau pour ouvrir une nouvelle connexion au terminal.
+ Si la session de diffusion est terminée, lancez une nouvelle session de diffusion pour ouvrir une nouvelle connexion au terminal.