

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

# Docker コンテナで AWS IoT Greengrass Core ソフトウェアを実行する
<a name="run-greengrass-docker"></a>

AWS IoT Greengrass は、Docker コンテナで実行するように設定できます。Docker は、Linux コンテナに基づくアプリケーションの構築、実行、テスト、およびデプロイを行うためのツールを提供するプラットフォームです。 AWS IoT Greengrass Docker イメージを実行するときに、Docker コンテナに AWS 認証情報を提供するかどうかを選択し、 AWS IoT Greengrass Core ソフトウェアインストーラが Greengrass コアデバイスが動作するために必要なリソースを自動的にプロビジョニング AWS できるようにします。認証情報を提供し AWS ない場合は、 AWS リソースを手動でプロビジョニングし、Docker コンテナで AWS IoT Greengrass Core ソフトウェアを実行できます。

**Topics**
+ [サポートされているプラットフォームと要件](#greengrass-docker-supported-platforms)
+ [ソフトウェアダウンロード](#greengrass-docker-downloads)
+ [AWS リソースをプロビジョニングする方法を選択する](#greengrass-docker-resource-provisioning)
+ [Dockerfile から AWS IoT Greengrass イメージを構築する](build-greengrass-dockerfile.md)
+ [自動プロビジョニングを使用して Docker AWS IoT Greengrass で を実行する](run-greengrass-docker-automatic-provisioning.md)
+ [手動プロビジョニングを使用して Docker AWS IoT Greengrass で を実行する](run-greengrass-docker-manual-provisioning.md)
+ [Docker コンテナ AWS IoT Greengrass でのトラブルシューティング](docker-troubleshooting.md)

## サポートされているプラットフォームと要件
<a name="greengrass-docker-supported-platforms"></a>

Core ソフトウェアを AWS IoT Greengrass Docker コンテナにインストールして実行するには、ホストコンピュータが以下の最小要件を満たしている必要があります。
+ <a name="docker-host-reqs"></a>インターネットに接続された Linux ベースのオペレーティングシステム。
+ <a name="docker-engine-reqs"></a>[Docker Engine](https://docs.docker.com/engine/install/) バージョン 18.09 以降。
+ <a name="docker-compose-reqs"></a>(オプション) [Docker Compose](https://docs.docker.com/compose/install/) バージョン 1.22 以降。Docker Compose は、Docker Compose CLI を使用して Docker イメージを実行する場合のみ必要です。

Docker コンテナ内で Lambda 関数コンポーネントを実行するには、追加の要件を満たすようにコンテナを設定する必要があります。詳細については、「[Lambda 関数の要件](setting-up.md#greengrass-v2-lambda-requirements)」を参照してください。

### プロセスモードでコンポーネントを実行する
<a name="docker-container-mode-limitation"></a>

AWS IoT Greengrass は、Docker コンテナ内の分離されたランタイム環境での Lambda AWS IoT Greengrass 関数または AWS提供コンポーネントの実行をサポートしていません。これらのコンポーネントは、分離せずにプロセスモードで実行する必要があります。

Lambda 関数コンポーネントを設定するときは、分離モードを **[No container]** (コンテナなし) に設定します。詳細については、「[AWS Lambda 関数を実行する](run-lambda-functions.md)」を参照してください。

以下 AWSが提供するコンポーネントのいずれかをデプロイするときは、各コンポーネントの設定を更新して、 `containerMode`パラメータを に設定します`NoContainer`。設定の更新の詳細については、「[コンポーネント設定の更新](update-component-configurations.md)」を参照してください。
+ [CloudWatch メトリクス](cloudwatch-metrics-component.md)
+ [Device Defender](device-defender-component.md)
+ [Firehose](kinesis-firehose-component.md)
+ [Modbus-RTU プロトコルアダプタ](modbus-rtu-protocol-adapter-component.md)
+ [Amazon SNS](sns-component.md)

## AWS IoT Greengrass Docker ソフトウェアのダウンロード
<a name="greengrass-docker-downloads"></a>

AWS IoT Greengrass には、Amazon Linux 2 (x86\$164) ベースイメージに AWS IoT Greengrass Core ソフトウェアと依存関係がインストールされているコンテナイメージを構築するための Dockerfile が用意されています。Dockerfile のベースイメージを変更して、別のプラットフォームアーキテクチャ AWS IoT Greengrass で実行できます。

Dockerfile パッケージを、[GitHub](https://github.com/aws-greengrass/aws-greengrass-docker) からダウンロードします。

Dockerfile は古いバージョンの Greengrass を使用しています。必要なバージョンの Greengrass を使用するようにファイルを更新する必要があります。Dockerfile から AWS IoT Greengrass コンテナイメージを構築する方法については、「」を参照してください[Dockerfile から AWS IoT Greengrass コンテナイメージを構築する](build-greengrass-dockerfile.md)。

## AWS リソースをプロビジョニングする方法を選択する
<a name="greengrass-docker-resource-provisioning"></a>

 AWS IoT Greengrass Core ソフトウェアを Docker コンテナにインストールする場合、Greengrass コアデバイスが動作するために必要な AWS リソースを自動的にプロビジョニングするか、手動でプロビジョニングしたリソースを使用するかを選択できます。
+ **自動リソースプロビジョニング** — インストーラは、 AWS IoT Greengrass コンテナイメージを初めて実行するときに、 AWS IoT モノ、 AWS IoT モノのグループ、IAM ロール、および AWS IoT ロールエイリアスをプロビジョニングします。インストーラは、ローカル開発ツールをコアデバイスにデプロイすることもできるため、デバイスを使用してカスタムソフトウェアコンポーネントを開発とテストできます。これらのリソースを自動的にプロビジョニングするには、Docker イメージに環境変数として AWS 認証情報を提供する必要があります。

  自動プロビジョニングを使用するには、Docker 環境変数 `PROVISION=true` を設定し、認証ファイルをマウントして、 AWS 認証情報をコンテナに提供する必要があります。
+ **手動リソースプロビジョニング** — コンテナに AWS 認証情報を提供しない場合は、 AWS IoT Greengrass コンテナイメージを実行する前にリソースを手動でプロビジョニング AWS できます。これらのリソースに関する情報を Docker コンテナ内の AWS IoT Greengrass Core ソフトウェアインストーラに提供するには、設定ファイルを作成する必要があります。

  手動プロビジョニングを使用するには、Docker 環境変数 `PROVISION=false` を設定する必要があります。手動プロビジョニングがデフォルトのオプションです。

詳細については、「[Dockerfile から AWS IoT Greengrass コンテナイメージを構築する](build-greengrass-dockerfile.md)」を参照してください。