

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.

# Debug ist eingebaut AWS CodeBuild
<a name="debug-builds"></a>

AWS CodeBuild bietet zwei Methoden zum Debuggen von Builds während der Entwicklung und zur Fehlerbehebung. Sie können die CodeBuild Sandbox-Umgebung verwenden, um Probleme zu untersuchen und Korrekturen in Echtzeit zu validieren, oder Sie können AWS Systems Manager Session Manager verwenden, um eine Verbindung zum Build-Container herzustellen und den Status des Containers anzuzeigen.

## Debuggen Sie Builds mit Sandbox CodeBuild
<a name="debug-codebuild-sandbox"></a>

Die CodeBuild Sandbox-Umgebung bietet eine interaktive Debug-Sitzung in einer sicheren und isolierten Umgebung. Sie können über das AWS-Managementkonsole oder direkt mit der Umgebung interagieren AWS CLI, Befehle ausführen und Ihren Build-Prozess Schritt für Schritt validieren. Es verwendet ein kostengünstiges Abrechnungsmodell pro Sekunde und unterstützt dieselbe native Integration mit Quellanbietern und AWS -diensten wie Ihre Build-Umgebung. Sie können auch über SSH-Clients oder über Ihre integrierten Entwicklungsumgebungen () eine Verbindung zu einer Sandbox-Umgebung herstellen. IDEs

