Docker コンテナで AWS IoT Greengrass Core ソフトウェアを実行する - AWS IoT Greengrass

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

Docker コンテナで AWS IoT Greengrass Core ソフトウェアを実行する

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 ソフトウェアを実行できます。

サポートされているプラットフォームと要件

Docker コンテナに AWS IoT Greengrass Core ソフトウェアをインストールして実行するには、ホストコンピュータが次の最小要件を満たしている必要があります。

  • インターネットに接続された Linux ベースのオペレーティングシステム。

  • Docker Engine バージョン 18.09 以降。

  • (オプション) Docker Compose バージョン 1.22 以降。Docker Compose は、Docker Compose CLI を使用して Docker イメージを実行する場合のみ必要です。

Docker コンテナ内で Lambda 関数コンポーネントを実行するには、追加の要件を満たすようにコンテナを設定する必要があります。詳細については、「Lambda 関数の要件」を参照してください。

プロセスモードでコンポーネントを実行する

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

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

以下の AWSが提供するコンポーネントのいずれかをデプロイするときは、各コンポーネントの設定を更新して、 containerModeパラメータを に設定しますNoContainer。設定の更新の詳細については、「コンポーネント設定の更新」を参照してください。

AWS IoT Greengrass Docker ソフトウェアのダウンロード

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

から Dockerfile パッケージをダウンロードしますGitHub

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

AWS リソースをプロビジョニングする方法を選択する

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 コンテナイメージを構築する」を参照してください。