AWS IoT Greengrass コアデバイスのセットアップ - AWS IoT Greengrass

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

AWS IoT Greengrass コアデバイスのセットアップ

Core AWS IoT Greengrass ソフトウェアをインストール、設定、実行するには、このセクションのタスクを完了します。

注記

このセクションでは、 AWS IoT Greengrass Core ソフトウェアの高度なインストールと設定について説明します。を初めて使用する場合は AWS IoT Greengrass V2、まず入門チュートリアルを完了してコアデバイスをセットアップし、 の機能を調べることをお勧めします AWS IoT Greengrass。

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

開始する前に、 AWS IoT Greengrass Core ソフトウェアをインストールして実行するには、以下の要件を満たしていることを確認してください。

ヒント

Partner Device AWS Catalog AWS IoT Greengrass V2 で、 の対象となるデバイスを検索できます。

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

AWS IoT Greengrass は、以下のプラットフォームを実行するデバイスを正式にサポートしています。このリストに含まれていないプラットフォームを持つデバイスは動作する可能性がありますが、 AWS IoT Greengrass テストはこれらの指定されたプラットフォームでのみ行われます。

Linux

アーキテクチャ:

  • Armv7l

  • Armv8 (AArch64)

  • x86_64

Windows

アーキテクチャ:

  • x86_64

バージョン:

  • Windows 10

  • Windows 11

  • [Windows Server 2019]

  • Windows Server 2022

注記

一部の AWS IoT Greengrass 機能は、現在 Windows デバイスではサポートされていません。詳細については、「オペレーティングシステム別 Greengrass 機能の互換性」および「Windows デバイスの機能に関する考慮事項」を参照してください。

Linux プラットフォームは Docker コンテナ AWS IoT Greengrass V2 で実行することもできます。詳細については、「Docker コンテナで AWS IoT Greengrass Core ソフトウェアを実行する」を参照してください。

カスタム Linux ベースのオペレーティングシステムを構築するには、meta-awsプロジェクト で の BitBake AWS IoT Greengrass V2 レシピを使用できます。このmeta-awsプロジェクトでは、 OpenEmbedded と Yocto Project 構築フレームワークを使用して構築された組み込み Linux システムに AWS エッジソフトウェア機能を構築するために使用できるレシピを提供します。Yocto Project は、ハードウェアのアーキテクチャに関係なく、組み込みアプリケーション用のカスタム Linux ベースのシステムをビルドするのに役立つ、オープンソースのコラボレーションプロジェクトです。の BitBake AWS IoT Greengrass V2 レシピは、デバイスで AWS IoT Greengrass Core ソフトウェアをインストール、設定、および自動的に実行します。

デバイスの要件

AWS IoT Greengrass Core ソフトウェア v2.x をインストールして実行するには、デバイスが以下の要件を満たしている必要があります。

注記

AWS IoT Device Tester を使用して AWS IoT Greengrass 、デバイスが AWS IoT Greengrass Core ソフトウェアを実行し、 と通信できることを確認できます AWS クラウド。詳細については、「AWS IoT Device Tester for AWS IoT Greengrass V2 の使用」を参照してください。

Linux
  • AWS リージョン をサポートする の使用 AWS IoT Greengrass V2。サポートされているリージョンのリストについては、「AWS 全般のリファレンス」の「AWS IoT Greengrass V2 の エンドポイントとクォータ」を参照してください。

  • AWS IoT Greengrass Core ソフトウェアで使用できるディスク容量は、256 MB 以上です。この要件には、コアデバイスにデプロイされたコンポーネントは含まれません。

  • AWS IoT Greengrass Core ソフトウェアRAMに割り当てられる最小 96 MB。この要件には、コアデバイスで実行されるコンポーネントは含まれません。詳細については、「JVM オプションを使用してメモリ割り当てを制御する」を参照してください。

  • Java Runtime Environment (JRE) バージョン 8 以降。Java は、デバイスのPATH環境変数で使用可能である必要があります。Java を使用してカスタムコンポーネントを開発するには、Java 開発キット () をインストールする必要がありますJDK。Amazon Corretto または OpenJDK 長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。

  • GNU C ライブラリ (glibc) バージョン 2.25 以降。

  • AWS IoT Greengrass Core ソフトウェアはルートユーザーとして実行する必要があります。例えば sudo を使用します。

  • などの AWS IoT Greengrass Core ソフトウェアを実行するルートユーザーにはroot、ユーザーとグループsudoで を実行するアクセス許可が必要です。/etc/sudoers ファイルは、このユーザーに sudo を他のグループとして実行する権限が与えられていることが必要です。/etc/sudoers のユーザーの権限は、次の例のようになります。

    root ALL=(ALL:ALL) ALL
  • コアデバイスは、一連のエンドポイントおよびポートへのアウトバウンド要求を実行できる必要があります。詳細については、「プロキシまたはファイアウォールを介したデバイストラフィックを許可する」を参照してください。

  • /tmp ディレクトリは exec 権限でマウントする必要があります。

  • 次のすべてのシェルコマンド:

    • ps -ax -o pid,ppid

    • sudo

    • sh

    • kill

    • cp

    • chmod

    • rm

    • ln

    • echo

    • exit

    • id

    • uname

    • grep

  • デバイスでは、次のオプションのシェルコマンドが必要な場合もあります。

    • (オプション) systemctl。このコマンドは、 AWS IoT Greengrass Core ソフトウェアをシステムサービスとして設定するために使用します。

    • (オプション) useraddgroupadd、および usermod。これらのコマンドは、ggc_user システムユーザーと ggc_group システムグループを設定するために使用します。

    • (オプション) mkfifo。このコマンドは、Lambda 関数をコンポーネントとして実行するために使用します。

  • コンポーネントプロセスのシステムリソース制限を設定するには、デバイスで Linux カーネルバージョン 2.6.24 以降を実行する必要があります。

  • Lambda 関数を実行するには、デバイスが追加の要件を満たしている必要があります。詳細については、「Lambda 関数の要件」を参照してください。

