

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS CodeBuild サンドボックス SSH 接続の問題のトラブルシューティング
<a name="sandbox-troubleshooting"></a>

このトピックの情報を使用して、CodeBuild サンドボックス SSH 接続の問題を特定、診断、対処します。

**Topics**
+ [`StartSandboxConnection` `InvalidInputException` CodeBuild サンドボックス環境への SSH のエラー](#sandbox-troubleshooting.invalid-input)
+ [エラー: CodeBuild サンドボックス環境への SSH 接続時に「認証情報を見つけることができません」](#sandbox-troubleshooting.credentials)
+ [`StartSandboxConnection` `AccessDeniedException` CodeBuild サンドボックス環境への SSH のエラー](#sandbox-troubleshooting.access-denied)
+ [エラー: CodeBuild サンドボックス環境への SSH 接続時に「ssh: ホスト名を解決できませんでした」](#sandbox-troubleshooting.hostname)

## `StartSandboxConnection` `InvalidInputException` CodeBuild サンドボックス環境への SSH のエラー
<a name="sandbox-troubleshooting.invalid-input"></a>

**問題:** `ssh codebuild-sandbox-ssh=<sandbox-arn>` コマンドを使用して CodeBuild サンドボックス環境に接続しようとすると、次のような `InvalidInputException` エラーが発生する可能性があります。

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

**考えられる原因:**
+ Amazon EC2 Systems Manager エージェントがない: ビルドイメージに SSM エージェントが正しくインストールまたは設定されていません。
+ アクセス許可が不十分: CodeBuild プロジェクトサービスロールに必要な SSM アクセス許可がありません。

**推奨される解決策:** ビルドにカスタムイメージを使用している場合は、次の操作を行います。

1. SSM Agent をインストールします。詳細については、「**」の「[Linux 用 Amazon EC2 インスタンスに SSM エージェントを手動でインストールおよびアンインストールする](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)」を参照してください。SSM エージェントは、バージョン `3.0.1295.0` 以降である必要があります。

1. [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) ファイルをイメージの `/etc/amazon/ssm/` ディレクトリにコピーします。これにより、SSM エージェントで**コンテナモード**が有効になります。

1. CodeBuild プロジェクトのサービスロールに次のアクセス許可があることを確認し、サンドボックス環境を再起動します。

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

## エラー: CodeBuild サンドボックス環境への SSH 接続時に「認証情報を見つけることができません」
<a name="sandbox-troubleshooting.credentials"></a>

**問題:** `ssh codebuild-sandbox-ssh=<sandbox-arn>` コマンドを使用して CodeBuild サンドボックス環境に接続しようとすると、次の認証情報エラーが発生することがあります。

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

**考えられる原因:** AWS 認証情報がローカル環境で正しく設定されていません。

**推奨される解決策:** 公式ドキュメント「 バージョン 2 コマンドラインインターフェイスユーザーガイド」の[「 の設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)」に従って AWS CLI 認証情報を設定します。 *AWS *

## `StartSandboxConnection` `AccessDeniedException` CodeBuild サンドボックス環境への SSH のエラー
<a name="sandbox-troubleshooting.access-denied"></a>

**問題:** `ssh codebuild-sandbox-ssh=<sandbox-arn>` コマンドを使用して CodeBuild サンドボックス環境に接続しようとすると、次のアクセス許可エラーが発生することがあります。

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

**考えられる原因:** AWS 認証情報に、このオペレーションを実行するために必要な CodeBuild アクセス許可がありません。

**推奨される解決策:** AWS CLI 認証情報に関連付けられた IAM ユーザーまたはロールに次のアクセス許可があることを確認します。

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

## エラー: CodeBuild サンドボックス環境への SSH 接続時に「ssh: ホスト名を解決できませんでした」
<a name="sandbox-troubleshooting.hostname"></a>

**問題:** `ssh codebuild-sandbox-ssh=<sandbox-arn>` コマンドを使用して CodeBuild サンドボックス環境に接続しようとすると、次のホスト名解決エラーが発生します。

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

**考えられる原因:** このエラーは通常、必要な CodeBuild サンドボックス接続スクリプトがローカル環境で正しく実行されていない場合に発生します。

**推奨される解決策:**

1. CodeBuild サンドボックス接続スクリプトをダウンロードします。

1. ターミナルでスクリプトを実行して、必要な SSH 設定を確立します。

1. サンドボックス環境への SSH 接続を再試行します。