

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Admin-Shell für Stream-Sitzungen
<a name="troubleshoot-admin-shell-guide"></a>

Verwenden Sie die [CreateStreamSessionAdminShell](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionAdminShell.html)API, um eine Verbindung zur Live-Laufzeitumgebung Ihrer Stream-Sitzung herzustellen. Verwenden Sie die Terminalverbindung, um Anwendungsprobleme zu beheben, indem Sie Protokolle überprüfen, laufende Prozesse überprüfen, die GPU-Auslastung untersuchen und den Status Ihrer Anwendung in Echtzeit debuggen.

**Wichtig**  
Die Admin-Shell gewährt dieselbe Zugriffsebene wie die Anwendungen, die in der Stream-Sitzung ausgeführt werden. Dazu können Benutzereingaben, Bildschirmbilder und Anwendungsdatendateien gehören. Erteilen `gameliftstreams:CreateStreamSessionAdminShell` Sie Berechtigungen nur vertrauenswürdigen IAM-Identitäten.

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

Bevor Sie mit der Admin-Shell eine Verbindung zu einer Stream-Sitzung herstellen, installieren Sie das AWS Systems Manager Session Manager-Plug-In für AWS Command Line Interface. Das Plugin ist erforderlich, um Terminalverbindungen zu öffnen. Installationsanweisungen finden [Sie unter Installieren des Session Manager-Plug-ins für AWS Command Line Interface](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html).

