

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.

# Connect zu Containern herstellen
<a name="containers-remote-access"></a>

Bei Amazon GameLift Servers Container-Flotten kannst du auf Gameserver-Container zugreifen, die auf einer Flotteninstanz laufen. Verwenden Sie den Container-Zugriff, um Spielsitzungen zu beheben, Protokolle zu überprüfen und Laufzeitprobleme zu debuggen.

## Mit einem Container verbinden
<a name="containers-remote-access-connect"></a>

**Bevor Sie beginnen:**  
Connect zur Flotteninstanz her. Detaillierte Anweisungen finden Sie unter [Connect zu Flotteninstanzen herstellen](fleets-remote-access.md).

Führen Sie den folgenden Befehl aus, um die auf der Instance laufenden Container aufzulisten:

```
sudo docker ps
```

In der Ausgabe werden alle Container aufgeführt, die auf der Instance ausgeführt werden, einschließlich Spieleserver-Container und interner Amazon GameLift Servers Container. Suchen Sie nach Containern mit Ihrem Gameserver-Image, um die Gameserver-Container zu identifizieren.

**Beispielausgabe:**

```
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
```

Um eine Verbindung zu einem Spieleserver-Container herzustellen, verwende die kurze Container-ID aus der `CONTAINER ID` Spalte. Dadurch erhältst du vollen Lese- und Schreibzugriff auf das Container-Dateisystem.

```
sudo docker exec -it {{container-short-id}} sh
```

## Stellen Sie über die Konsole eine Connect zu einem Container her
<a name="containers-remote-access-console"></a>

Mit Amazon EC2 Systems Manager (SSM) können Sie von der Amazon GameLift Servers Konsole aus eine Verbindung zu Spieleserver-Containern herstellen. Diese Methode bietet sicheren Zugriff, ohne dass eine zusätzliche Einrichtung oder Verwaltung der Anmeldeinformationen erforderlich ist. Sie können entweder über die Registerkarte „**Computer“ oder die Registerkarte „**Spielsitzungen****“ auf der Seite mit den Flottendetails eine Verbindung zu einem Container herstellen.

1. Wählen Sie in der Amazon GameLift Servers Konsole im Navigationsbereich **Verwaltete Container** und dann **Flotten** aus.

1. Wählen Sie die Flotten-ID aus, die den Container oder die Spielsitzung enthält, auf die Sie zugreifen möchten.

1. Wähle auf der Seite mit den Flottendetails einen der folgenden Tabs:
   + **Berechnet** — Listet die Container auf, die auf der Flotte laufen. Wählen Sie den Container aus, zu dem Sie eine Verbindung herstellen möchten.
   + **Spielsitzungen** — Listet die Spielsitzungen für die Flotte auf. Wählen Sie die Spielsitzung aus, um eine Verbindung zu dem Container herzustellen, der sie hostet.

1. Wählen Sie **Connect** aus. Kopieren Sie den angezeigten Befehl, um Connect dem Container herzustellen, und wählen Sie dann erneut **Verbinden**.

1. Wählen Sie im Verbindungsdialogfeld die Option **Ausführen** aus, um eine neue SSM-Sitzung zu erstellen. Das System authentifiziert Ihre Sitzung über den AWS Key Management Service (AWS KMS) und öffnet ein Terminal in Ihrem Browser.

1. Sobald Sie eine Verbindung mit der Instance hergestellt haben, fügen Sie den Docker-Befehl aus Schritt 4 ein und führen Sie ihn auf der Instance aus, um auf den Container zuzugreifen.

## Connect zum Container her, der eine Spielsitzung hostet
<a name="containers-remote-access-game-session"></a>

Gehen Sie wie folgt vor, um eine Verbindung zum Gameserver-Container herzustellen, der eine bestimmte Spielsitzung hostet.