Windows
  • AWS リージョン をサポートする の使用 AWS IoT Greengrass V2。サポートされているリージョンのリストについては、「AWS 全般のリファレンス」の「AWS IoT Greengrass V2 の エンドポイントとクォータ」を参照してください。

  • AWS IoT Greengrass Core ソフトウェアで使用できるディスク容量は、256 MB 以上です。この要件には、コアデバイスにデプロイされたコンポーネントは含まれません。

  • AWS IoT Greengrass Core ソフトウェアRAMに割り当てられた最小 160 MB。この要件には、コアデバイスで実行されるコンポーネントは含まれません。詳細については、「JVM オプションを使用してメモリ割り当てを制御する」を参照してください。

  • Java Runtime Environment (JRE) バージョン 8 以降。Java は、デバイスのPATHシステム変数で使用可能である必要があります。Java を使用してカスタムコンポーネントを開発するには、Java 開発キット () をインストールする必要がありますJDK。Amazon Corretto または OpenJDK 長期サポートバージョンを使用することをお勧めします。バージョン 8 以降が必要です。

    注記

    Greengrass nucleus のバージョン 2.5.0 を使用するには、Java Runtime Environment () の 64 ビットバージョンを使用する必要がありますJRE。Greengrass nucleus バージョン 2.5.1 は、32 ビットおよび 64 ビットの をサポートしていますJREs。

  • AWS IoT Greengrass Core ソフトウェアをインストールするユーザーは管理者である必要があります。

  • AWS IoT Greengrass Core ソフトウェアをシステムサービスとしてインストールする必要があります。ソフトウェアをインストールするとき、--setup-system-service true を指定します。

  • コンポーネントプロセスを実行する各ユーザーは LocalSystem アカウントに存在し、ユーザー名とパスワードは LocalSystem アカウントの Credential Manager インスタンスに存在する必要があります。AWS IoT Greengrass Core ソフトウェア をインストールする手順に従うと、このユーザーを設定できます。

  • コアデバイスは、一連のエンドポイントおよびポートへのアウトバウンド要求を実行できる必要があります。詳細については、「プロキシまたはファイアウォールを介したデバイストラフィックを許可する」を参照してください。

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 のメモリグループ。

      • - システムデバイスまたはボリュームにアクセスするコンテナ化された 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 アカウント
  1. https://portal.aws.amazon.com/billing/サインアップ を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。

    にサインアップすると AWS アカウント、 AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。

管理者ユーザーを作成するには、以下のいずれかのオプションを選択します。

管理者を管理する方法を 1 つ選択します 目的 方法 以下の操作も可能
IAM Identity Center で

(推奨)

短期の認証情報を使用して AWSにアクセスします。

これはセキュリティのベストプラクティスと一致しています。ベストプラクティスの詳細については、IAM「 ユーザーガイド」の「 セキュリティのベストプラクティスIAM」を参照してください。

AWS IAM Identity Center ユーザーガイドの「開始方法」の手順に従います。 AWS Command Line Interface ユーザーガイド で使用する AWS CLI ように を設定 AWS IAM Identity Centerして、プログラムによるアクセスを設定します。
で IAM

(非推奨)

長期認証情報を使用して AWSにアクセスする。 IAM ユーザーガイド「最初のIAM管理者ユーザーとユーザーグループの作成」の手順に従います。 IAM ユーザーガイドIAM「ユーザーのアクセスキーを管理する」を使用して、プログラムによるアクセスを設定します。