Das folgende Codebeispiel erfordert [jq](https://jqlang.github.io/jq/), einen JSON-Befehlszeilenprozessor, um Werte aus der API-Antwort zu extrahieren.

Die Stream-Sitzung muss einen der folgenden Status haben:`ACTIVE`,, `CONNECTED` oder. `PENDING_CLIENT_RECONNECTION` `RECONNECTING`

## Connect mit dem Session Manager-Plugin für die her AWS Command Line Interface
<a name="troubleshoot-admin-shell-connect"></a>

Verwenden Sie das AWS CLI , um die Zugangsdaten für die Admin-Shell anzufordern, und verwenden Sie dann das [Session Manager-Plug-In für AWS Command Line Interface, um die](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) Terminalverbindung herzustellen. Verwenden Sie das folgende Codebeispiel, um eine Verbindung herzustellen. Ersetzen Sie `STREAM_GROUP_ID``STREAM_SESSION_ID`, und `REGION` durch Ihre Werte.

**AWS Command Line Interface mit Bash-Skript**

```
#!/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"
```

**Tipp**  
Um aktive Stream-Sitzungen für eine Stream-Gruppe zu finden, verwenden Sie die [ListStreamSessions](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessions.html)API-Operation oder schauen Sie in der Amazon GameLift Streams-Konsole nach.

Wenn Sie Probleme beim Herstellen einer Terminalverbindung haben, finden Sie Lösungen [Probleme mit der Administrator-Shell für Stream-Sitzungen](#troubleshoot-admin-shell) für häufig auftretende Fehler.

## Probleme mit der Administrator-Shell für Stream-Sitzungen
<a name="troubleshoot-admin-shell"></a>

In diesem Abschnitt werden mögliche Ursachen und Lösungen für Probleme im Zusammenhang mit der Verwendung der [CreateStreamSessionAdminShell](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionAdminShell.html)API zum Öffnen einer sicheren Terminalverbindung zur Live-Laufzeitumgebung Ihrer Stream-Sitzung beschrieben.

### Die Terminalverbindung ist noch nicht verfügbar
<a name="troubleshoot-admin-shell-not-ready"></a>

Wenn Sie eine `StreamSessionAccessNotReadyException` (HTTP 409) aufrufen `CreateStreamSessionAdminShell` und empfangen, kann die Terminalverbindung zur Live-Laufzeitumgebung Ihrer Amazon GameLift Streams-Sitzung noch nicht bereitgestellt werden.

So beheben Sie dieses Problem
+ Warten Sie ein paar Sekunden und versuchen Sie es erneut mit der Anfrage. Die Terminalverbindung ist in der Regel verfügbar, kurz nachdem die Stream-Sitzung den `ACTIVE` Status erreicht hat.
+ Wenn der Fehler nach wiederholten Versuchen weiterhin besteht, überprüfen Sie, ob sich die Stream-Sitzung immer noch in einem der folgenden Zustände befindet:`ACTIVE`, `CONNECTED``PENDING_CLIENT_RECONNECTION`, oder `RECONNECTING` rufen Sie auf. [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html)

### Der Zugriff wurde beim Erstellen einer Admin-Shell verweigert
<a name="troubleshoot-admin-shell-access-denied"></a>

Wenn Sie anrufen `CreateStreamSessionAdminShell` und einen Fehler `AccessDeniedException` (HTTP 403) erhalten, verfügt die aufrufende IAM-Identität nicht über die erforderlichen Berechtigungen. Um dieses Problem zu beheben, stellen Sie sicher, dass die IAM-Identität über die `gameliftstreams:CreateStreamSessionAdminShell` Berechtigung für die Zielstream-Gruppenressource verfügt.

### Es kann keine Verbindung zu einer Stream-Sitzung hergestellt werden, die nicht aktiv ist
<a name="troubleshoot-admin-shell-not-active"></a>

Wenn Sie aufrufen `CreateStreamSessionAdminShell` und einen Fehler `ResourceNotFoundException` (HTTP 404) oder `ValidationException` (HTTP 400) erhalten, überprüfen Sie, ob sich die Streamgruppe, die die Stream-Sitzung hostet, im `ACTIVE` Status befindet und dass sich die Stream-Sitzung in einem der folgenden Zustände befindet: `ACTIVE``CONNECTED`,`PENDING_CLIENT_RECONNECTION`, oder`RECONNECTING`.

So beheben Sie dieses Problem
+ Überprüfen Sie den Status der Stream-Gruppe, indem Sie anrufen [GetStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamGroup.html).
+ Überprüfen Sie den Status der Stream-Sitzung, indem Sie aufrufen [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html).
+ Wenn die Sitzung kürzlich gestartet wurde, warten Sie, bis der Sitzungsstatus zu wechselt, `ACTIVE` bevor Sie eine Terminalverbindung anfordern.

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

Wenn Sie eine Verbindung zu dem von zurückgegebenen WebSocket Endpunkt herstellen `CreateStreamSessionAdminShell` und ein Verbindungsfehler angezeigt wird, ist der `StreamUrl` abgelaufen. Es ist 60 Sekunden lang gültig, nachdem Sie es erhalten haben. Wenn Sie die Verbindung nicht innerhalb dieser Zeit herstellen, läuft die URL ab.

So beheben Sie dieses Problem
+ Rufen Sie `CreateStreamSessionAdminShell` erneut an, um ein neues `StreamUrl``SessionId`, und zu erhalten`TokenValue`.
+ Stellen Sie die Verbindung innerhalb von 60 Sekunden nach Erhalt der Antwort her.

### Das Session Manager-Plugin ist nicht installiert
<a name="troubleshoot-admin-shell-plugin-missing"></a>

Wenn Sie versuchen, mit den von zurückgegebenen Anmeldeinformationen eine Verbindung herzustellen `CreateStreamSessionAdminShell` und die Verbindung fehlschlägt und eine Meldung angezeigt wird, dass das Session Manager-Plug-In fehlt, müssen Sie das AWS Systems Manager Session Manager-Plug-In für die AWS CLI installieren.

So beheben Sie dieses Problem
+ Installieren Sie das Session Manager-Plug-In für die AWS CLI. Installationsanweisungen finden [Sie unter Installieren des Session Manager-Plug-ins für die AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) im *AWS Systems Manager Manager-Benutzerhandbuch*.
+ Stellen Sie sicher, dass das Plugin installiert ist, indem Sie es `session-manager-plugin` von Ihrem Terminal aus ausführen.

### Die Admin-Shell wird unerwartet geschlossen
<a name="troubleshoot-admin-shell-closes"></a>

Wenn Ihre Terminalverbindung während der Verwendung plötzlich unterbrochen wird, wurde sie möglicherweise aus einem der folgenden Gründe geschlossen:
+ Die Terminalverbindung ist auf den Lebenszyklus der Stream-Sitzung beschränkt und endet, wenn die Stream-Sitzung in den Status oder übergeht. `TERMINATED` `ERROR`
+ Die Terminalverbindung hat ihre maximale Dauer von 30 Minuten überschritten.
+ Die Terminalverbindung hat ihr Leerlauf-Timeout von 15 Minuten überschritten.

So beheben Sie dieses Problem
+ Vergewissern Sie sich, dass sich die Stream-Sitzung nicht im `ERROR` Status `TERMINATED` oder befindet, indem Sie aufrufen [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html).
+ Wenn die Terminalverbindung aufgrund von Leerlauf oder maximaler Dauer unterbrochen wurde, rufen Sie `CreateStreamSessionAdminShell` erneut an, um eine neue Terminalverbindung zu öffnen.
+ Wenn die Stream-Sitzung beendet ist, starten Sie eine neue Stream-Sitzung, um eine neue Terminalverbindung zu öffnen.