AWS IoT Greengrass コアデバイスをセットアップする
このセクションのタスクを完了し、AWS IoT Greengrass Core ソフトウェアをインストール、設定、および実行します。
注記
ここでは、AWS IoT Greengrass Core ソフトウェアの高度なインストールと設定について説明します。AWS IoT Greengrass V2 を初めて使用する場合は、最初に [getting started tutorial] (入門チュートリアル) を完了してコアデバイスをセットアップし、AWS IoT Greengrass の機能を確認することをお勧めします。
サポートされているプラットフォームと要件
開始する前に、AWS IoT Greengrass Core ソフトウェアをインストールして実行するには、以下の要件を満たしていることを確認してください。
ヒント
[AWS Partner Device Catalog]
サポートされているプラットフォーム
AWS IoT Greengrass は、次のプラットフォームを実行するデバイスを正式にサポートしています。このリストに含まれていないプラットフォームを持つデバイスは動作する可能性がありますが、AWS IoT Greengrass はこれらの指定されたプラットフォームでのみテストします。
Linux プラットフォームは、Docker コンテナで AWS IoT Greengrass V2 を実行することもできます。詳細については、「Docker コンテナで AWS IoT Greengrass Core ソフトウェアを実行する」を参照してください。
カスタムの Linux ベースのオペレーティングシステムをビルドするには、[AWS IoT Greengrass V2 project]meta-aws
に BitBake recipe を使用できます。meta-aws
プロジェクトは、OpenEmbedded
デバイスの要件
AWS IoT Greengrass Core ソフトウェア v2.x をインストールして実行するには、デバイスが次の要件を満たしている必要があります。
注記
AWS IoT Greengrass の AWS IoT Device Tester を使用すると、デバイスが AWS IoT Greengrass Core ソフトウェアを実行し、AWS クラウド と通信できることを確認できます。詳細については、「AWS IoT Device Tester for AWS IoT Greengrass V2 を使用する」を参照してください。
Lambda 関数の要件
Lambda 関数を実行するには、デバイスが次の要件を満たしている必要があります。
-
Linux ベースのオペレーティングシステム。
-
デバイスには
mkfifo
シェルコマンドが必要です。 -
デバイスでは、Lambda 関数に必要なプログラミング言語ライブラリを実行する必要があります。必須ライブラリを、デバイスにインストールし、
PATH
環境変数に追加する必要があります。Greengrass は、Lambda でサポートされるすべてのバージョンの Python、Node.js、Java ランタイムをサポートします。Greengrass は、非推奨となった Lambda ランタイムバージョンに追加の制限を適用しません。Lambda ランタイムの AWS IoT Greengrass サポートの詳細については、「AWS Lambda 関数を実行する」を参照してください。 -
コンテナ化された Lambda 関数を実行するには、デバイスが次の要件を満たしている必要があります。
-
Linux kernel バージョン 4.4 以降。
-
カーネルは cgroups
v1 をサポートしている必要があり、次の cgroups を有効にしてマウントする必要があります。 -
- コンテナ化された Lambda 関数のメモリ制限を設定するための AWS IoT Greengrass のメモリ cgroup。
-
- システムデバイスまたはボリュームにアクセスするコンテナ化された Lambda 関数のためのデバイスcgroup。
AWS IoT Greengrass Core ソフトウェアは、cgroups v2 をサポートしていません。
この要件を満たすには、次の Linux カーネルパラメータを使用してデバイスを起動します。
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
ヒント
Raspberry Pi で、
/boot/cmdline.txt
ファイルを編集して、デバイスのカーネルパラメータを設定します。 -
-
デバイスで次の Linux カーネル設定を有効にする必要があります。
-
名前空間:
-
CONFIG_IPC_NS
-
CONFIG_UTS_NS
-
CONFIG_USER_NS
-
CONFIG_PID_NS
-
-
Cgroups:
-
CONFIG_CGROUP_DEVICE
-
CONFIG_CGROUPS
-
CONFIG_MEMCG
-
-
Others:
-
CONFIG_POSIX_MQUEUE
-
CONFIG_OVERLAY_FS
-
CONFIG_HAVE_ARCH_SECCOMP_FILTER
-
CONFIG_SECCOMP_FILTER
-
CONFIG_KEYS
-
CONFIG_SECCOMP
-
CONFIG_SHMEM
-
ヒント
Linux カーネルパラメータを検証して設定する方法については、Linux ディストリビューションのドキュメントを確認してください。また、AWS IoT Device Tester を使用して、デバイスがこれらの要件を満たしていることを AWS IoT Greengrass に確認させることもできます。詳細については、「AWS IoT Device Tester for AWS IoT Greengrass V2 を使用する」を参照してください。
-
-
Windows デバイスの機能に関する考慮事項
一部の AWS IoT Greengrass 機能は、現在 Windows デバイスではサポートされていません。Windows デバイスが要件を満たしているかどうかを確認するには、機能の違いを確認してください。詳細については、「オペレーティングシステム別 Greengrass 機能の互換性」を参照してください。
AWS アカウント のセットアップ
AWS アカウント がない場合は、以下のステップを実行して作成します。
AWS アカウントにサインアップするには
https://portal.aws.amazon.com/billing/signup
を開きます。 オンラインの手順に従います。
サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。
AWS アカウント にサインアップすると、AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべてのAWS のサービスとリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。
管理者ユーザーを作成するには、以下のいずれかのオプションを選択します。
管理者を管理する方法を 1 つ選択します | 目的 | 方法 | 以下の操作も可能 |
---|---|---|---|
IAM Identity Center 内 (推奨) |
短期の認証情報を使用して AWS にアクセスします。 これはセキュリティのベストプラクティスと一致しています。ベストプラクティスの詳細については、IAM ユーザーガイドの「IAM でのセキュリティのベストプラクティス」を参照してください。 |
AWS IAM Identity Center ユーザーガイドの「開始方法」の手順に従います。 | AWS Command Line Interface ユーザーガイドの「AWS IAM Identity Center を使用するための AWS CLI の設定」に従って、プログラムによるアクセスを設定します。 |
IAM 内 (非推奨) |
長期認証情報を使用して AWS にアクセスする。 | IAM ユーザーガイドの「最初の IAM 管理者のユーザーおよびグループの作成」の手順に従います。 | IAM ユーザーガイドの「IAM ユーザーのアクセスキーの管理」に従って、プログラムによるアクセスを設定します。 |