

サポート終了通知: 2026 年 10 月 7 日、 AWS はサポートを終了します AWS IoT Greengrass Version 1。2026 年 10 月 7 日以降、 AWS IoT Greengrass V1 リソースにアクセスできなくなります。詳細については、[「 からの移行 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)」を参照してください。

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

# オプション: IDT for 用の Docker コンテナの設定 AWS IoT Greengrass
<a name="docker-config-setup"></a>

AWS IoT Greengrass には、Docker コンテナで AWS IoT Greengrass Core ソフトウェアを簡単に実行できる Docker イメージと Dockerfile が用意されています。 AWS IoT Greengrass コンテナを設定したら、IDT テストを実行できます。現在、IDT for AWS IoT Greengrassを実行するためにサポートされているアーキテクチャは x86\$164 Docker のみです。

この機能を使用するには、IDT v2.3.0 以降が必要です。

IDT テストを実行するように Docker コンテナを設定するプロセスは、 が提供する Docker イメージと Dockerfile のどちらを使用するかによって異なります AWS IoT Greengrass。
+ [Docker イメージを使用する](#docker-config-setup-docker-image)。Docker イメージには AWS IoT Greengrass Core ソフトウェアと依存関係がインストールされています。
+ [Dockerfile を使用する](#docker-config-setup-dockerfile)。Dockerfile には、カスタム AWS IoT Greengrass コンテナイメージの構築に使用できるソースコードが含まれています。イメージは、別のプラットフォームアーキテクチャで実行できるようにするため、またはイメージサイズを縮小するために変更できます。
**注記**  
AWS IoT Greengrass は、 AWS IoT Greengrass コアソフトウェアバージョン 1.11.1 用の Dockerfile または Docker イメージを提供しません。独自のカスタムコンテナイメージで IDT テストを実行するには、イメージに が提供する Dockerfile で定義されている依存関係が含まれている必要があります AWS IoT Greengrass。

Docker コンテナ AWS IoT Greengrass で を実行する場合、次の機能は利用できません。<a name="docker-image-unsupported-features"></a>
+ **[Greengrass container]** (Greengrass コンテナ) モードで実行される[コネクタ](connectors.md)。Docker コンテナでコネクタを実行するには、コネクタを**コンテナなし**モードで実行する必要があります。**コンテナなし**モードをサポートするコネクタを検索するには、「[AWSが提供する Greengrass コネクタ](connectors-list.md)」を参照してください。これらのコネクタの一部では、分離モードパラメータを使用されており、[**コンテナなし**] に設定する必要があります。
+ [ローカルデバイスおよびボリュームリソース](access-local-resources.md)。Docker コンテナで実行されるユーザー定義 Lambda 関数は、コア上のデバイスとボリュームに直接アクセスする必要があります。

## が提供する Docker イメージを設定する AWS IoT Greengrass
<a name="docker-config-setup-docker-image"></a>

IDT テストを実行するように AWS IoT Greengrass Docker イメージを設定するには、次の手順に従います。

**前提条件**

このチュートリアルを開始する前に、以下を実行する必要があります。<a name="docker-image-prereq-list"></a>
+ 選択した AWS Command Line Interface (AWS CLI) バージョンに基づいて、ホストコンピュータに次のソフトウェアとバージョンをインストールする必要があります。

------
#### [ AWS CLI version 2 ]
  + [Docker](https://docs.docker.com/install/) バージョン 18.09 以降。以前のバージョンでも動作する可能性がありますが、18.09 以降を推奨します。
  + AWS CLI バージョン 2.0.0 以降。
    +  AWS CLI バージョン 2 をインストールするには、[「バージョン 2 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)のインストール」を参照してください。
    + を設定するには AWS CLI、[「 の設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)」を参照してください。
**注記**  
Windows コンピュータで新しい AWS CLI バージョン 2 にアップグレードするには、[MSI のインストール](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-windows.html)プロセスを繰り返す必要があります。

------
#### [ AWS CLI version 1 ]
  + [Docker](https://docs.docker.com/install/) バージョン 18.09 以降。以前のバージョンでも動作する可能性がありますが、18.09 以降を推奨します。
  + [Python](https://www.python.org/downloads/) バージョン 3.6 以降。
  + [pip](https://pip.pypa.io/en/stable/installing) バージョン 18.1 以降。
  + AWS CLI バージョン 1.17.10 以降
    +  AWS CLI バージョン 1 をインストールするには、[「バージョン 1 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html)のインストール」を参照してください。
    + を設定するには AWS CLI、[「 の設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)」を参照してください。
    + バージョン 1 AWS CLI の最新バージョンにアップグレードするには、次のコマンドを実行します。

      ```
      pip install awscli --upgrade --user
      ```
**注記**  
Windows で AWS CLI バージョン 1 の [MSI インストール](https://docs.aws.amazon.com/cli/latest/userguide/install-windows.html#msi-on-windows)を使用する場合は、次の点に注意してください。  
 AWS CLI バージョン 1 のインストールで botocore のインストールに失敗する場合は、[Python と pip のインストール](https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html#awscli-install-windows-pip)を試してください。
新しい AWS CLI バージョン 1 にアップグレードするには、MSI のインストールプロセスを繰り返す必要があります。

------
+ ユーザーが Amazon Elastic Container Registry (Amazon ECR) のリソースにアクセスできるようにするには、次のアクセス権限を付与する必要があります。
  + Amazon ECR では、レジストリに対して認証し、Amazon ECR リポジトリからイメージをプッシュまたはプルする前に、 AWS Identity and Access Management (IAM) ポリシーを通じてアクセス`ecr:GetAuthorizationToken`許可を付与する必要があります。詳細については、「Amazon ECR ユーザーガイド」の「[Amazon ECR Repository Policy Examples](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html)」(Amazon ECR リポジトリポリシーの例) および「[1 つの Amazon ECR リポジトリにアクセスする](https://docs.aws.amazon.com/AmazonECR/latest/userguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-access-one-bucket)」を参照してください。

 

1. Docker イメージをダウンロードし、コンテナを設定します。[Docker Hub](https://hub.docker.com/r/amazon/aws-iot-greengrass) または [Amazon Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) (Amazon ECR) から作成済みのイメージをダウンロードして、Windows、macOS、および Linux (x86\$164) プラットフォームで実行できます。

   Amazon ECR から Docker イメージをダウンロードするには、「[ステップ 1: Amazon ECR から AWS IoT Greengrass コンテナイメージを取得する](run-gg-in-docker-container.md#docker-pull-image)」のすべてのステップを実行します。次に、このトピックに戻って設定を続行します。

1. <a name="docker-linux-non-root"></a>Linux ユーザーのみ: IDT を実行するユーザーに Docker コマンドを実行するアクセス許可があることを確認してください。詳細については、Docker ドキュメントの「[Docker を非ルートユーザーとして管理する](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user)」を参照してください。

1. <a name="docker-run-gg-container"></a> AWS IoT Greengrass コンテナを実行するには、オペレーティングシステムの コマンドを使用します。

------
#### [ Linux ]

   ```
   docker run --rm --init -it -d --name aws-iot-greengrass \
   -p 8883:8883 \
   -v <host-path-to-kernel-config-file>:<container-path> \
   <image-repository>:<tag>
   ```
   + *<host-path-to-kernel-config-file>* はホストのカーネル設定ファイルへのパスに置き換え、*<container-path>* はコンテナ内でボリュームがマウントされているパスに置き換えます。

     ホストのカーネル設定ファイルは、通常、`/proc/config.gz` または `/boot/config-<kernel-release-date>` にあります。`uname -r` を実行して *<kernel-release-date>* 値を検索できます。

     **例:** 設定ファイルを `/boot/config-<kernel-release-date>` からマウントするには

     ```
     -v /boot/config-4.15.0-74-generic:/boot/config-4.15.0-74-generic \
     ```

     **例:** 設定ファイルを `proc/config.gz` からマウントするには

     ```
     -v /proc/config.gz:/proc/config.gz \
     ```
   + コマンドの *<image-repository>*:*<tag>* は、リポジトリの名前とターゲットイメージのタグに置き換えます。

     **例:** AWS IoT Greengrass Core ソフトウェアの最新バージョンを参照するには

     ```
     216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
     ```

     Docker AWS IoT Greengrass イメージのリストを取得するには、次のコマンドを実行します。

     ```
     aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
     ```

------
#### [ macOS ]

   ```
   docker run --rm --init -it -d --name aws-iot-greengrass \
   -p 8883:8883 \
   <image-repository>:<tag>
   ```
   + コマンドの *<image-repository>*:*<tag>* は、リポジトリの名前とターゲットイメージのタグに置き換えます。

     **例:** AWS IoT Greengrass Core ソフトウェアの最新バージョンを参照するには

     ```
     216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
     ```

     Docker AWS IoT Greengrass イメージのリストを取得するには、次のコマンドを実行します。

     ```
     aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
     ```

------
#### [ Windows ]

   ```
   docker run --rm --init -it -d --name aws-iot-greengrass \
   -p 8883:8883 \
   <image-repository>:<tag>
   ```
   + コマンドの *<image-repository>*:*<tag>* は、リポジトリの名前とターゲットイメージのタグに置き換えます。

     **例:** AWS IoT Greengrass Core ソフトウェアの最新バージョンを参照するには

     ```
     216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
     ```

     Docker AWS IoT Greengrass イメージのリストを取得するには、次のコマンドを実行します。

     ```
     aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
     ```

------
**重要**  
IDT でテストする場合は、イメージの実行に使用される引`--entrypoint /greengrass-entrypoint.sh \`数を汎用に含めないでください AWS IoT Greengrass 。

1. <a name="docker-config-next-steps"></a>次のステップ: [AWS 認証情報と `device.json` ファイル](set-config.md)を設定します。

## が提供する dockerfile を設定する AWS IoT Greengrass
<a name="docker-config-setup-dockerfile"></a>

IDT テストを実行するように Dockerfile から構築された Docker AWS IoT Greengrass イメージを設定するには、次の手順に従います。

1. [AWS IoT Greengrass Docker ソフトウェア](what-is-gg.md#gg-docker-download) からホストコンピュータに Dockerfile パッケージをダウンロードして解凍します。

1. `README.md` を開きます。次の 3 つのステップでは、このファイルのセクションを参照します。

1. 「**前提条件**」セクションの要件を満たしていることを確認します。

1. Linux ユーザーのみ: 「**シンボリックリンク保護とハードリンク保護を有効にする**」ステップと「**IPv4 ネットワーク転送を有効にする**」ステップを完了します。

1. Docker イメージを構築するには、**ステップ 1 のすべての手順を完了させます。Docker AWS IoT Greengrass イメージを構築します**。次に、このトピックに戻って設定を続行します。

1. <a name="docker-run-gg-container"></a> AWS IoT Greengrass コンテナを実行するには、オペレーティングシステムの コマンドを使用します。

------
#### [ Linux ]

   ```
   docker run --rm --init -it -d --name aws-iot-greengrass \
   -p 8883:8883 \
   -v <host-path-to-kernel-config-file>:<container-path> \
   <image-repository>:<tag>
   ```
   + *<host-path-to-kernel-config-file>* はホストのカーネル設定ファイルへのパスに置き換え、*<container-path>* はコンテナ内でボリュームがマウントされているパスに置き換えます。

     ホストのカーネル設定ファイルは、通常、`/proc/config.gz` または `/boot/config-<kernel-release-date>` にあります。`uname -r` を実行して *<kernel-release-date>* 値を検索できます。

     **例:** 設定ファイルを `/boot/config-<kernel-release-date>` からマウントするには

     ```
     -v /boot/config-4.15.0-74-generic:/boot/config-4.15.0-74-generic \
     ```

     **例:** 設定ファイルを `proc/config.gz` からマウントするには

     ```
     -v /proc/config.gz:/proc/config.gz \
     ```
   + コマンドの *<image-repository>*:*<tag>* は、リポジトリの名前とターゲットイメージのタグに置き換えます。

     **例:** AWS IoT Greengrass Core ソフトウェアの最新バージョンを参照するには

     ```
     216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
     ```

     Docker AWS IoT Greengrass イメージのリストを取得するには、次のコマンドを実行します。

     ```
     aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
     ```

------
#### [ macOS ]

   ```
   docker run --rm --init -it -d --name aws-iot-greengrass \
   -p 8883:8883 \
   <image-repository>:<tag>
   ```
   + コマンドの *<image-repository>*:*<tag>* は、リポジトリの名前とターゲットイメージのタグに置き換えます。

     **例:** AWS IoT Greengrass Core ソフトウェアの最新バージョンを参照するには

     ```
     216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
     ```

     Docker AWS IoT Greengrass イメージのリストを取得するには、次のコマンドを実行します。

     ```
     aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
     ```

------
#### [ Windows ]

   ```
   docker run --rm --init -it -d --name aws-iot-greengrass \
   -p 8883:8883 \
   <image-repository>:<tag>
   ```
   + コマンドの *<image-repository>*:*<tag>* は、リポジトリの名前とターゲットイメージのタグに置き換えます。

     **例:** AWS IoT Greengrass Core ソフトウェアの最新バージョンを参照するには

     ```
     216483018798.dkr.ecr.us-west-2.amazonaws.com/aws-iot-greengrass:latest
     ```

     Docker AWS IoT Greengrass イメージのリストを取得するには、次のコマンドを実行します。

     ```
     aws ecr list-images --region us-west-2 --registry-id 216483018798 --repository-name aws-iot-greengrass
     ```

------
**重要**  
IDT でテストする場合は、イメージの実行に使用される引`--entrypoint /greengrass-entrypoint.sh \`数を汎用に含めないでください AWS IoT Greengrass 。

1. <a name="docker-config-next-steps"></a>次のステップ: [AWS 認証情報と `device.json` ファイル](set-config.md)を設定します。

## IDT for の Docker コンテナ設定のトラブルシューティング AWS IoT Greengrass
<a name="docker-config-setup-troubleshooting"></a>

以下の情報は、IDT for AWS IoT Greengrass テスト用の Docker コンテナの実行に関する問題のトラブルシューティングに役立ちます。

### 警告: 設定ファイルの読み込みエラー: /home/user/.docker/config.json - stat /home/<user>/.docker/config.json: アクセス許可が拒否されました
<a name="docker-config-permissions-linux"></a>

Linux で `docker` コマンドの実行中にこのエラーが発生した場合は、次のコマンドを実行します。次のコマンドの *<user>* は、IDT を実行するユーザーに置き換えます。

```
sudo chown <user>:<user> /home/<user>/.docker -R
sudo chmod g+rwx /home/<user>/.docker -R
```