

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Shell de administração da sessão de streaming
<a name="troubleshoot-admin-shell-guide"></a>

Use a [CreateStreamSessionAdminShell](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionAdminShell.html)API para se conectar ao ambiente de execução ao vivo da sua sessão de transmissão. Use a conexão do terminal para solucionar problemas de aplicativos inspecionando registros, verificando processos em execução, examinando a utilização da GPU e depurando o estado do aplicativo em tempo real.

**Importante**  
O shell de administração concede o mesmo nível de acesso que os aplicativos em execução na sessão de streaming, o que pode incluir entradas do usuário, imagens de tela e arquivos de dados do aplicativo. Conceda `gameliftstreams:CreateStreamSessionAdminShell` permissões somente para identidades confiáveis do IAM.

## Pré-requisitos
<a name="troubleshoot-admin-shell-prerequisites"></a>

Antes de se conectar a uma sessão de stream com o shell de administração, instale o plug-in AWS Systems Manager Session Manager para AWS Command Line Interface o. O plug-in é necessário para abrir as conexões do terminal. Para obter instruções de instalação, consulte [Instalar o plug-in do Gerenciador de Sessões para AWS Command Line Interface](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) o.

O exemplo de código abaixo exige que o [jq](https://jqlang.github.io/jq/), um processador JSON de linha de comando, extraia valores da resposta da API.

A sessão de streaming deve estar em um dos seguintes status:`ACTIVE`,, `CONNECTED``PENDING_CLIENT_RECONNECTION`, ou`RECONNECTING`.

## Conecte-se usando o plug-in Session Manager para o AWS Command Line Interface
<a name="troubleshoot-admin-shell-connect"></a>

Use o AWS CLI para solicitar as credenciais de acesso ao shell de administrador e, em seguida, use o [plug-in do Gerenciador de Sessões AWS Command Line Interface](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) para estabelecer a conexão do terminal. Use o exemplo de código a seguir para se conectar. Substitua `STREAM_GROUP_ID``STREAM_SESSION_ID`,, e `REGION` por seus valores.

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

**dica**  
Para encontrar sessões de stream ativas para um grupo de streams, use a operação de [ListStreamSessions](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessions.html)API ou verifique o console do Amazon GameLift Streams.

Se você tiver problemas para estabelecer uma conexão de terminal, consulte as soluções [Problemas do shell do administrador da sessão de streaming](#troubleshoot-admin-shell) para erros comuns.

## Problemas do shell do administrador da sessão de streaming
<a name="troubleshoot-admin-shell"></a>

Esta seção identifica possíveis causas e soluções para problemas relacionados ao uso da [CreateStreamSessionAdminShell](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionAdminShell.html)API para abrir uma conexão de terminal segura no ambiente de tempo de execução ao vivo da sua sessão de transmissão.

### A conexão do terminal ainda não está disponível
<a name="troubleshoot-admin-shell-not-ready"></a>

Se você ligar `CreateStreamSessionAdminShell` e receber um `StreamSessionAccessNotReadyException` (HTTP 409), a conexão do terminal com o ambiente de tempo de execução ao vivo da sua sessão do Amazon GameLift Streams ainda não poderá ser provisionada.

Para resolver esse problema:
+ Aguarde alguns segundos e repita a solicitação. A conexão do terminal normalmente fica disponível logo após a sessão de streaming entrar no `ACTIVE` estado.
+ Se o erro persistir após repetidas tentativas, verifique se a sessão de streaming ainda está em um dos seguintes estados:`ACTIVE`,, `CONNECTED``PENDING_CLIENT_RECONNECTION`, ou `RECONNECTING` ligando. [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html)

### Acesso negado ao criar um shell de administração
<a name="troubleshoot-admin-shell-access-denied"></a>

Se você ligar `CreateStreamSessionAdminShell` e receber um erro `AccessDeniedException` (HTTP 403), a identidade IAM de chamada não tem as permissões necessárias. Para resolver esse problema, verifique se a identidade do IAM tem `gameliftstreams:CreateStreamSessionAdminShell` permissão para o recurso do grupo de stream de destino.

### Não é possível se conectar a uma sessão de stream que não esteja ativa
<a name="troubleshoot-admin-shell-not-active"></a>

Se você ligar `CreateStreamSessionAdminShell` e receber um erro `ResourceNotFoundException` (HTTP 404) ou `ValidationException` (HTTP 400), verifique se o grupo de stream que hospeda a sessão de stream está no `ACTIVE` estado e se a sessão de stream está em um dos seguintes estados:`ACTIVE`,, `CONNECTED``PENDING_CLIENT_RECONNECTION`, ou`RECONNECTING`.

Para resolver esse problema:
+ Verifique o estado do grupo de stream ligando [GetStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamGroup.html).
+ Verifique o estado da sessão de streaming ligando [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html).
+ Se a sessão foi iniciada recentemente, aguarde até que o status da sessão mude para `ACTIVE` antes de solicitar uma conexão de terminal.

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

Se você se conectar ao WebSocket endpoint retornado `CreateStreamSessionAdminShell` e receber um erro de conexão, isso significa `StreamUrl` que ele expirou. É válido por 60 segundos após você recebê-lo. Se você não estabelecer a conexão dentro desse período, o URL expirará.

Para resolver esse problema:
+ Ligue `CreateStreamSessionAdminShell` novamente para obter um novo `StreamUrl``SessionId`, `TokenValue` e.
+ Estabeleça a conexão dentro de 60 segundos após receber a resposta.

### O plug-in do Session Manager não está instalado
<a name="troubleshoot-admin-shell-plugin-missing"></a>

Se você tentar se conectar usando as credenciais retornadas por `CreateStreamSessionAdminShell` e a conexão falhar com uma mensagem indicando que o plug-in do Session Manager está ausente, você precisará instalar o plug-in do AWS Systems Manager Session Manager para a AWS CLI.

Para resolver esse problema:
+ Instale o plug-in do Gerenciador de Sessões para a AWS CLI. Para obter instruções de instalação, consulte [Instalar o plug-in do Session Manager para a AWS CLI no Guia](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) do *usuário do AWS Systems Manager*.
+ Verifique se o plug-in está instalado executando `session-manager-plugin` a partir do seu terminal.

### O shell do administrador fecha inesperadamente
<a name="troubleshoot-admin-shell-closes"></a>

Se a conexão do terminal se desconectar abruptamente durante o uso, ela pode ter sido fechada por um dos seguintes motivos:
+ A conexão do terminal tem como escopo o ciclo de vida da sessão de stream e termina quando a sessão de stream passa para um estado or. `TERMINATED` `ERROR`
+ A conexão do terminal excedeu sua duração máxima de 30 minutos.
+ A conexão do terminal excedeu seu tempo limite de inatividade de 15 minutos.

Para resolver esse problema:
+ Verifique se a sessão de streaming não está em um `ERROR` estado `TERMINATED` or ligando para [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html).
+ Se a conexão do terminal expirou devido à inatividade ou à duração máxima, ligue `CreateStreamSessionAdminShell` novamente para abrir uma nova conexão de terminal.
+ Se a sessão de stream tiver terminado, inicie uma nova sessão de stream para abrir uma nova conexão de terminal.