

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Shell di amministrazione della sessione di streaming
<a name="troubleshoot-admin-shell-guide"></a>

Usa l'[CreateStreamSessionAdminShell](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionAdminShell.html)API per connetterti all'ambiente di runtime live della tua sessione di streaming. Utilizza la connessione terminale per risolvere i problemi delle applicazioni ispezionando i log, controllando i processi in esecuzione, esaminando l'utilizzo della GPU ed eseguendo il debug dello stato dell'applicazione in tempo reale.

**Importante**  
La shell di amministrazione garantisce lo stesso livello di accesso delle applicazioni in esecuzione nella sessione di streaming, che può includere input dell'utente, immagini dello schermo e file di dati dell'applicazione. Concedi `gameliftstreams:CreateStreamSessionAdminShell` le autorizzazioni solo a identità IAM affidabili.

## Prerequisiti
<a name="troubleshoot-admin-shell-prerequisites"></a>

Prima di connetterti a una sessione di streaming con la shell di amministrazione, installa il plug-in AWS Systems Manager Session Manager per AWS Command Line Interface. Il plugin è necessario per aprire le connessioni terminali. Per le istruzioni di installazione, consulta [Installare il plug-in Session Manager per AWS Command Line Interface](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html).

L'esempio di codice riportato di seguito richiede [jq](https://jqlang.github.io/jq/), un processore JSON a riga di comando, per estrarre i valori dalla risposta dell'API.

La sessione di streaming deve essere in uno dei seguenti stati:`ACTIVE`,, o. `CONNECTED` `PENDING_CLIENT_RECONNECTION` `RECONNECTING`

## Connect utilizzando il plugin Session Manager per AWS Command Line Interface
<a name="troubleshoot-admin-shell-connect"></a>

Utilizzate il AWS CLI per richiedere le credenziali di accesso alla shell di amministrazione, quindi utilizzate il [plugin Session Manager per AWS Command Line Interface stabilire la](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) connessione al terminale. Usa il seguente esempio di codice per connetterti. Sostituisci `STREAM_GROUP_ID` e `REGION` con i tuoi valori. `STREAM_SESSION_ID`

**AWS Command Line Interface con lo 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"
```

**Suggerimento**  
Per trovare sessioni di streaming attive per un gruppo di stream, utilizza l'operazione [ListStreamSessions](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessions.html)API o controlla la console Amazon GameLift Streams.

Se hai problemi a stabilire una connessione terminale, consulta le soluzioni [Problemi relativi alla shell di amministrazione della sessione di streaming](#troubleshoot-admin-shell) agli errori più comuni.

## Problemi relativi alla shell di amministrazione della sessione di streaming
<a name="troubleshoot-admin-shell"></a>

Questa sezione identifica le potenziali cause e soluzioni ai problemi relativi all'utilizzo dell'[CreateStreamSessionAdminShell](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionAdminShell.html)API per aprire una connessione terminale sicura nell'ambiente di runtime live della sessione di streaming.

### La connessione al terminale non è ancora disponibile
<a name="troubleshoot-admin-shell-not-ready"></a>

Se chiami `CreateStreamSessionAdminShell` e ricevi un `StreamSessionAccessNotReadyException` (HTTP 409), non è ancora possibile effettuare il provisioning della connessione terminale all'ambiente di runtime live della sessione Amazon GameLift Streams.

Per risolvere il problema:
+ Attendi qualche secondo e riprova la richiesta. La connessione terminale in genere diventa disponibile poco dopo l'entrata `ACTIVE` dello stato della sessione di streaming.
+ Se l'errore persiste dopo ripetuti tentativi, verifica che la sessione di streaming sia ancora in uno dei seguenti stati:`ACTIVE`, `CONNECTED``PENDING_CLIENT_RECONNECTION`, o `RECONNECTING` chiamando. [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html)

### Accesso negato durante la creazione di una shell di amministrazione
<a name="troubleshoot-admin-shell-access-denied"></a>

Se chiami `CreateStreamSessionAdminShell` e ricevi un errore `AccessDeniedException` (HTTP 403), l'identità IAM chiamante non dispone delle autorizzazioni richieste. Per risolvere questo problema, verifica che l'identità IAM disponga dell'`gameliftstreams:CreateStreamSessionAdminShell`autorizzazione per la risorsa del gruppo di stream di destinazione.

### Impossibile connettersi a una sessione di streaming non attiva
<a name="troubleshoot-admin-shell-not-active"></a>

Se chiami `CreateStreamSessionAdminShell` e ricevi un errore `ResourceNotFoundException` (HTTP 404) o `ValidationException` (HTTP 400), verifica che il gruppo di stream che ospita la sessione di streaming sia in `ACTIVE` stato e che la sessione di streaming si trovi in uno dei seguenti stati: `ACTIVE``CONNECTED`,`PENDING_CLIENT_RECONNECTION`, o`RECONNECTING`.

Per risolvere il problema:
+ Verifica lo stato del gruppo di stream chiamando [GetStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamGroup.html).
+ Verifica lo stato della sessione di streaming chiamando [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html).
+ Se la sessione è iniziata di recente, attendi che lo stato della sessione venga ripristinato `ACTIVE` prima di richiedere una connessione terminale.

### StreamUrl è scaduta
<a name="troubleshoot-admin-shell-url-expired"></a>

Se ti connetti all' WebSocket endpoint restituito da `CreateStreamSessionAdminShell` e ricevi un errore di connessione, significa che `StreamUrl` è scaduto. È valido per 60 secondi dalla ricezione. Se non si stabilisce la connessione entro tale periodo, l'URL scade.

Per risolvere il problema:
+ Chiama di `CreateStreamSessionAdminShell` nuovo per ottenere un nuovo `StreamUrl``SessionId`, e`TokenValue`.
+ Stabilire la connessione entro 60 secondi dalla ricezione della risposta.

### Il plugin Session Manager non è installato
<a name="troubleshoot-admin-shell-plugin-missing"></a>

Se si tenta di connettersi utilizzando le credenziali restituite da `CreateStreamSessionAdminShell` e la connessione non riesce con un messaggio che indica che il plug-in Session Manager è mancante, è necessario installare il plug-in AWS Systems Manager Session Manager per la AWS CLI.

Per risolvere il problema:
+ Installa il plug-in Session Manager per la AWS CLI. Per istruzioni di installazione, vedere [Installazione del plug-in Session Manager per la AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) nella Guida per l'*utente di AWS Systems Manager*.
+ Verifica che il plugin sia installato eseguendolo `session-manager-plugin` dal tuo terminale.

### La shell di amministrazione si chiude in modo imprevisto
<a name="troubleshoot-admin-shell-closes"></a>

Se la connessione del terminale si disconnette bruscamente durante l'uso, potrebbe essersi chiusa per uno dei seguenti motivi:
+ La connessione terminale è limitata al ciclo di vita della sessione di streaming e termina quando la sessione di streaming passa a uno stato or. `TERMINATED` `ERROR`
+ La connessione al terminale ha superato la durata massima di 30 minuti.
+ La connessione al terminale ha superato il timeout di inattività di 15 minuti.

Per risolvere il problema:
+ Verifica che la sessione di streaming non sia in `ERROR` stato `TERMINATED` or chiamando. [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html)
+ Se la connessione al terminale è scaduta a causa dell'inattività o della durata massima, chiama `CreateStreamSessionAdminShell` nuovamente per aprire una nuova connessione terminale.
+ Se la sessione di streaming è terminata, avvia una nuova sessione di streaming per aprire una nuova connessione terminale.