AWS IoT Greengrass コアデバイスにインストールして実行する - AWS IoT Greengrass

AWS IoT Greengrass Version 1 は 2023 年 6 月 30 日に延長ライフフェーズに参加しました。詳細については、「AWS IoT Greengrass V1 メンテナンスポリシー」を参照してください。この日以降、 AWS IoT Greengrass V1 は機能、機能強化、バグ修正、またはセキュリティパッチを提供する更新をリリースしません。で実行されるデバイスは中断 AWS IoT Greengrass V1 されず、引き続き動作し、クラウドに接続します。への移行 AWS IoT Greengrass Version 2を強くお勧めします。これにより、重要な新機能が追加され、追加のプラットフォームがサポートされます

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

AWS IoT Greengrass コアデバイスにインストールして実行する

注記

このチュートリアルでは、Raspberry Pi で AWS IoT Greengrass Core ソフトウェアを実行する手順について説明しますが、サポートされている任意のデバイスを使用できます。

このセクションでは、 AWS IoT Greengrass コアデバイスで Core ソフトウェアを設定、インストール、実行します。

をインストールして実行するには AWS IoT Greengrass
  1. このガイドの AWS IoT Greengrass Core ソフトウェアセクションから、 AWS IoT Greengrass Core ソフトウェアインストールパッケージをダウンロードします。コアデバイスの CPU アーキテクチャ、ディストリビューション、OS に最適なパッケージを選択します。

    • Raspberry Pi で、ARMv7L アーキテクチャと Linux オペレーティングシステムに対応したパッケージをダウンロードします。

    • Amazon EC2 インスタンスの場合は、x86_64 アーキテクチャおよび Linux オペレーティングシステムに対応したパッケージをダウンロードします。

    • NVIDIA Jetson TX2 の場合は、Armv8 (AArch64) アーキテクチャおよび Linux オペレーティングシステムに対応したパッケージをダウンロードします。

    • Intel Atom の場合は、x86_64 アーキテクチャおよび Linux オペレーティングシステムに対応したパッケージをダウンロードします。

  2. 前のステップでは、コンピュータに 5 つのファイルをダウンロードしました。

    • greengrass-OS-architecture-1.11.6.tar.gz – この圧縮ファイルには、 AWS IoT Greengrass コアデバイスで実行される Core ソフトウェアが含まれています。

    • certificateId-certificate.pem.crt - デバイス証明書ファイル。

    • certificateId-public.pem.key - デバイス証明書のパブリックキーファイル。

    • certificateId-private.pem.key - デバイス証明書のプライベートキーファイル。

    • AmazonRootCA1.pem - Amazon ルート認証機関 (CA) ファイル。

    このステップでは、これらのファイルをコンピュータからコアデバイスに転送します。以下の操作を実行します。

    1. Greengrass コアデバイスの IP アドレスがわからない場合は、コアデバイスでターミナルを開き、次のコマンドを実行します。

      注記

      このコマンドは、一部のデバイスでは正しい IP アドレスを返さない可能性があります。デバイスの IP アドレスを取得する方法については、デバイスのドキュメントを参照してください。

      hostname -I
    2. これらのファイルをコンピュータからコアデバイスに転送します。ファイル転送手順はお使いのコンピュータのオペレーティングシステムによって異なります。ファイルを Raspberry Pi デバイスに転送する方法を示すステップについて、オペレーティングシステムを選択します。

      注記

      Raspberry Pi では、デフォルトのユーザー名は pi、デフォルトのパスワードは raspberry です。

      NVIDIA Jetson TX2 では、デフォルトのユーザー名は nvidia、デフォルトのパスワードは nvidia です。

      Windows

      圧縮ファイルをコンピュータから Raspberry Pi コアデバイスに転送するには、WinSCP などのツールまたは PuTTYpscp コマンドを使用してください。pscp コマンドを使用するには、コンピュータでコマンドプロンプトウィンドウを開き、次のコマンドを実行します。

      cd path-to-downloaded-files pscp -pw Pi-password greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi pscp -pw Pi-password certificateId-certificate.pem.crt pi@IP-address:/home/pi pscp -pw Pi-password certificateId-public.pem.key pi@IP-address:/home/pi pscp -pw Pi-password certificateId-private.pem.key pi@IP-address:/home/pi pscp -pw Pi-password AmazonRootCA1.pem pi@IP-address:/home/pi
      注記

      このコマンドのバージョン番号は、 AWS IoT Greengrass Core ソフトウェアパッケージのバージョンと一致する必要があります。

      macOS

      圧縮ファイルを Mac から Raspberry Pi コアデバイスに転送するには、コンピュータでターミナルウィンドウを開き、以下のコマンドを実行します。path-to-downloaded-files は、通常 ~/Downloads です。

      注記

      2 つのパスワードの入力を要求される場合があります。その場合、最初のパスワードは Mac の sudo コマンド用で、2 番目は Raspberry Pi のパスワードです。

      cd path-to-downloaded-files scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi scp certificateId-certificate.pem.crt pi@IP-address:/home/pi scp certificateId-public.pem.key pi@IP-address:/home/pi scp certificateId-private.pem.key pi@IP-address:/home/pi scp AmazonRootCA1.pem pi@IP-address:/home/pi
      注記

      このコマンドのバージョン番号は、 AWS IoT Greengrass Core ソフトウェアパッケージのバージョンと一致する必要があります。

      UNIX-like system

      コンピュータから Raspberry Pi コアデバイスに圧縮ファイルを転送するには、コンピュータでターミナルウィンドウを開き、以下のコマンドを実行します。

      cd path-to-downloaded-files scp greengrass-OS-architecture-1.11.6.tar.gz pi@IP-address:/home/pi scp certificateId-certificate.pem.crt pi@IP-address:/home/pi scp certificateId-public.pem.key pi@IP-address:/home/pi scp certificateId-private.pem.key pi@IP-address:/home/pi scp AmazonRootCA1.pem pi@IP-address:/home/pi
      注記

      このコマンドのバージョン番号は、 AWS IoT Greengrass Core ソフトウェアパッケージのバージョンと一致する必要があります。

      Raspberry Pi web browser

      Raspberry Pi のウェブブラウザを使用して圧縮ファイルをダウンロードした場合は、ファイルは /home/pi/Downloadsなどの Pi の ~/Downloads フォルダにある必要があります。それ以外の場合は、圧縮ファイルは /home/piなどの Pi の ~ フォルダ にある必要があります。

  3. Greengrass コアデバイスでターミナルを開き、 AWS IoT Greengrass Core ソフトウェアと証明書を含むフォルダに移動します。path-to-transferred-files は、コアデバイスでファイルを転送したパスに置き換えます。例えば、Raspberry Pi で、cd /home/pi を実行します。

    cd path-to-transferred-files
  4. AWS IoT Greengrass コアデバイスで Core ソフトウェアを解凍します。コアデバイスに転送したソフトウェアアーカイブを解凍するには、次のコマンドを実行します。このコマンドは -C / 引数を使用して、コアデバイスのルートフォルダに /greengrass フォルダを作成します。

    sudo tar -xzvf greengrass-OS-architecture-1.11.6.tar.gz -C /
    注記

    このコマンドのバージョン番号は、 AWS IoT Greengrass Core ソフトウェアパッケージのバージョンと一致する必要があります。

  5. 証明書とキーを AWS IoT Greengrass Core ソフトウェアフォルダに移動します。次のコマンドを実行して証明書用のフォルダを作成し、証明書とキーをそのフォルダに移動させます。path-to-transferred-files をコアデバイス上でファイルを転送したパスに置き換え、certificateId をファイル名に含まれる証明書 ID に置き換えます。例えば、Raspberry Pi では、 path-to-transferred-files/home/pi に置き換えます。

    sudo mv path-to-transferred-files/certificateId-certificate.pem.crt /greengrass/certs sudo mv path-to-transferred-files/certificateId-public.pem.key /greengrass/certs sudo mv path-to-transferred-files/certificateId-private.pem.key /greengrass/certs sudo mv path-to-transferred-files/AmazonRootCA1.pem /greengrass/certs
  6. AWS IoT Greengrass Core ソフトウェアは、ソフトウェアのパラメータを指定する設定ファイルを使用します。この設定ファイルは、証明書ファイルと使用する AWS クラウド エンドポイントのファイルパスを指定します。このステップでは、 AWS IoT Greengrass コアの Core ソフトウェア設定ファイルを作成します。以下の操作を実行します。

    1. コアの AWS IoT モノの Amazon リソースネーム (ARN) を取得します。以下の操作を実行します。

      1. AWS IoT コンソールで、[Manage] (管理) の [Greengrass devices](Greengrass デバイス) で、[Groups (V1)] (グループ (V1)) を選択します。

      2. [Greengrass groups] (Greengrassグループ) ページで、以前に作成した [Ggroup] (グループ) を選択します。

      3. [Overview](概要) で、 [Greengrass core] (Greengrass コア) を選択します。

      4. コアの詳細ページで、AWS IoT モノの ARN をコピーし、 AWS IoT Greengrass Core 設定ファイルで使用するように保存します。

    2. 現在のリージョン AWS アカウント の の AWS IoT デバイスデータエンドポイントを取得します。デバイスは、このエンドポイントを使用して に AWS IoT モノ AWS として接続します。以下の操作を実行します。

      1. AWS IoT コンソールで、[Settings] (設定) を選択します。

      2. [Device data endpoint](デバイス データ エンドポイント) で、 [Endpoint](エンドポイント)をコピーし、 AWS IoT Greengrass Core 設定ファイルで使用するために保存します。

    3. AWS IoT Greengrass Core ソフトウェア設定ファイルを作成します。例えば、次のコマンドを実行し、GNU nano を使用してファイルを作成することができます。

      sudo nano /greengrass/config/config.json

      ファイルの内容を次の JSON ドキュメントに置き換えます。

      { "coreThing" : { "caPath": "AmazonRootCA1.pem", "certPath": "certificateId-certificate.pem.crt", "keyPath": "certificateId-private.pem.key", "thingArn": "arn:aws:iot:region:account-id:thing/MyGreengrassV1Core", "iotHost": "device-data-prefix-ats.iot.region.amazonaws.com", "ggHost": "greengrass-ats.iot.region.amazonaws.com", "keepAlive": 600 }, "runtime": { "cgroup": { "useSystemd": "yes" } }, "managedRespawn": false, "crypto": { "caPath": "file:///greengrass/certs/AmazonRootCA1.pem", "principals": { "SecretsManager": { "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key" }, "IoTCertificate": { "privateKeyPath": "file:///greengrass/certs/certificateId-private.pem.key", "certificatePath": "file:///greengrass/certs/certificateId-certificate.pem.crt" } } } }

      次に、以下の操作を実行します。

      • Amazon ルート CA 1 とは異なる Amazon ルート CA 証明書をダウンロードした場合は、AmazonRootCA1.pem の各インスタンスを Amazon ルート CA ファイルの名前に置き換えます。

      • certificateId の各インスタンスを証明書とキーファイルの名前に含まれる証明書 ID に置き換えます。

      • arn:aws:iot:region:account-id:thing/MyGreengrassV1Coreを、以前に保存したコアのモノの ARN に置き換えます。

      • MyGreengrassV1core をコアのモノの名前に置き換えます。

      • device-data-prefix-ats.iot.region.amazonaws.com 「https://」を、前に保存した AWS IoT デバイスデータエンドポイントに置き換えます。

      • [region] (リージョン) をお客様の AWS リージョンに置き換えてください。

      設定ファイルで指定できる設定オプションの詳細については、「AWS IoT Greengrass コア設定ファイル」を参照してください。

  7. コアデバイスがインターネットに接続されていることを確認します 次に、コアデバイスで AWS IoT Greengrass を起動します。

    cd /greengrass/ggc/core/ sudo ./greengrassd start

    Greengrass successfully started」メッセージが表示されます。PID を書き留めておきます。

    注記

    システム起動 AWS IoT Greengrass 時に起動するようにコアデバイスをセットアップするには、「」を参照してくださいInit システムを設定して Greengrass デーモンを開始する

    次のコマンドを実行して、 AWS IoT Greengrass Core ソフトウェア (Greengrass デーモン) が機能していることを確認します。PID-number は、PID に置き換えます。

    ps aux | grep PID-number

    実行中の Greengrass デーモンへのパスを持つ PID のエントリが表示されます (例: /greengrass/ggc/packages/1.11.6/bin/daemon)。問題が発生した場合は AWS IoT Greengrass、「」を参照してくださいトラブルシューティング AWS IoT Greengrass