他のデバイスの設定 - AWS IoT Greengrass

他のデバイスの設定

このトピックのステップに従って、AWS IoT Greengrass コア として使用するデバイス (Raspberry Pi 以外) をセットアップします。

ヒント

または、環境を設定し、AWS IoT Greengrass Core ソフトウェアをインストールするスクリプトを使用する場合は、「クイックスタート: Greengrass デバイスのセットアップ」を参照してください。

AWS IoT Greengrass を初めて使用する場合には、Raspberry Pi あるいは Amazon EC2 インスタンスをコアデバイスとして使用し、デバイスに合ったセットアップ手順に従うことをお勧めします。別のデバイスまたはサポートされているプラットフォームを使用するには、このトピックのステップに従います。

 

  1. コアデバイスが NVIDIA Jetson デバイスの場合、まず JetPack 4.3 インストーラを使用してファームウェアをフラッシュする必要があります。別のデバイスを設定する場合には、ステップ 2 に進みます。

    注記

    使用する JetPack インストーラのバージョンは、対象の CUDA Toolkit バージョンに基づいています。以下の手順では、JetPack 4.3 と CUDA Toolkit 10.0 を使用します。デバイスに適したバージョンの使用方法については、NVIDIA のドキュメントの「Jetpack のインストール方法」を参照してください。

    1. Ubuntu 16.04 以降を実行している物理的デスクトップでは、NVIDIA 文書の「JetPack のダウンロードとインストール (4.3)」で説明しているように、JetPack 4.3 インストーラを使用してファームウェアをフラッシュします。

      インストーラの指示に従って、Jetson ボードにすべてのパッケージと依存関係をインストールします。Jetson ボードは、Micro-B ケーブルでデスクトップに接続されている必要があります。

    2. 標準モードでボードを再起動し、ディスプレイをボードに接続します。

      注記

      SSH を使用して Jetson に接続する場合は、デフォルトのユーザー名 (nvidia) とデフォルトのパスワード (nvidia) を使用します。

  2. 以下のコマンドを実行して、ユーザー ggc_user およびグループ ggc_group を作成します。実行するコマンドは、コアデバイスにインストールされたディストリビューションによって異なります。

    • コアデバイスが OpenWrt を実行している場合は、次のコマンドを実行します。

      opkg install shadow-useradd opkg install shadow-groupadd useradd --system ggc_user groupadd --system ggc_group
    • それ以外の場合は、以下のコマンドを実行します。

      sudo adduser --system ggc_user sudo addgroup --system ggc_group
      注記

      お客様のシステムに addgroup コマンドを使用できない場合は、以下のコマンドを使用します。

      sudo groupadd --system ggc_group
  3. Java 8 ランタイムをインストールします。このチュートリアルでは、[Default Group creation (デフォルトグループの作成)] ワークフローを使用します。これにより、グループ内のストリームマネージャーがデフォルトで有効になります。グループをデプロイする前に、コアデバイスに Java 8 ランタイムをインストールする(または ストリームマネージャーを無効にする)必要があります。

    • Debian ベースまたは Ubuntu ベースのディストリビューションの場合 :

      sudo apt install openjdk-8-jdk
    • Red Hat ベースのディストリビューションの場合 :

      sudo yum install java-1.8.0-openjdk
  4. 必要なすべての依存関係があることを確認するには、GitHub の AWS IoT Greengrass サンプルリポジトリから Greengrass 依存関係チェッカーをダウンロードして実行します。 これらのコマンドは、依存関係チェッカースクリプトを解凍して実行します。

    mkdir greengrass-dependency-checker-GGCv1.10.x cd greengrass-dependency-checker-GGCv1.10.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.10.x.zip unzip greengrass-dependency-checker-GGCv1.10.x.zip cd greengrass-dependency-checker-GGCv1.10.x sudo ./check_ggc_dependencies | more
    注記

    check_ggc_dependencies スクリプトは、AWS IoT Greengrass をサポートしているプラットフォームで動作し、特定の Linux システムコマンドを必要とします。詳細については、依存関係チェッカーの Readme を参照してください。

  5. 依存関係チェッカーの出力で示されているように、必要な依存関係をすべてデバイスにインストールします。不足しているカーネルレベルの依存関係については、カーネルの再コンパイルが必要になる場合があります。Linux コントロールグループ (cgroups) をマウントする場合は、cgroupfs-mount スクリプトを実行できます。これにより、AWS IoT Greengrass で Lambda 関数のメモリ制限を設定できるようになります。AWS IoT Greengrass をデフォルトの containerization モードで実行するには、Cgroups も必要です。

    出力にエラーが表示されなければ、AWS IoT Greengrass はデバイスで正常に実行されます。

    重要

    このチュートリアルでは、ローカル Lambda 関数を実行するには Python 3.7 ランタイムが必要です。ストリームマネージャーが有効な場合、Java 8 ランタイムも必要です。これらのランタイムの前提条件が不足しているという警告が check_ggc_dependencies スクリプトによって表示される場合は、続行する前に必ずインストールしてください。その他の欠落しているオプションのランタイム前提条件に関する警告は無視できます。

    AWS IoT Greengrass の要件と依存関係のリストについては、「サポートされているプラットフォームと要件」を参照してください。