[Weitere Informationen zu den CodeBuild Sandbox-Preisen finden Sie in der CodeBuild Preisdokumentation.](https://aws.amazon.com/codebuild/pricing/#Sandbox) Eine ausführliche Anleitung finden Sie in der [Builds mit CodeBuild Sandbox debuggen](sandbox.md) Dokumentation.

## Debuggen Sie Builds mit Session Manager
<a name="debug-codebuild-session-manager"></a>

AWS Systems Manager Session Manager ermöglicht den direkten Zugriff auf laufende Builds in ihrer tatsächlichen Ausführungsumgebung. Dieser Ansatz ermöglicht es Ihnen, eine Verbindung zu aktiven Build-Containern herzustellen und den Build-Prozess in Echtzeit zu überprüfen. Sie können das Dateisystem untersuchen, laufende Prozesse überwachen und auftretende Probleme beheben.

Eine ausführliche Anleitung finden Sie in der [Builds mit Session Manager debuggen](session-manager.md) Dokumentation.

# Builds mit CodeBuild Sandbox debuggen
<a name="sandbox"></a>

In können Sie einen Build debuggen AWS CodeBuild, indem Sie die CodeBuild Sandbox verwenden, um benutzerdefinierte Befehle auszuführen und Fehler bei Ihrem Build zu beheben.

**Topics**
+ [Voraussetzungen](#sandbox-prereq)
+ [Debuggen Sie Builds mit CodeBuild Sandbox (Konsole)](#sandbox-console)
+ [Debuggen Sie Builds mit CodeBuild sandbox ()AWS CLI](#sandbox-cli)
+ [Tutorial: Mit SSH eine Verbindung zu einer Sandbox herstellen](sandbox-ssh-tutorial.md)
+ [Behebung von SSH-Verbindungsproblemen mit der AWS CodeBuild Sandbox](sandbox-troubleshooting.md)

## Voraussetzungen
<a name="sandbox-prereq"></a>

Bevor Sie eine CodeBuild Sandbox verwenden, stellen Sie sicher, dass für Ihre CodeBuild Servicerolle die folgende SSM-Richtlinie gilt:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:CreateControlChannel",
                "ssmmessages:CreateDataChannel",
                "ssmmessages:OpenControlChannel",
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:codebuild:us-east-1:111122223333:build/*",
                "arn:aws:ssm:us-east-1::document/AWS-StartSSHSession"
            ]
        }
    ]
}
```

------

## Debuggen Sie Builds mit CodeBuild Sandbox (Konsole)
<a name="sandbox-console"></a>

Verwenden Sie die folgenden Anweisungen, um Befehle auszuführen und Ihren SSH-Client mit der CodeBuild Sandbox in der Konsole zu verbinden.

### Führen Sie Befehle mit der CodeBuild Sandbox (Konsole) aus
<a name="sandbox-console.commands"></a>

1. Öffnen Sie die AWS CodeBuild Konsole unter [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Wählen Sie im linken Navigationsbereich **Build projects** aus. **Wählen Sie das Build-Projekt und dann Debug Build aus.**  
![\[Die Detailseite des Debug-Build-Projekts in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/sandbox-debug-build.png)

1. Geben Sie auf der Registerkarte **Befehl ausführen** Ihre benutzerdefinierten Befehle ein und wählen Sie dann **Befehl ausführen** aus.  
![\[Die Detailseite zum Ausführen des Befehls in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/debug-build-run.png)

1. Ihre CodeBuild Sandbox wird dann initialisiert und beginnt mit der Ausführung Ihrer benutzerdefinierten Befehle. Die Ausgabe wird auf der Registerkarte **Ausgabe** angezeigt, wenn sie abgeschlossen ist.   
![\[Die Ausgabeseite für den Run-Befehl in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/debug-build-run-output.png)

1. Wenn die Problembehandlung abgeschlossen ist, können Sie die Sandbox beenden, indem Sie Sandbox **beenden** wählen. Wählen Sie dann **Stopp**, um zu bestätigen, dass Ihre Sandbox gestoppt wird.  
![\[Das Dialogfeld „Sandbox beenden“.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/stop-sandbox.png)  
![\[Die Ausgabeseite für den Run-Befehl mit einer angehaltenen Sandbox in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/stopped-sandbox.png)

### Stellen Sie mit CodeBuild Sandbox (Konsole) eine Connect zu Ihrem SSH-Client her
<a name="sandbox-console.ssh"></a>

1. [Öffnen Sie die AWS CodeBuild Konsole unter https://console.aws.amazon.com/codesuite/ codebuild/home.](https://console.aws.amazon.com/codesuite/codebuild/home)

1. Wählen Sie im linken Navigationsbereich **Build projects** aus. **Wählen Sie das Build-Projekt und dann Debug Build aus.**  
![\[Die Detailseite des Debug-Build-Projekts in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/sandbox-debug-build.png)

1. Wählen Sie auf der Registerkarte **SSH-Client** die Option Sandbox **starten** aus.  
![\[Die Sandbox-Seite des SSH-Clients in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/ssh-client-sandbox.png)

1. Folgen Sie nach dem Start der CodeBuild Sandbox den Anweisungen der Konsole, um Ihren SSH-Client mit der Sandbox zu verbinden.  
![\[Die Sandbox-Seite des SSH-Clients in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/ssh-client-sandbox-terminal.png)

1. **Wenn die Fehlerbehebung abgeschlossen ist, können Sie die Sandbox beenden, indem Sie Sandbox beenden wählen.** Wählen Sie dann **Stopp**, um zu bestätigen, dass Ihre Sandbox gestoppt wird.  
![\[Das Dialogfeld „Sandbox beenden“.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/stop-sandbox-2.png)  
![\[Die Ausgabeseite für den Run-Befehl mit einer angehaltenen Sandbox in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/stopped-sandbox-2.png)

## Debuggen Sie Builds mit CodeBuild sandbox ()AWS CLI
<a name="sandbox-cli"></a>

Verwenden Sie die folgenden Anweisungen, um Befehle auszuführen und Ihren SSH-Client mit der Sandbox zu verbinden. CodeBuild 

### Starten Sie eine CodeBuild Sandbox ()AWS CLI
<a name="sandbox-cli.start-sandbox"></a>

------
#### [ CLI command ]

```
aws codebuild start-sandbox --project-name $PROJECT_NAME
```
+ `--project-name`: CodeBuild Projektname

------
#### [ Sample request ]

```
aws codebuild start-sandbox --project-name "project-name"
```

------
#### [ Sample response ]

```
{
    "id": "project-name",
    "arn": "arn:aws:codebuild:us-west-2:962803963624:sandbox/project-name",
    "projectName": "project-name",
    "requestTime": "2025-02-06T11:24:15.560000-08:00",
    "status": "QUEUED",
    "source": {
        "type": "S3",
        "location": "arn:aws:s3:::cofa-e2e-test-1-us-west-2-beta-default-build-sources/eb-sample-jetty-v4.zip",
        "insecureSsl": false
    },
    "environment": {
        "type": "LINUX_CONTAINER",
        "image": "aws/codebuild/standard:6.0",
        "computeType": "BUILD_GENERAL1_SMALL",
        "environmentVariables": [{
                "name": "foo",
                "value": "bar",
                "type": "PLAINTEXT"
            },
            {
                "name": "bar",
                "value": "baz",
                "type": "PLAINTEXT"
            }
        ],
        "privilegedMode": false,
        "imagePullCredentialsType": "CODEBUILD"
    },
    "timeoutInMinutes": 10,
    "queuedTimeoutInMinutes": 480,
    "logConfig": {
        "cloudWatchLogs": {
            "status": "ENABLED",
            "groupName": "group",
            "streamName": "stream"
        },
        "s3Logs": {
            "status": "ENABLED",
            "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
            "encryptionDisabled": false
        }
    },
    "encryptionKey": "arn:aws:kms:us-west-2:962803963624:alias/SampleEncryptionKey",
    "serviceRole": "arn:aws:iam::962803963624:role/BuildExecutionServiceRole",
    "currentSession": {
        "id": "0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
        "currentPhase": "QUEUED",
        "status": "QUEUED",
        "startTime": "2025-02-06T11:24:15.626000-08:00",
        "logs": {
            "groupName": "group",
            "streamName": "stream/0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
            "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logsV2:log-groups/log-group/group/log-events/stream$252F0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
            "s3DeepLink": "https://s3.console.aws.amazon.com/s3/object/codefactory-test-pool-1-us-west-2-beta-default-build-logs/0103e0e7-52aa-4a3d-81dd-bfc27226fa54.gz?region=us-west-2",
            "cloudWatchLogsArn": "arn:aws:logs:us-west-2:962803963624:log-group:group:log-stream:stream/0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
            "s3LogsArn": "arn:aws:s3:::codefactory-test-pool-1-us-west-2-beta-default-build-logs/0103e0e7-52aa-4a3d-81dd-bfc27226fa54.gz",
            "cloudWatchLogs": {
                "status": "ENABLED",
                "groupName": "group",
                "streamName": "stream"
            },
            "s3Logs": {
                "status": "ENABLED",
                "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
                "encryptionDisabled": false
            }
        }
    }
}
```

------

### Ruft Informationen über den Sandbox-Status ab ()AWS CLI
<a name="sandbox-cli.batch-get-sandboxes"></a>

------
#### [ CLI command ]

```
aws codebuild batch-get-sandboxes --ids $SANDBOX_IDs
```

------
#### [ Sample request ]

```
aws codebuild stop-sandbox --id "arn:aws:codebuild:us-west-2:962803963624:sandbox/project-name"
```
+ `--ids`: Kommagetrennte Liste von oder. `sandboxIds` `sandboxArns`

Sie können entweder eine Sandbox-ID oder einen Sandbox-ARN angeben:
+ Sandbox-ID: `<codebuild-project-name>:<UUID>`

  Beispiel, `project-name:d25be134-05cb-404a-85da-ac5f85d2d72c`.
+ Sandbox-ARN: arn:aws:codebuild: ::sandbox/: *<region>* *<account-id>* *<codebuild-project-name>* *<UUID>*

  Beispiel, `arn:aws:codebuild:us-west-2:962803963624:sandbox/project-name:d25be134-05cb-404a-85da-ac5f85d2d72c`.

------
#### [ Sample response ]

```
{
    "sandboxes": [{
        "id": "project-name",
        "arn": "arn:aws:codebuild:us-west-2:962803963624:sandbox/project-name",
        "projectName": "project-name",
        "requestTime": "2025-02-06T11:24:15.560000-08:00",
        "endTime": "2025-02-06T11:39:21.587000-08:00",
        "status": "STOPPED",
        "source": {
            "type": "S3",
            "location": "arn:aws:s3:::cofa-e2e-test-1-us-west-2-beta-default-build-sources/eb-sample-jetty-v4.zip",
            "insecureSsl": false
        },
        "environment": {
            "type": "LINUX_CONTAINER",
            "image": "aws/codebuild/standard:6.0",
            "computeType": "BUILD_GENERAL1_SMALL",
            "environmentVariables": [{
                    "name": "foo",
                    "value": "bar",
                    "type": "PLAINTEXT"
                },
                {
                    "name": "bar",
                    "value": "baz",
                    "type": "PLAINTEXT"
                }
            ],
            "privilegedMode": false,
            "imagePullCredentialsType": "CODEBUILD"
        },
        "timeoutInMinutes": 10,
        "queuedTimeoutInMinutes": 480,
        "logConfig": {
            "cloudWatchLogs": {
                "status": "ENABLED",
                "groupName": "group",
                "streamName": "stream"
            },
            "s3Logs": {
                "status": "ENABLED",
                "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
                "encryptionDisabled": false
            }
        },
        "encryptionKey": "arn:aws:kms:us-west-2:962803963624:alias/SampleEncryptionKey",
        "serviceRole": "arn:aws:iam::962803963624:role/BuildExecutionServiceRole",
        "currentSession": {
            "id": "0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
            "currentPhase": "COMPLETED",
            "status": "STOPPED",
            "startTime": "2025-02-06T11:24:15.626000-08:00",
            "endTime": "2025-02-06T11:39:21.600000-08:00",
            "phases": [{
                    "phaseType": "SUBMITTED",
                    "phaseStatus": "SUCCEEDED",
                    "startTime": "2025-02-06T11:24:15.577000-08:00",
                    "endTime": "2025-02-06T11:24:15.606000-08:00",
                    "durationInSeconds": 0
                },
                {
                    "phaseType": "QUEUED",
                    "phaseStatus": "SUCCEEDED",
                    "startTime": "2025-02-06T11:24:15.606000-08:00",
                    "endTime": "2025-02-06T11:24:16.067000-08:00",
                    "durationInSeconds": 0
                },
                {
                    "phaseType": "PROVISIONING",
                    "phaseStatus": "SUCCEEDED",
                    "startTime": "2025-02-06T11:24:16.067000-08:00",
                    "endTime": "2025-02-06T11:24:20.519000-08:00",
                    "durationInSeconds": 4,
                    "contexts": [{
                        "statusCode": "",
                        "message": ""
                    }]
                },
                {
                    "phaseType": "DOWNLOAD_SOURCE",
                    "phaseStatus": "SUCCEEDED",
                    "startTime": "2025-02-06T11:24:20.519000-08:00",
                    "endTime": "2025-02-06T11:24:22.238000-08:00",
                    "durationInSeconds": 1,
                    "contexts": [{
                        "statusCode": "",
                        "message": ""
                    }]
                },
                {
                    "phaseType": "RUNNING_SANDBOX",
                    "phaseStatus": "TIMED_OUT",
                    "startTime": "2025-02-06T11:24:22.238000-08:00",
                    "endTime": "2025-02-06T11:39:21.560000-08:00",
                    "durationInSeconds": 899,
                    "contexts": [{
                        "statusCode": "BUILD_TIMED_OUT",
                        "message": "Build has timed out. "
                    }]
                },
                {
                    "phaseType": "COMPLETED",
                    "startTime": "2025-02-06T11:39:21.560000-08:00"
                }
            ],
            "logs": {
                "groupName": "group",
                "streamName": "stream/0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
                "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logsV2:log-groups/log-group/group/log-events/stream$252F0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
                "s3DeepLink": "https://s3.console.aws.amazon.com/s3/object/codefactory-test-pool-1-us-west-2-beta-default-build-logs/0103e0e7-52aa-4a3d-81dd-bfc27226fa54.gz?region=us-west-2",
                "cloudWatchLogsArn": "arn:aws:logs:us-west-2:962803963624:log-group:group:log-stream:stream/0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
                "s3LogsArn": "arn:aws:s3:::codefactory-test-pool-1-us-west-2-beta-default-build-logs/0103e0e7-52aa-4a3d-81dd-bfc27226fa54.gz",
                "cloudWatchLogs": {
                    "status": "ENABLED",
                    "groupName": "group",
                    "streamName": "stream"
                },
                "s3Logs": {
                    "status": "ENABLED",
                    "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
                    "encryptionDisabled": false
                }
            }
        }
    }],
    "sandboxesNotFound": []
}
```

------

### Stoppen Sie eine Sandbox AWS CLI()
<a name="sandbox-cli.stop-sandbox"></a>

------
#### [ CLI command ]

```
aws codebuild stop-sandbox --id $SANDBOX-ID
```
+ `--id`: A `sandboxId` oder`sandboxArn`.

------
#### [ Sample request ]

```
aws codebuild stop-sandbox --id "arn:aws:codebuild:us-west-2:962803963624:sandbox/project-name"
```

------
#### [ Sample response ]

```
{
    "id": "project-name",
    "arn": "arn:aws:codebuild:us-west-2:962803963624:sandbox/project-name",
    "projectName": "project-name",
    "requestTime": "2025-02-06T11:24:15.560000-08:00",
    "status": "STOPPING",
    "source": {
        "type": "S3",
        "location": "arn:aws:s3:::cofa-e2e-test-1-us-west-2-beta-default-build-sources/eb-sample-jetty-v4.zip",
        "insecureSsl": false
    },
    "environment": {
        "type": "LINUX_CONTAINER",
        "image": "aws/codebuild/standard:6.0",
        "computeType": "BUILD_GENERAL1_SMALL",
        "environmentVariables": [{
                "name": "foo",
                "value": "bar",
                "type": "PLAINTEXT"
            },
            {
                "name": "bar",
                "value": "baz",
                "type": "PLAINTEXT"
            }
        ],
        "privilegedMode": false,
        "imagePullCredentialsType": "CODEBUILD"
    },
    "timeoutInMinutes": 10,
    "queuedTimeoutInMinutes": 480,
    "logConfig": {
        "cloudWatchLogs": {
            "status": "ENABLED",
            "groupName": "group",
            "streamName": "stream"
        },
        "s3Logs": {
            "status": "ENABLED",
            "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
            "encryptionDisabled": false
        }
    },
    "encryptionKey": "arn:aws:kms:us-west-2:962803963624:alias/SampleEncryptionKey",
    "serviceRole": "arn:aws:iam::962803963624:role/BuildExecutionServiceRole",
    "currentSession": {
        "id": "0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
        "currentPhase": "RUN_SANDBOX",
        "status": "STOPPING",
        "startTime": "2025-02-06T11:24:15.626000-08:00",
        "phases": [{
                "phaseType": "SUBMITTED",
                "phaseStatus": "SUCCEEDED",
                "startTime": "2025-02-08T14:33:26.144000-08:00",
                "endTime": "2025-02-08T14:33:26.173000-08:00",
                "durationInSeconds": 0
            },
            {
                "phaseType": "QUEUED",
                "phaseStatus": "SUCCEEDED",
                "startTime": "2025-02-08T14:33:26.173000-08:00",
                "endTime": "2025-02-08T14:33:26.702000-08:00",
                "durationInSeconds": 0
            },
            {
                "phaseType": "PROVISIONING",
                "phaseStatus": "SUCCEEDED",
                "startTime": "2025-02-08T14:33:26.702000-08:00",
                "endTime": "2025-02-08T14:33:30.530000-08:00",
                "durationInSeconds": 3,
                "contexts": [{
                    "statusCode": "",
                    "message": ""
                }]
            },
            {
                "phaseType": "DOWNLOAD_SOURCE",
                "phaseStatus": "SUCCEEDED",
                "startTime": "2025-02-08T14:33:30.530000-08:00",
                "endTime": "2025-02-08T14:33:33.478000-08:00",
                "durationInSeconds": 2,
                "contexts": [{
                    "statusCode": "",
                    "message": ""
                }]
            },
            {
                "phaseType": "RUN_SANDBOX",
                "startTime": "2025-02-08T14:33:33.478000-08:00"
            }
        ],
        "logs": {
            "groupName": "group",
            "streamName": "stream/0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
            "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logsV2:log-groups/log-group/group/log-events/stream$252F0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
            "s3DeepLink": "https://s3.console.aws.amazon.com/s3/object/codefactory-test-pool-1-us-west-2-beta-default-build-logs/0103e0e7-52aa-4a3d-81dd-bfc27226fa54.gz?region=us-west-2",
            "cloudWatchLogsArn": "arn:aws:logs:us-west-2:962803963624:log-group:group:log-stream:stream/0103e0e7-52aa-4a3d-81dd-bfc27226fa54",
            "s3LogsArn": "arn:aws:s3:::codefactory-test-pool-1-us-west-2-beta-default-build-logs/0103e0e7-52aa-4a3d-81dd-bfc27226fa54.gz",
            "cloudWatchLogs": {
                "status": "ENABLED",
                "groupName": "group",
                "streamName": "stream"
            },
            "s3Logs": {
                "status": "ENABLED",
                "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
                "encryptionDisabled": false
            }
        }
    }
}
```

------

### Startet die Ausführung eines Befehls (AWS CLI)
<a name="sandbox-cli.start-command-execution"></a>

------
#### [ CLI command ]

```
aws codebuild start-command-execution --command $COMMAND --type $TYPE --sandbox-id $SANDBOX-ID
```
+ `--command`: Der Befehl, der ausgeführt werden muss.
+ `--sandbox-id`: A `sandboxId` oder`sandboxArn`.
+ `--type`: Der Befehlstyp,`SHELL`.

------
#### [ Sample request ]

```
aws codebuild start-command-execution --command "echo "Hello World"" --type SHELL --sandbox-id "arn:aws:codebuild:us-west-2:962803963624:sandbox/project-name
```

------
#### [ Sample response ]

```
{
    "id": "e1c658c2-02bb-42a8-9abb-94835241fcd6",
    "sandboxId": "f7126a4a-b0d5-452f-814c-fea73718f805",
    "submitTime": "2025-02-06T20:12:02.683000-08:00",
    "status": "SUBMITTED",
    "command": "echo \"Hello World\"",
    "type": "SHELL",
    "logs": {
        "groupName": "group",
        "streamName": "stream",
        "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logsV2:log-groups/log-group/group/log-events/stream",
        "s3DeepLink": "https://s3.console.aws.amazon.com/s3/object/codefactory-test-pool-1-us-west-2-beta-default-build-logs/f7126a4a-b0d5-452f-814c-fea73718f805.gz?region=us-west-2",
        "cloudWatchLogsArn": "arn:aws:logs:us-west-2:962803963624:log-group:group:log-stream:stream",
        "s3LogsArn": "arn:aws:s3:::codefactory-test-pool-1-us-west-2-beta-default-build-logs/f7126a4a-b0d5-452f-814c-fea73718f805.gz",
        "cloudWatchLogs": {
            "status": "ENABLED",
            "groupName": "group",
            "streamName": "stream"
        },
        "s3Logs": {
            "status": "ENABLED",
            "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
            "encryptionDisabled": false
        }
    }
}
```

------

### Ruft Informationen über die Befehlsausführungen ab ()AWS CLI
<a name="sandbox-cli.batch-get-command-executions"></a>

------
#### [ CLI command ]

```
aws codebuild batch-get-command-executions --command-execution-ids $COMMAND-IDs --sandbox-id $SANDBOX-IDs
```
+ `--command-execution-ids`: Kommagetrennte Liste von. `commandExecutionIds`
+ `--sandbox-id`: A `sandboxId` oder`sandboxArn`.

------
#### [ Sample request ]

```
aws codebuild batch-get-command-executions --command-execution-ids"c3c085ed-5a8f-4531-8e95-87d547f27ffd" --sandbox-id "arn:aws:codebuild:us-west-2:962803963624:sandbox/project-name"
```

------
#### [ Sample response ]

```
{
    "commandExecutions": [{
        "id": "c3c085ed-5a8f-4531-8e95-87d547f27ffd",
        "sandboxId": "cd71e456-2a4c-4db4-ada5-da892b0bba05",
        "submitTime": "2025-02-10T20:18:17.118000-08:00",
        "startTime": "2025-02-10T20:18:17.939000-08:00",
        "endTime": "2025-02-10T20:18:17.976000-08:00",
        "status": "SUCCEEDED",
        "command": "echo \"Hello World\"",
        "type": "SHELL",
        "exitCode": "0",
        "standardOutputContent": "Hello World\n",
        "logs": {
            "groupName": "group",
            "streamName": "stream",
            "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logsV2:log-groups/log-group/group/log-events/stream",
            "s3DeepLink": "https://s3.console.aws.amazon.com/s3/object/codefactory-test-pool-1-us-west-2-beta-default-build-logs/cd71e456-2a4c-4db4-ada5-da892b0bba05.gz?region=us-west-2",
            "cloudWatchLogsArn": "arn:aws:logs:us-west-2:962803963624:log-group:group:log-stream:stream",
            "s3LogsArn": "arn:aws:s3:::codefactory-test-pool-1-us-west-2-beta-default-build-logs/cd71e456-2a4c-4db4-ada5-da892b0bba05.gz",
            "cloudWatchLogs": {
                "status": "ENABLED",
                "groupName": "group",
                "streamName": "stream"
            },
            "s3Logs": {
                "status": "ENABLED",
                "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
                "encryptionDisabled": false
            }
        }
    }],
    "commandExecutionsNotFound": []
}
```

------

### Listet Befehlsausführungen für eine Sandbox auf ()AWS CLI
<a name="sandbox-cli.list-command-executions-for-sandbox"></a>

------
#### [ CLI command ]

```
aws codebuild list-command-executions-for-sandbox --sandbox-id $SANDBOX-ID --next-token $NEXT_TOKEN --max-results $MAX_RESULTS --sort-order $SORT_ORDER
```
+ `--next-token`: Das nächste Token, falls vorhanden, für das paginierte Ergebnisse abgerufen werden. Sie erhalten diesen Wert aus der vorherigen Ausführung von Listen-Sandboxes.
+ `--max-results`: (Optional) Die maximale Anzahl von Sandbox-Datensätzen, die abgerufen werden können.
+ `--sort-order`: Die Reihenfolge, in der Sandbox-Datensätze abgerufen werden sollen.

------
#### [ Sample request ]

```
aws codebuild list-command-executions-for-sandbox --sandbox-id "arn:aws:codebuild:us-west-2:962803963624:sandbox/project-name"
```

------
#### [ Sample response ]

```
{
    "commandExecutions": [{
            "id": "aad6687e-07bc-45ab-a1fd-f5440229b528",
            "sandboxId": "cd71e456-2a4c-4db4-ada5-da892b0bba05",
            "submitTime": "2025-02-10T20:18:35.304000-08:00",
            "startTime": "2025-02-10T20:18:35.615000-08:00",
            "endTime": "2025-02-10T20:18:35.651000-08:00",
            "status": "FAILED",
            "command": "fail command",
            "type": "SHELL",
            "exitCode": "127",
            "standardErrContent": "/codebuild/output/tmp/script.sh: 4: fail: not found\n",
            "logs": {
                "groupName": "group",
                "streamName": "stream",
                "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logsV2:log-groups/log-group/group/log-events/stream",
                "s3DeepLink": "https://s3.console.aws.amazon.com/s3/object/codefactory-test-pool-1-us-west-2-beta-default-build-logs/cd71e456-2a4c-4db4-ada5-da892b0bba05.gz?region=us-west-2",
                "cloudWatchLogsArn": "arn:aws:logs:us-west-2:962803963624:log-group:group:log-stream:stream",
                "s3LogsArn": "arn:aws:s3:::codefactory-test-pool-1-us-west-2-beta-default-build-logs/cd71e456-2a4c-4db4-ada5-da892b0bba05.gz",
                "cloudWatchLogs": {
                    "status": "ENABLED",
                    "groupName": "group",
                    "streamName": "stream"
                },
                "s3Logs": {
                    "status": "ENABLED",
                    "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
                    "encryptionDisabled": false
                }
            }
        },
        {
            "id": "c3c085ed-5a8f-4531-8e95-87d547f27ffd",
            "sandboxId": "cd71e456-2a4c-4db4-ada5-da892b0bba05",
            "submitTime": "2025-02-10T20:18:17.118000-08:00",
            "startTime": "2025-02-10T20:18:17.939000-08:00",
            "endTime": "2025-02-10T20:18:17.976000-08:00",
            "status": "SUCCEEDED",
            "command": "echo \"Hello World\"",
            "type": "SHELL",
            "exitCode": "0",
            "standardOutputContent": "Hello World\n",
            "logs": {
                "groupName": "group",
                "streamName": "stream",
                "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-west-2#logsV2:log-groups/log-group/group/log-events/stream",
                "s3DeepLink": "https://s3.console.aws.amazon.com/s3/object/codefactory-test-pool-1-us-west-2-beta-default-build-logs/cd71e456-2a4c-4db4-ada5-da892b0bba05.gz?region=us-west-2",
                "cloudWatchLogsArn": "arn:aws:logs:us-west-2:962803963624:log-group:group:log-stream:stream",
                "s3LogsArn": "arn:aws:s3:::codefactory-test-pool-1-us-west-2-beta-default-build-logs/cd71e456-2a4c-4db4-ada5-da892b0bba05.gz",
                "cloudWatchLogs": {
                    "status": "ENABLED",
                    "groupName": "group",
                    "streamName": "stream"
                },
                "s3Logs": {
                    "status": "ENABLED",
                    "location": "codefactory-test-pool-1-us-west-2-beta-default-build-logs",
                    "encryptionDisabled": false
                }
            }
        }
    ]
}
```

------

### Sandboxen auflisten ()AWS CLI
<a name="sandbox-cli.list-sandboxes"></a>

------
#### [ CLI command ]

```
aws codebuild list-sandboxes --next-token $NEXT_TOKEN --max-results $MAX_RESULTS --sort-order $SORT_ORDER
```

------
#### [ Sample request ]

```
aws codebuild list-sandboxes
```

------
#### [ Sample response ]

```
{
    "ids": [
        "s3-log-project-integ-test-temp173925062814985d64e0f-7880-41df-9a3c-fb6597a266d2:827a5243-0841-4b69-a720-4438796f6967",
        "s3-log-project-integ-test-temp1739249999716bbd438dd-8bb8-47bd-ba6b-0133ac65b3d3:e2fa4eab-73af-42e3-8903-92fddaf9f378",
        "s3-log-project-integ-test-temp17392474779450fbdacc2-2d6e-4190-9ad5-28f891bb7415:cd71e456-2a4c-4db4-ada5-da892b0bba05",
        "s3-log-project-integ-test-temp17392246284164301421c-5030-4fa1-b4d3-ca15e44771c5:9e26ab3f-65e4-4896-a19c-56b1a95e630a",
        "s3-log-project-integ-test-temp173921367319497056d8d-6d8e-4f5a-a37c-a62f5686731f:22d91b06-df1e-4e9c-a664-c0abb8d5920b",
        "s3-log-project-integ-test-temp1739213439503f6283f19-390c-4dc8-95a9-c8480113384a:82cc413e-fc46-47ab-898f-ae23c83a613f",
        "s3-log-project-integ-test-temp1739054385570b1f1ddc2-0a23-4062-bd0c-24e9e4a99b99:c02562f3-2396-42ec-98da-38e3fe5da13a",
        "s3-log-project-integ-test-temp173905400540237dab1ac-1fde-4dfb-a8f5-c0114333dc89:d2f30493-f65e-4fa0-a7b6-08a5e77497b9",
        "s3-log-project-integ-test-temp17390534055719c534090-7bc4-48f1-92c5-34acaec5bf1e:df5f1c8a-f017-43b7-91ba-ad2619e2c059",
        "s3-log-project-integ-test-temp1739052719086a61813cc-ebb9-4db4-9391-7f43cc984ee4:d61917ec-8037-4647-8d52-060349272c4a",
        "s3-log-project-integ-test-temp173898670094078b67edb-c42f-42ed-9db2-4b5c1a5fc66a:ce33dfbc-beeb-4466-8c99-a3734a0392c7",
        "s3-log-project-integ-test-temp17389863425584d21b7cd-32e2-4f11-9175-72c89ecaffef:046dadf0-1f3a-4d51-a2c0-e88361924acf",
        "s3-log-project-integ-test-temp1738985884273977ccd23-394b-46cc-90d3-7ab94cf764dc:0370dc41-9339-4b0a-91ed-51929761b244",
        "s3-log-project-integ-test-temp1738985365972241b614f-8e41-4387-bd25-2b8351fbc9e0:076c392a-9630-47d8-85a9-116aa34edfff",
        "s3-log-project-integ-test-temp1738985043988a51a9e2b-09d6-4d24-9c3c-1e6e21ac9fa8:6ea3949c-435b-4177-aa4d-614d5956244c",
        "s3-log-project-integ-test-temp1738984123354c68b31ad-49d1-4f4b-981d-b66c00565ff6:6c3fff6c-815b-48b5-ada3-737400a6dee8",
        "s3-log-project-integ-test-temp1738977263715d4d5bf6c-370a-48bf-8ea6-905358a6cf92:968a0f54-724a-42d1-9207-6ed854b2fae8",
        "s3-log-project-integ-test-temp173897358796816ce8d7d-2a5e-41ef-855b-4a94a8d2795d:80f9a7ce-930a-402e-934e-d8b511d68b04",
        "s3-log-project-integ-test-temp17389730633301af5e452-0966-467c-b684-4e36d47f568c:cabbe989-2e8a-473c-af25-32edc8c28646",
        "s3-log-project-integ-test-temp1738901503813173fd468-b723-4d7b-9f9f-82e88d17f264:f7126a4a-b0d5-452f-814c-fea73718f805",
        "s3-log-project-integ-test-temp1738890502472c13616fb-bd0f-4253-86cc-28b74c97a0ba:c6f197e5-3a53-45b6-863e-0e6353375437",
        "s3-log-project-integ-test-temp17388903044683610daf3-8da7-43c6-8580-9978432432ce:d20aa317-8838-4966-bbfc-85b908213df1",
        "s3-log-project-integ-test-temp173888857196780b5ab8b-e54b-44fd-a222-c5a374fffe96:ab4b9970-ffae-47a0-b3a8-7b6790008cad",
        "s3-log-project-integ-test-temp1738888336931c11d378d-e74d-49a4-a723-3b92e6f7daac:4922f0e8-9b7d-4119-9c9f-115cd85e703e",
        "s3-log-project-integ-test-temp17388881717651612a397-c23f-4d88-ba87-2773cd3fc0c9:be91c3fc-418e-4feb-8a3a-ba58ff8f4e8a",
        "s3-log-project-integ-test-temp17388879727174c3c62ed-6195-4afb-8a03-59674d0e1187:a48826a8-3c0d-43c5-a1b5-1c98a0f978e9",
        "s3-log-project-integ-test-temp1738885948597cef305e4-b8b4-46b0-a65b-e2d0a7b83294:c050e77d-e3f8-4829-9a60-46149628fe96",
        "s3-log-project-integ-test-temp173888561463001a7d2a8-e4e4-4434-94db-09d3da9a9e17:8c3ac3f5-7111-4297-aec9-2470d3ead873",
        "s3-log-project-integ-test-temp1738869855076eb19cafd-04fe-41bd-8aa0-40826d0c0d27:d25be134-05cb-404a-85da-ac5f85d2d72c",
        "s3-project-integ-test-temp1738868157467148eacfc-d39b-49fc-a137-e55381cd2978:4909557b-c221-4814-b4b6-7d9e93d37c35",
        "s3-project-integ-test-temp1738820926895abec0af2-e33d-473c-9cf4-2122dd9d6876:8f5cf218-71d6-40a4-a4be-6cacebd7765f",
        "s3-project-integ-test-temp173881998877574f969a6-1c2e-4441-b463-ab175b45ce32:04396851-c901-4986-9117-585528e3877f",
        "s3-project-integ-test-temp17388189812309abd2604-29ba-4cf6-b6bf-073207b7db9c:540075c7-f5ec-41e8-9341-2233c09247eb",
        "s3-project-integ-test-temp1738818843474d3ea9ac1-b609-461b-bbdb-2da245c9bc96:865d4c3c-fbfe-4ece-9c92-d0c928341404",
        "s3-project-integ-test-temp1738818542236006e9169-e6d9-4344-9b59-f557e7aec619:1f9ffa87-da15-4290-83e2-eebdd877497b",
        "s3-project-integ-test-temp173881809557486ad11fd-7931-48d7-81d5-499cea52a6bc:c4c2efc4-685f-4e13-8b0f-1ef85ec300b1",
        "s3-project-integ-test-temp173881794103322941020-3f0b-49c3-b836-fcd818ec9484:0344cfba-de48-456d-b2a8-6566bd4a5d6e",
        "s3-project-integ-test-temp1738817680747b93d0d0b-ea16-497f-9559-af25ee6dcfdf:654a3a55-d92a-4dc6-8da8-56fd4d40d7e1",
        "s3-project-integ-test-temp17388174027191255c3da-086c-4270-b047-acac0b7bee0d:b7e82740-2c69-42fc-ab5a-dbf15bc016a1",
        "s3-project-integ-test-temp1738817099799016e7fa3-b9b5-46a2-bcd5-0888c646743f:8705a6a4-79ff-427a-a1c3-85c4e8fe462e",
        "s3-project-integ-test-temp1738816479281bb0c3606-5ebf-4623-bed5-12b60e9d3512:f23fc74b-a981-4835-8e28-375fcd4c99e4",
        "s3-project-integ-test-temp1738816263585c939a133-4d37-482c-9238-1dbff34b7674:ca28e234-0045-4ae6-8732-938b17597f50",
        "s3-project-integ-test-temp173881580873072d18733-8fe4-43b1-83f7-95f25bb27ccf:c6f0f55b-5736-47c7-a3aa-1b8461a6d5ed"
    ]
}
```

------

# Tutorial: Mit SSH eine Verbindung zu einer Sandbox herstellen
<a name="sandbox-ssh-tutorial"></a>

Dieses Tutorial zeigt Ihnen, wie Sie mithilfe eines SSH-Clients eine Verbindung zu einer CodeBuild Sandbox herstellen.

Um dieses Tutorial abzuschließen, müssen Sie zunächst:
+ Stellen Sie sicher, dass Sie über ein bestehendes AWS CodeBuild Projekt verfügen.
+ Richten Sie die entsprechenden IAM-Berechtigungen ein, die für Ihre CodeBuild Projektrolle konfiguriert sind. 
+ Installieren und konfigurieren Sie AWS CLI auf Ihrem lokalen Computer.

## Schritt 1: Starten Sie eine Sandbox
<a name="sandbox-ssh-tutorial.start-sandbox"></a>

**Um eine CodeBuild Sandbox in der Konsole zu starten**

1. Öffnen Sie die AWS CodeBuild Konsole unter [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Wählen Sie im linken Navigationsbereich **Build projects** aus. **Wählen Sie das Build-Projekt und dann Debug Build aus.**  
![\[Die Detailseite des Build-Projekts in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/project-debug-build.png)

1. Wählen Sie auf der Registerkarte **SSH-Client** die Option **Sandbox starten** aus.  
![\[Die Registerkarte „SSH-Client“ in der Konsole mit der Schaltfläche „Sandbox starten“.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/ssh-client-sandbox.png)

1. Der Sandbox-Initialisierungsprozess kann einige Zeit in Anspruch nehmen. Sie können eine Verbindung zur Sandbox herstellen, wenn sich ihr Status auf ändert. `RUN_SANDDBOX`  
![\[Die SSH-Sandbox-Verbindung ändert sich nach dem Status auf „RUN_SANDDBOX“.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/run-sandbox.png)

## Schritt 2: Ändern Sie die lokale SSH-Konfiguration
<a name="sandbox-ssh-tutorial.modify-ssh"></a>

Wenn Sie zum ersten Mal eine Verbindung zur Sandbox herstellen, müssen Sie einen einmaligen Einrichtungsvorgang mit den folgenden Schritten durchführen:

**Um die lokale SSH-Konfiguration in der Konsole zu ändern**

1. Suchen Sie die Setup-Befehle für Ihr Betriebssystem.

1. Öffnen Sie Ihr lokales Terminal, kopieren Sie dann die bereitgestellten Befehle und führen Sie sie aus, um das Skript herunterzuladen und auszuführen, um Ihre lokale SSH-Konfiguration einzurichten. Wenn Ihr Betriebssystem beispielsweise macOS ist, verwenden Sie den folgenden Befehl:  
![\[Die macOS-Befehle für die SSH-Verbindung zur CodeBuild Sandbox in der Konsole.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/modify-ssh-macOS.png)

1. Das Konfigurationsskript fügt die erforderlichen Konfigurationen für die Verbindung zu Ihren Sandboxen hinzu. Sie werden aufgefordert, diese Änderungen zu akzeptieren.

1. Nach erfolgreicher Konfiguration wird ein neuer SSH-Konfigurationseintrag für die CodeBuild Sandbox erstellt.  
![\[Eine erfolgreiche SSH-Sandbox-Verbindung.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/ssh-terminal-success.png)

## Schritt 3: Connect zur Sandbox her
<a name="sandbox-ssh-tutorial.connect-sandbox"></a>

**Um die lokale SSH-Konfiguration in der Konsole zu ändern**

1. Konfigurieren Sie die AWS CLI Authentifizierung und stellen Sie sicher, dass Ihr AWS CLI Benutzer über die entsprechenden `codebuild:StartSandboxConnection` Berechtigungen verfügt. Weitere Informationen finden Sie unter [Authentifizierung mithilfe von IAM-Benutzeranmeldedaten AWS CLI im Benutzerhandbuch für](https://docs.aws.amazon.com/cli/v1/userguide/cli-authentication-user.html) *die AWS Befehlszeilenschnittstelle für Version 1.*

1. Stellen Sie mit dem folgenden Befehl eine Connect zu Ihrer Sandbox her:

   ```
   ssh codebuild-sandbox-ssh=arn:aws:codebuild:us-east-1:<account-id>:sandbox/<sandbox-id>
   ```
**Anmerkung**  
Um Verbindungsfehler zu beheben, verwenden Sie das `-v` Flag, um die ausführliche Ausgabe zu aktivieren. Beispiel, `ssh -v codebuild-sandbox-ssh=arn:aws:codebuild:us-east-1:<account-id>:sandbox/<sandbox-id>`.  
Weitere Hinweise zur Problembehebung finden Sie unter[Behebung von SSH-Verbindungsproblemen mit der AWS CodeBuild Sandbox](sandbox-troubleshooting.md).

## Schritt 4: Überprüfen Sie Ihre Ergebnisse
<a name="sandbox-ssh-tutorial.review-results"></a>

Sobald die Verbindung hergestellt ist, können Sie Build-Fehler debuggen, Build-Befehle testen, mit Konfigurationsänderungen experimentieren und Umgebungsvariablen und Abhängigkeiten mit Ihrer Sandbox überprüfen.

# Behebung von SSH-Verbindungsproblemen mit der AWS CodeBuild Sandbox
<a name="sandbox-troubleshooting"></a>

Verwenden Sie die Informationen in diesem Thema, um SSH-Verbindungsprobleme mit der CodeBuild Sandbox zu identifizieren, zu diagnostizieren und zu beheben.

**Topics**
+ [`StartSandboxConnection``InvalidInputException`Fehler beim Zugriff auf eine Sandbox-Umgebung per SSH CodeBuild](#sandbox-troubleshooting.invalid-input)
+ [Fehler: „Anmeldeinformationen konnten nicht gefunden werden“, wenn Sie eine SSH-Verbindung zur Sandbox-Umgebung herstellen CodeBuild](#sandbox-troubleshooting.credentials)
+ [`StartSandboxConnection``AccessDeniedException`Fehler beim Zugriff auf eine CodeBuild Sandbox-Umgebung per SSH](#sandbox-troubleshooting.access-denied)
+ [Fehler: „ssh: Hostname konnte nicht aufgelöst werden“ bei SSH in die Sandbox-Umgebung CodeBuild](#sandbox-troubleshooting.hostname)

## `StartSandboxConnection``InvalidInputException`Fehler beim Zugriff auf eine Sandbox-Umgebung per SSH CodeBuild
<a name="sandbox-troubleshooting.invalid-input"></a>

**Problem:** Wenn Sie versuchen, mithilfe des Befehls eine Verbindung zu einer CodeBuild Sandbox-Umgebung herzustellen`ssh codebuild-sandbox-ssh=<sandbox-arn>`, kann ein `InvalidInputException` Fehler auftreten, z. B.:

```
An error occurred (InvalidInputException) when calling the StartSandboxConnection 
operation: Failed to start SSM session for {sandbox-arn}
User: arn:aws:sts::<account-ID>:assumed-role/<service-role-name>/AWSCodeBuild-<UUID> 
is not authorized to perform: ssm:StartSession on resource.
```

```
An error occurred (InvalidInputException) when calling the StartSandboxConnection 
operation: Failed to start SSM session for 
sandbox <sandbox-arn>: codebuild:<UUID> is not connected.
```

**Mögliche Ursache:**
+ Fehlender Amazon EC2 Systems Manager Manager-Agent: Auf dem Build-Image ist der SSM-Agent nicht ordnungsgemäß installiert oder konfiguriert.
+ Unzureichende Berechtigungen: Der CodeBuild Projekt-Servicerolle fehlen die erforderlichen SSM-Berechtigungen.

**Empfohlene Lösung:** Wenn Sie ein benutzerdefiniertes Image für Ihren Build verwenden, gehen Sie wie folgt vor.

1. Installieren Sie den SSM Agent. Weitere Informationen finden Sie unter [Manuelles Installieren und Deinstallieren des SSM-Agenten auf Amazon EC2 EC2-Instances für Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html) in der. ** Die SSM-Agent-Version muss oder höher sein. `3.0.1295.0`

1. Kopieren Sie die Datei [ https://github.com/aws/aws-codebuild-docker-images/blob/master/ubuntu/standard/7.0/amazon-ssm-agent.json](https://github.com/aws/aws-codebuild-docker-images/blob/master/ubuntu/standard/7.0/amazon-ssm-agent.json) in das Verzeichnis in Ihrem Image. `/etc/amazon/ssm/` Dadurch wird der **Container-Modus im** SSM-Agent aktiviert.

1. Stellen Sie sicher, dass die Servicerolle Ihres CodeBuild Projekts über die folgenden Berechtigungen verfügt, und starten Sie dann die Sandbox-Umgebung neu:

   ```
   {
      "Effect": "Allow",
         "Action": [
            "ssmmessages:CreateControlChannel",
            "ssmmessages:CreateDataChannel",
            "ssmmessages:OpenControlChannel",
            "ssmmessages:OpenDataChannel"
         ],
         "Resource": "*"
    },
    {
       "Effect": "Allow",
       "Action": [
          "ssm:StartSession"
        ],
        "Resource": [
           "arn:aws:codebuild:region:account-id:build/*",
           "arn:aws:ssm:region::document/AWS-StartSSHSession"
        ]
    }
   ```

## Fehler: „Anmeldeinformationen konnten nicht gefunden werden“, wenn Sie eine SSH-Verbindung zur Sandbox-Umgebung herstellen CodeBuild
<a name="sandbox-troubleshooting.credentials"></a>

**Problem:** Wenn Sie versuchen, mithilfe des Befehls eine Verbindung zu einer CodeBuild Sandbox-Umgebung herzustellen`ssh codebuild-sandbox-ssh=<sandbox-arn>`, kann der folgende Anmeldeinformationsfehler auftreten:

```
Unable to locate credentials. You can configure credentials by running 
"aws configure".
```

**Mögliche Ursache:** Die AWS Anmeldeinformationen wurden in Ihrer lokalen Umgebung nicht richtig konfiguriert.

**Empfohlene Lösung:** Konfigurieren Sie Ihre AWS CLI Anmeldeinformationen gemäß der offiziellen Dokumentation: [Konfiguration der Einstellungen für die AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) im *AWS Befehlszeilenschnittstellen-Benutzerhandbuch für Version 2.*

## `StartSandboxConnection``AccessDeniedException`Fehler beim Zugriff auf eine CodeBuild Sandbox-Umgebung per SSH
<a name="sandbox-troubleshooting.access-denied"></a>

**Problem:** Wenn Sie versuchen, mithilfe des Befehls eine Verbindung zu einer CodeBuild Sandbox-Umgebung herzustellen`ssh codebuild-sandbox-ssh=<sandbox-arn>`, kann der folgende Berechtigungsfehler auftreten:

```
An error occurred (AccessDeniedException) when calling the StartSandboxConnection 
operation: 
User: arn:aws:sts::account-id:assumed-role/role-name
is not authorized to perform: codebuild:StartSandboxConnection on resource: 
sandbox-arn
because no identity-based policy allows the codebuild:StartSandboxConnection action
```

**Mögliche Ursache:** Ihre AWS Anmeldeinformationen verfügen nicht über die erforderlichen CodeBuild Berechtigungen, um diesen Vorgang auszuführen.

**Empfohlene Lösung:** Stellen Sie sicher, dass der mit Ihren AWS CLI Anmeldeinformationen verknüpfte IAM-Benutzer oder die IAM-Rolle über die folgenden Berechtigungen verfügt:

```
{
    "Effect": "Allow",
    "Action": [
       "codebuild:StartSandboxConnection"
     ],
     "Resource": [
        "arn:aws:codebuild:region:account-id:sandbox/*"
     ]
}
```

## Fehler: „ssh: Hostname konnte nicht aufgelöst werden“ bei SSH in die Sandbox-Umgebung CodeBuild
<a name="sandbox-troubleshooting.hostname"></a>

**Problem:** Beim Versuch, mithilfe des Befehls eine Verbindung zu einer CodeBuild Sandbox-Umgebung herzustellen`ssh codebuild-sandbox-ssh=<sandbox-arn>`, tritt der folgende Fehler bei der Auflösung des Hostnamens auf:

```
ssh: Could not resolve hostname
```

**Mögliche Ursache:** Dieser Fehler tritt normalerweise auf, wenn das erforderliche CodeBuild Sandbox-Verbindungsskript in Ihrer lokalen Umgebung nicht ordnungsgemäß ausgeführt wurde.

**Empfohlene Lösung:**

1. Laden Sie das CodeBuild Sandbox-Verbindungsskript herunter.

1. Führen Sie das Skript in Ihrem Terminal aus, um die erforderliche SSH-Konfiguration einzurichten.

1. Versuchen Sie erneut, Ihre SSH-Verbindung zur Sandbox-Umgebung herzustellen.

# Builds mit Session Manager debuggen
<a name="session-manager"></a>

In AWS CodeBuild können Sie einen laufenden Build anhalten und dann mithilfe des AWS Systems Manager Sitzungs-Managers eine Verbindung zum Build-Container herstellen und den Status des Containers anzeigen.

**Anmerkung**  
Diese Funktion ist in Windows-Umgebungen nicht verfügbar.

**Topics**
+ [Voraussetzungen](#ssm.prerequisites)
+ [Unterbrechen Sie den Build](#ssm-pause-build)
+ [Starte den Build](#ssm-start-build)
+ [Connect zum Build-Container her](#ssm-connect)
+ [Setzen Sie den Build fort](#ssm-resume-build)

## Voraussetzungen
<a name="ssm.prerequisites"></a>

Damit der Sitzungsmanager mit der Buildsitzung verwendet werden kann, müssen Sie die Sitzungsverbindung für den Build aktivieren. Es gibt zwei Voraussetzungen:
+ CodeBuild Bei kuratierten Linux-Standard-Images ist der SSM-Agent bereits installiert und der SSM-Agent aktiviert. ContainerMode 

  Wenn Sie ein benutzerdefiniertes Image für Ihren Build verwenden, gehen Sie wie folgt vor:

  1. Installieren Sie den SSM Agent. Weitere Informationen finden Sie im AWS Systems Manager Benutzerhandbuch unter [Manuelles Installieren des SSM-Agenten auf EC2-Instances für Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-manual-agent-install.html). Die SSM-Agent-Version muss 3.0.1295.0 oder höher sein.

  1. Kopieren Sie die Datei [https://github.com/aws/aws-codebuild-docker-images/blob/master/ubuntu/standard/5.0/amazon-ssm-agent.json](https://github.com/aws/aws-codebuild-docker-images/blob/master/ubuntu/standard/5.0/amazon-ssm-agent.json) in das Verzeichnis in Ihrem Image. `/etc/amazon/ssm/` Dadurch wird der Container-Modus im SSM-Agent aktiviert.
**Anmerkung**  
Für benutzerdefinierte Images ist der neueste SSM-Agent erforderlich, damit diese Funktion erwartungsgemäß funktioniert.
+ Die CodeBuild Servicerolle muss die folgende SSM-Richtlinie haben:

------
#### [ JSON ]

****  

  ```
  {
     "Version":"2012-10-17",		 	 	  
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
            "ssmmessages:CreateControlChannel",
            "ssmmessages:CreateDataChannel",
            "ssmmessages:OpenControlChannel",
            "ssmmessages:OpenDataChannel"
         ],
         "Resource": "*"
       }
     ]
  }
  ```

------

  Sie können festlegen, dass die CodeBuild Konsole diese Richtlinie automatisch an Ihre Servicerolle anhängt, wenn Sie den Build starten. Alternativ können Sie diese Richtlinie manuell an Ihre Servicerolle anhängen.
+ Wenn Sie die **Überwachung und Protokollierung von Sitzungsaktivitäten** in den Systems Manager Manager-Einstellungen aktiviert haben, muss die CodeBuild Servicerolle auch über zusätzliche Berechtigungen verfügen. Die Berechtigungen sind unterschiedlich, je nachdem, wo die Protokolle gespeichert werden.  
CloudWatch Logs  
Wenn Sie CloudWatch Logs zum Speichern Ihrer Logs verwenden, fügen Sie der CodeBuild Servicerolle die folgende Berechtigung hinzu:    
****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "logs:DescribeLogGroups",
              "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:*:*"
          },
          {
              "Effect": "Allow",
              "Action": [
                  "logs:CreateLogStream",
                  "logs:PutLogEvents"
              ],
              "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:MyLogGroup:*"
          }
      ]
  }
  ```  
Amazon S3  
Wenn Sie Amazon S3 zum Speichern Ihrer Protokolle verwenden, fügen Sie der CodeBuild Servicerolle die folgende Berechtigung hinzu:    
****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "s3:GetEncryptionConfiguration",
          "s3:PutObject"
        ],
        "Resource": [
          "arn:aws:s3:::<bucket-name>",
          "arn:aws:s3:::<bucket-name>/*"
        ]
      }
    ]
  }
  ```

  Weitere Informationen finden Sie im *AWS Systems Manager Benutzerhandbuch* unter [Überwachung und Protokollierung von Sitzungsaktivitäten](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-logging-auditing.html).

## Unterbrechen Sie den Build
<a name="ssm-pause-build"></a>

Um den Build anzuhalten, fügen Sie den **codebuild-breakpoint** Befehl in einer der Buildphasen Ihrer Buildspec-Datei ein. Der Build wird an diesem Punkt angehalten, sodass Sie eine Verbindung zum Build-Container herstellen und den Container in seinem aktuellen Zustand anzeigen können. 

Fügen Sie den Buildphasen in Ihrer Buildspec-Datei beispielsweise Folgendes hinzu.

```
phases:
  pre_build:
    commands:
      - echo Entered the pre_build phase...
      - echo "Hello World" > /tmp/hello-world
      - codebuild-breakpoint
```

Dieser Code erstellt die `/tmp/hello-world` Datei und unterbricht dann den Build an dieser Stelle.

## Starte den Build
<a name="ssm-start-build"></a>

Damit Session Manager mit der Build-Sitzung verwendet werden kann, müssen Sie Sitzungsverbindungen für den Build aktivieren. Gehen Sie dazu beim Starten des Builds wie folgt vor:

1. Öffnen Sie die AWS CodeBuild Konsole unter [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Wählen Sie im linken Navigationsbereich **Build projects** aus. Wählen Sie das Build-Projekt und dann **Build mit Überschreibungen starten** aus.

1. Wählen Sie **Advanced build overrides (Erweiterter Build überschreibt)**.

1. Wählen Sie im Abschnitt **Umgebung** die Option **Sitzungsverbindung aktivieren** aus. Wenn diese Option nicht ausgewählt ist, werden alle **codebuild-resume** Befehle **codebuild-breakpoint** und ignoriert.

1. Nehmen Sie alle anderen gewünschten Änderungen vor und wählen Sie **Build starten**. 

1. Überwachen Sie den Build-Status in der Konsole. Wenn die Sitzung verfügbar ist, wird der Link **AWS Session Manager** im Abschnitt **Build-Status** angezeigt.

## Connect zum Build-Container her
<a name="ssm-connect"></a>

Sie können auf zwei Arten eine Verbindung zum Build-Container herstellen:

CodeBuild Konsole  
Öffnen Sie in einem Webbrowser den **AWS Session Manager-Link**, um eine Verbindung zum Build-Container herzustellen. Es wird eine Terminalsitzung geöffnet, mit der Sie den Build-Container durchsuchen und steuern können. 

AWS CLI  
Für dieses Verfahren muss auf Ihrem lokalen Computer das Session Manager-Plug-In installiert sein. Weitere Informationen 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 Benutzerhandbuch. 

1. Rufen Sie die **batch-get-builds** API mit der Build-ID auf, um Informationen über den Build zu erhalten, einschließlich der ID des Sitzungsziels. Der Eigenschaftsname der Sitzungsziel-ID variiert je nach Ausgabetyp des `aws` Befehls. Aus diesem Grund `--output json` wird es dem Befehl hinzugefügt.

   ```
   aws codebuild batch-get-builds --ids <buildID> --region <region> --output json
   ```

1. Kopieren Sie den `sessionTarget` Eigenschaftswert. Der `sessionTarget` Eigenschaftsname kann je nach Ausgabetyp des `aws` Befehls variieren. Aus diesem `--output json` Grund wurde er dem Befehl im vorherigen Schritt hinzugefügt.

1. Verwenden Sie den folgenden Befehl, um eine Verbindung zum Build-Container herzustellen.

   ```
   aws ssm start-session --target <sessionTarget> --region <region>
   ```

Stellen Sie für dieses Beispiel sicher, dass die `/tmp/hello-world` Datei vorhanden ist und den Text enthält`Hello World`.

## Setzen Sie den Build fort
<a name="ssm-resume-build"></a>

Nachdem Sie die Untersuchung des Build-Containers abgeschlossen haben, geben Sie den **codebuild-resume** Befehl in der Container-Shell aus.

```
$ codebuild-resume
```