1. **Ermitteln Sie den Computernamen.** Rufen Sie [describe-game-sessions](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-game-sessions.html)an, um das `ComputeName` für die Spielsitzung zu erhalten.

   **Anforderung**

   ```
   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-5555bbbb66cc
   ```

   **Antwort**

   ```
   {
     "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",
         . . .
       }
     ]
   }
   ```

   Notieren Sie sich den `ComputeName` Wert aus der Antwort (z. B.`62c5ff7f7a9a445d84877074c80aeafc`).

1. **Rufen Sie Rechenzugriff und Containerattribute ab.** Rufen Sie [get-compute-access](https://docs.aws.amazon.com/cli/latest/reference/gamelift/get-compute-access.html)mit der Flotten-ID und dem Compute-Namen an.

   Die Antwort umfasst die folgenden Felder:
   + `ContainerIdentifiers`— Das `ContainerName` und `ContainerRuntimeId` für jeden Container.
   + `GameServerContainerGroupDefinitionArn`— Der ARN der Container-Gruppendefinition.
   + `Credentials`— Temporäre Anmeldeinformationen für die Verbindung mit der Instance.

   **Anforderung**

   ```
   aws gamelift get-compute-access \
       --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
       --compute-name 62c5ff7f7a9a445d84877074c80aeafc
   ```

   **Antwort**

   ```
   {
     "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"
   }
   ```

1. **Stellen Sie eine Verbindung zur Instance her.** Verwenden Sie die Anmeldeinformationen aus Schritt 2, um eine Verbindung zur Flotteninstanz herzustellen. Detaillierte Anweisungen finden Sie unter [Connect zu Flotteninstanzen herstellen](fleets-remote-access.md).

1. **Suchen Sie den Namen des Spielserver-Containers.** Rufen Sie [describe-container-group-definition](https://docs.aws.amazon.com/cli/latest/reference/gamelift/describe-container-group-definition.html)mit dem `GameServerContainerGroupDefinitionArn` aus Schritt 2 stammenden Code auf, um den Namen des Gameserver-Containers zu identifizieren.

   **Anforderung**

   ```
   aws gamelift describe-container-group-definition \
       --name arn:aws:gamelift:us-west-2::containergroupdefinition/MyGameServerGroup
   ```

   **Antwort**

   ```
   {
     "ContainerGroupDefinition": {
       "ContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2:123456789012:containergroupdefinition/MyGameServerGroup:3",
       "Name": "MyGameServerGroup",
       "ContainerGroupType": "GAME_SERVER",
       "GameServerContainerDefinition": {
         "ContainerName": "game-server",
         . . .
       },
       . . .
     }
   }
   ```

   Notieren Sie sich den `GameServerContainerDefinition.ContainerName` Wert (zum Beispiel`game-server`).

1. **Identifizieren Sie die Laufzeit-ID des Spielserver-Containers.** Suchen Sie anhand des Namens des Spieleserver-Containers aus dem vorherigen Schritt `ContainerIdentifiers` nach dem passenden Eintrag in der `get-compute-access` Antwort aus Schritt 2. Notieren Sie sich den `ContainerRuntimeId`-Wert.

1. **Connect zum Container her.** Verwenden Sie die `ContainerRuntimeId` als Container-ID und führen Sie den folgenden Befehl aus:

   ```
   sudo docker exec -it 02accb92cd9bef3373300e7151d5c2b3dcca3b06eff1bb4e345085fc008d4678 sh
   ```

## Portzuordnungen von Containern anzeigen
<a name="containers-remote-access-port-mappings"></a>

Portzuordnungen zeigen, wie Container-Ports den Verbindungsports auf Ihren Flotteninstanzen zugeordnet werden. Jedem Container-Port, der eingehenden Datenverkehr akzeptiert, wird ein Verbindungsport auf der Instance zugewiesen. Sie können die Portzuordnungen überprüfen, um herauszufinden, welche Verbindungsports Ihren Container-Ports zugeordnet sind, oder um Verbindungsprobleme zu beheben. Sie können die Portzuordnungen in der Amazon GameLift Servers Konsole anzeigen oder das SDK oder verwenden. AWS CLI AWS 

### Portzuordnungen in der Konsole anzeigen
<a name="containers-remote-access-port-mappings-console"></a>

**Wählen Sie in der Amazon GameLift Servers Konsole im Navigationsbereich **Verwaltete Container** und dann Flotten aus.** Wählen Sie eine Flotte aus, um die Seite mit den Flottendetails zu öffnen. Sie können die Hafenzuordnungen an den folgenden Orten einsehen:
+ **Seite mit den Instanzdetails** — Zeigt Port-Zuordnungen für die Containergruppe pro Instanz auf der ausgewählten Instance an.
+ **Seite mit den Rechendetails** — Zeigt die Port-Zuordnungen für die Spielserver-Containergruppe auf dem ausgewählten Computer an.

Beide Seiten enthalten ein Suchfeld, um Port-Zuordnungen nach dem Container-Namen zu filtern.

### Zeigen Sie Port-Zuordnungen mit dem AWS CLI
<a name="containers-remote-access-port-mappings-cli"></a>

Verwenden Sie den `describe-container-group-port-mappings` Befehl, um Portzuordnungen für eine Containergruppe auf einer Flotteninstanz abzurufen. Geben Sie den Container-Gruppentyp und entweder a `--compute-name` (für Spieleservergruppen) oder an `--instance-id` (für Gruppen pro Instanz) an. Fügen Sie optional den `--container-name` Parameter hinzu, um die Ergebnisse nach einem bestimmten Container zu filtern.

**Beispiel: Spielserver-Containergruppe**

Mit dem folgenden Befehl werden Portzuordnungen für die Spielserver-Containergruppe auf einem bestimmten Computer abgerufen.

```
aws gamelift describe-container-group-port-mappings \
    --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
    --container-group-type GAME_SERVER \
    --compute-name 62c5ff7f7a9a445d84877074c80aeafc
```

Bei Erfolg wird eine Antwort wie die folgende Amazon GameLift Servers zurückgegeben:

```
{
  "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
  "Location": "us-west-2",
  "ContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2:123456789012:containergroupdefinition/MyGameServerGroup",
  "ContainerGroupType": "GAME_SERVER",
  "ComputeName": "62c5ff7f7a9a445d84877074c80aeafc",
  "InstanceId": "i-1234567890abcdef0",
  "ContainerGroupPortMappings": [
    {
      "ContainerName": "MyGameServer",
      "ContainerRuntimeId": "a1b2c3d4e5f6",
      "ContainerPortMappings": [
        {
          "ContainerPort": 7777,
          "ConnectionPort": 1025,
          "Protocol": "UDP"
        },
        {
          "ContainerPort": 8080,
          "ConnectionPort": 1026,
          "Protocol": "TCP"
        }
      ]
    }
  ]
}
```

**Beispiel: Containergruppe pro Instanz**

Mit dem folgenden Befehl werden Portzuordnungen für die Containergruppe pro Instanz auf einer bestimmten Instance abgerufen.

```
aws gamelift describe-container-group-port-mappings \
    --fleet-id fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa \
    --container-group-type PER_INSTANCE \
    --instance-id i-1234567890abcdef0
```

Bei Erfolg wird eine Antwort wie die folgende Amazon GameLift Servers zurückgegeben:

```
{
  "FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
  "Location": "us-west-2",
  "ContainerGroupDefinitionArn": "arn:aws:gamelift:us-west-2:123456789012:containergroupdefinition/MyPerInstanceGroup",
  "ContainerGroupType": "PER_INSTANCE",
  "InstanceId": "i-1234567890abcdef0",
  "ContainerGroupPortMappings": [
    {
      "ContainerName": "MySupportContainer",
      "ContainerRuntimeId": "f6e5d4c3b2a1",
      "ContainerPortMappings": [
        {
          "ContainerPort": 8443,
          "ConnectionPort": 2025,
          "Protocol": "TCP"
        }
      ]
    }
  ]
}
```