AWS IoT Greengrass Core ソフトウェアをインストールします。 - AWS IoT Greengrass

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

AWS IoT Greengrass Core ソフトウェアをインストールします。

は、 AWS IoT Greengrass コアソフトウェアは、AWSの機能を AWS IoT Greengrass コア ローカル・デバイスが生成されるデータに対してローカルに動作できるようにします。

AWS IoT Greengrass には、AWS IoT Greengrass Core ソフトウェアをインストールするためのオプションがいくつか用意されています。

AWS IoT Greengrass は、AWS IoT Greengrass Core ソフトウェアを実行するコンテナ化された環境も提供します。

 

AWS IoT Greengrass Core ソフトウェアパッケージのダウンロードと抽出

プラットフォームで tar.gz ファイルとしてダウンロードしてデバイスで抽出する AWS IoT Greengrass Core ソフトウェアを選択します。最新バージョンのソフトウェアをダウンロードできます。詳細については、「AWS IoT Greengrass Core ソフトウェア」を参照してください。

 

Greengrass デバイスのセットアップスクリプトを実行する

Greengrass デバイスのセットアップを実行して、デバイスの設定、最新バージョンの AWS IoT Greengrass Core ソフトウェアのインストール、および Hello World Lambda 関数のデプロイを数分で行うことができます。詳細については、「クイックスタート グリーングラスデバイスのセットアップ」を参照してください。

 

APT リポジトリからの AWS IoT Greengrass Core ソフトウェアのインストール

Advanced Package Tool (APT) パッケージ管理システムを使用して、最新バージョンの AWS IoT Greengrass Core ソフトウェアをコアデバイスにインストールできます。AWS IoT Greengrass が提供する APT リポジトリには、次のパッケージが含まれています。

  • aws-iot-greengrass-core。AWS IoT Greengrass Core ソフトウェアをインストールします。

  • aws-iot-greengrass-keyring。AWS IoT Greengrass パッケージリポジトリの署名に使用する GnuPG (GPG) キーをインストールします。

    このソフトウェアをダウンロードすると、Greengrass Core ソフトウェアのライセンス契約に同意したと見なされます。

apt コマンドを使用して AWS IoT Greengrass Core ソフトウェアをインストールする場合は、次の考慮事項に注意してください。

AWS IoT Greengrass Core ソフトウェアは、ルートディレクトリにインストールされます。

apt コマンドは、ルートファイルシステムの greengrass ディレクトリに AWS IoT Greengrass Core ソフトウェアをインストールします。/greengrass がすでに存在する場合、このコマンドは新しいソフトウェアバージョンをインストールします。ただし、グループ情報やコア設定は上書きされません。

無線通信 (OTA) による更新はサポートされていません。

apt インストールオプションを使用すると、コアデバイスの AWS IoT Greengrass Core ソフトウェアはアップグレードできますが、AWS IoT Greengrass OTA 更新エージェント が提供する安全な更新パスはサポートされません。OTA 更新エージェント は、tar.gz ファイルのダウンロードと抽出 インストールオプションまたは Greengrass デバイスのセットアップスクリプトを実行する インストールオプションを使用したときに AWS IoT Greengrass Core ソフトウェアパッケージに含まれるソフトウェアコンポーネントです。OTA 更新エージェント は、更新が失敗した場合に更新をロールバックした後でもコアが引き続き機能することを保証します。詳細については、「AWS IoT Greengrass Core ソフトウェアの OTA 更新」を参照してください。

キーリングパッケージは最新の状態にしておくことをお勧めします。

aws-iot-greengrass-keyring パッケージを最新の状態にしておくと、AWS IoT Greengrass APT リポジトリの認証に使用される GPG キーの更新を受け取ることができます。また、AWS IoT Greengrass Core ソフトウェアをより簡単にアップグレードできます。これらの信頼されたキーは /etc/apt/trusted.gpg.d/ にインストールされます。パブリックキーは 2 年間有効です。有効期限が切れた場合は、キーリングパッケージを再設定する必要があります。

wget -O aws-iot-greengrass-keyring.deb https://d1onfpft10uf5o.cloudfront.net/greengrass-apt/downloads/aws-iot-greengrass-keyring.deb sudo dpkg -i aws-iot-greengrass-keyring.deb
重要

万一、AWS IoT Greengrass が管理するキーが侵害された場合は、aws-iot-greengrass-keyring パッケージを更新して、侵害されたキーを新しいキーに置き換える必要があります。詳細については、AWS カスタマーサポートにお問い合わせください。

要件

apt を使用した AWS IoT Greengrass Core ソフトウェアのインストールには、次の要件が適用されます。

  • デバイスで、次のいずれかのプラットフォームが実行されている必要があります。

    アーキテクチャー

    OS

    配信

    Armv8 (AArch64)

    Linux

    Arch Linux

    Armv7l

    Linux

    Raspbian Buster、2019-07-10

    x86_64

    Linux

    Ubuntu 18.04

  • デバイスに対するルートアクセス権が必要です。

  • 次の手順の各ステップを実行するには、デバイスにシェルコマンドとして sudowgetcurldpkgechounzip、および tar がインストールされている必要があります。

apt を使用した AWS IoT Greengrass Core ソフトウェアのインストール

APT パッケージ管理システムを使用して AWS IoT Greengrass Core ソフトウェアをデバイスにインストールできます。ソフトウェアをインストールする前に、いくつかのコア設定ステップが必要になる場合があります。

次の手順では、デバイスのターミナルウィンドウでコマンドを実行します。

コアを設定するには

  1. AWS IoT Greengrass を初めて設定する場合は、コアを設定する必要があります。adduser コマンドまたは addgroup コマンドが使用できない場合は、代わりに useradd または groupadd を使用します。

    1. ggc_user システムアカウントと ggc_group システムアカウントを作成します。

      sudo adduser --system ggc_user sudo addgroup --system ggc_group
    2. コアデバイスの証明書とキー、およびコア設定ファイルを設定します。

      1. AWS IoT の AWS IoT Greengrass の設定」のステップに従って、Greengrass グループを作成してコアを登録します。このプロセスでは、ダウンロードするセキュリティリソースパッケージも生成されます。このパッケージは、コアデバイス証明書、パブリック/プライベートキー、およびコア設定ファイルを含む tar.gz ファイルです。ファイル名は、10 桁のハッシュで始まります (例: c6973960cc-setup.tar.gz)。このハッシュは、証明書とキーファイルの名前にも使用されます。

        AWS IoT Greengrass Core ソフトウェアをダウンロードするステップ 11 はスキップします。

      2. パッケージをコアデバイスに転送し、次のコマンドを実行してセキュリティリソースをインストールします。hash は、tar.gz ファイルの 10 桁のハッシュに置き換えます。

        sudo mkdir -p /greengrass sudo tar -xzvf hash-setup.tar.gz -C /greengrass
      3. ルート CA 証明書をダウンロードします。適切なルート CA 証明書の選択については、AWS IoT Core 開発者ガイドの「サーバー認証」を参照してください。

        次の例では AmazonRootCA1.pem をダウンロードします。curl を使用するには、コマンドの wget -Ocurl に置き換えます。

        cd /greengrass/certs/ sudo wget -O root.ca.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem

      次の手順では、証明書とキーを /greengrass/certs にインストールし、設定ファイルを /greengrass/config にインストールします。詳細については、「AWS IoT Greengrass Core 設定ファイル」を参照してください。

  2. AWS IoT Greengrass の依存関係チェッカーをダウンロードして実行します。依存関係チェッカーでは、AWS IoT Greengrass Core ソフトウェアに必要なすべての依存関係があることを確認します。特定のパッチバージョンから別のパッチバージョン (例: v1.9.3 から v1.9.4) にアップグレードする場合は、このステップをスキップできます。

    1. スクリプトをダウンロードするディレクトリで、次のコマンドを実行します。curl を使用するには、コマンドの wgetcurl に置き換えます。

      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
    2. more が表示されている場所で、Spacebar キーを押すと、出力の表示が切り替わります。

      • Greengrass グループで ストリームマネージャーが有効になっている場合は、グループをデプロイする前に Java 8 ランタイムもインストールする必要があります。この機能は、AWS IoT Greengrass コンソールで [Default Group creation] ワークフローを使用してグループを作成すると、デフォルトで有効になります。

      • ターゲット Lambda ランタイム (Python 3.7 など) をインストールし、その他の欠落しているオプションのランタイム前提条件に関する警告は無視できます。

      • 欠落しているシェルコマンドに関する警告は無視できます。これらは、このインストールに含まれていない OTA 更新エージェント で必要になります。

       

AWS IoT Greengrass Core ソフトウェアをインストールするには

  1. AWS IoT Greengrass キーリングパッケージをインストールし、リポジトリを追加します。curl を使用するには、コマンドの wget -Ocurl に置き換えます。

    wget -O aws-iot-greengrass-keyring.deb https://d1onfpft10uf5o.cloudfront.net/greengrass-apt/downloads/aws-iot-greengrass-keyring.deb sudo dpkg -i aws-iot-greengrass-keyring.deb echo "deb https://dnw9lb6lzp2d8.cloudfront.net stable main" | sudo tee /etc/apt/sources.list.d/greengrass.list
    注記

    デバイスのキーリングパッケージを最新の状態にしておく場合、このステップは、APT リポジトリから AWS IoT Greengrass Core ソフトウェアを初めてインストールするときにのみ必要です。

  2. パッケージのリストを更新します。

    sudo apt update
  3. AWS IoT Greengrass Core ソフトウェアをインストールします。

    sudo apt install aws-iot-greengrass-core
  4. Greengrass デーモンを開始します。以下のコマンドでは、aws-iot-greengrass-core パッケージとともにインストールされた systemd スクリプトを使用します。

    systemctl start greengrass.service systemctl status greengrass.service

    出力に表示された Active の状態が active (running) である場合、デーモンは正常に開始しています。

 

APT リポジトリの使用を停止するには

AWS IoT Greengrass で APT リポジトリの使用を停止する場合は、パッケージを削除し、ソースリストを更新します。

注記

remove コマンドはパッケージを削除しますが、設定情報は削除されません。すべての設定情報 (デバイス証明書、グループ情報、ログファイルなど) も完全に削除する場合は、次のコマンドの removepurge に置き換えます。

sudo apt remove aws-iot-greengrass-core aws-iot-greengrass-keyring sudo rm /etc/apt/sources.list.d/greengrass.list sudo apt update

systemd スクリプトを使用した Greengrass デーモンのライフサイクルの管理

aws-iot-greengrass-core パッケージは、AWS IoT Greengrass Core ソフトウェア (デーモン) のライフサイクルの管理に使用できる systemd スクリプトもインストールします。

  • 起動時に Greengrass デーモンを開始するには:

    systemctl enable greengrass.service
  • Greengrass デーモンを開始するには:

    systemctl start greengrass.service
  • Greengrass デーモンを停止するには:

    systemctl stop greengrass.service
  • Greengrass デーモンのステータスを確認するには:

    systemctl status greengrass.service

 

Docker コンテナでの AWS IoT Greengrass の実行

AWS IoT Greengrass には、Docker コンテナで AWS IoT Greengrass Core ソフトウェアを簡単に実行できるように Dockerfile と Docker イメージが用意されています。詳細については、「AWS IoT Greengrass Docker ソフトウェア」を参照してください。

注記

Docker アプリケーションは、Greengrass コアデバイスで実行することもできます。そのためには、Greengrass Docker アプリケーションのデプロイコネクタを使用します。

 

スナップでの AWS IoT Greengrass の実行

現在、 AWS IoT Greengrass スナップソフトウェアは、 AWS IoT Greengrass コア バージョン1.8のみ。

は、 AWS IoT Greengrass snapソフトウェアのダウンロードにより、 AWS IoT Greengrass コンテナ化された便利なソフトウェアパッケージにより、Linuxクラウド、デスクトップ、IoT環境での機能が制限されています。これらのパッケージまたはスナップには、AWS IoT Greengrass Core ソフトウェアとその依存関係が含まれています。これらのパッケージはダウンロードして、Linux 環境でそのまま使用することができます。

は、 AWS IoT Greengrass snapを使用すると、 AWS IoT Greengrass 機能に制限があります。現在、Java、Node.js、およびネイティブの Lambda 関数はサポートされていません。機械学習推論、コネクタ、およびコンテナ化されていない Lambda 関数もサポートされていません。

AWS IoT Greengrass スナップの使用を開始する

パッケージ済み AWS IoT Greengrass スナップはシステムのデフォルトを使用するように設計されているため、以下のステップの実行が必要になる場合があります。

  • AWS IoT Greengrass スナップはデフォルトの Greengrass ユーザーおよびグループ設定を使用するように設定されています。これにより、ルートとして実行される Greengrass グループや Lambda 関数を簡単に利用できます。ルートとして実行されない Greengrass グループや Lambda 関数を使用する必要がある場合は、これらの設定を更新してシステムに追加します。

  • AWS IoT Greengrass スナップは、正常に動作するために接続する必要がある、多くのインターフェイスを使用します。これらのインターフェイスは、セットアップ中に自動的に接続されます。スナップの設定中に他のオプションを使用する場合は、これらのインターフェイスの手動接続が必要になる場合があります。

AWS IoT Greengrass スナップおよびこれらの変更の詳細については、「Greengrass スナップリリースノート」を参照してください。

  1. 使用するデバイスのターミナルで次のコマンドを実行して、スナップをインストールおよびアップグレードします。

    sudo apt-get update && sudo apt-get upgrade snapd
  2. ルートとして実行されない Greengrass グループや Lambda 関数を使用する必要がある場合は、Greengrass ユーザーとグループのデフォルト設定を更新してシステムに追加します。AWS IoT Greengrass を使用したユーザーおよびグループの設定の更新については、「グループ内の Lambda 関数に対するデフォルトのアクセス ID の設定」を参照してください。

    • Ubuntu Core システムの場合:

      • ggc_user ユーザーを追加するには、次を使用します。

        sudo adduser --extrausers --system ggc_user
      • ggc_group グループを追加するには、次を使用します。

        sudo addgroup --extrausers --system ggc_group
    • Ubuntu classic システムの場合:

      • ggc_user ユーザーを従来の Ubuntu システムに追加するには、--extrausers フラグを省略して、以下を使用します。

        sudo adduser --system ggc_user
      • ggc_group を従来の Ubuntu システムに追加するには、--extrausers フラグを省略して、以下を使用します。

        sudo addgroup --system ggc_group
  3. ターミナルで以下のコマンドを実行して Greengrass スナップをインストールします。

    sudo snap install aws-iot-greengrass
    注記

    また、AWS IoT Greengrass スナップダウンロードリンクを使用して、Greengrass スナップをローカルにインストールすることもできます。このファイルからローカルにインストールするとき、アサーションを関連付けていない場合は、--dangerous フラグを使用します。

    sudo snap install --dangerous aws-iot-greengrass*.snap

    --dangerous フラグは、必要なインターフェイスに接続する AWS IoT Greengrass スナップの機能の妨げになります。このフラグを使用する場合は、snap connect コマンドを使用して、必要なインターフェイスを手動で接続する必要があります。 詳細については、「Greengrass スナップリリースノート」を参照してください。

  4. スナップがインストールされたら、次のコマンドを実行して Greengrass 証明書と設定ファイルを追加します。

    sudo snap set aws-iot-greengrass gg-certs=/path-to-the-certs/22e592db.tgz
    注記

    必要に応じて、AWS IoT Greengrass コアログ、特に runtime.log を確認することで問題のトラブルシューティングができます。次のコマンドを実行して、runtime.log のコンテンツをターミナルにプリントできます。

    sudo cat /var/snap/aws-iot-greengrass/current/ggc-writable/var/log/system/runtime.log
  5. 次のコマンドを実行して、セットアップが正しく機能していることを確認します。

    $ snap services aws-iot-greengrass

    以下のようなレスポンスが表示されます。

    Service Startup Current Notes aws-iot-greengrass.greengrassd enabled active -

Greengrass のセットアップが完了しました。これで、AWS IoT Greengrass コンソール、AWS REST API、または AWS CLI を使用して、このスナップに関連付けられた Greengrass グループをデプロイできるようになりました。コンソールを使用した Greengrass グループのデプロイの詳細については、「AWS IoT Greengrass Core デバイスへのクラウド設定のデプロイ」を参照してください。CLI または REST API を使用した Greengrass グループのデプロイの詳細については、AWS IoT Greengrass API リファレンスの「CreateDeployment」を参照してください。

スナップの AppArmor 制限を使用したローカルリソースアクセスの設定、snapd REST API の使用、およびスナップインターフェイスの設定の詳細については、「Greengrass スナップリリースノート」を参照してください。

AWS IoT Greengrass コアソフトウェアのインストールのアーカイブ

AWS IoT Greengrass Core ソフトウェアを新しいバージョンにアップグレードすると、現在インストールされているバージョンをアーカイブすることができます。これにより現在のインストール環境が維持されるため、同じハードウェア上で新しいソフトウェアバージョンをテストできます。これにより、何らかの理由であなたのアーカイブバージョンに簡単にロールバックすることもできます。

現在のインストールをアーカイブして新しいバージョンをインストールするには

  1. アップグレードする AWS IoT Greengrass Core ソフトウェアインストールパッケージをダウンロードします。

  2. パッケージを宛先コアデバイスにコピーします。ファイルを転送する方法を示す手順については、こちらのステップを参照してください。

    注記

    現在の証明書、キー、および設定ファイルを後で新しいインストールにコピーします。

    コアデバイス端末で次のステップのコマンドを実行します。

  3. コアデバイスで Greengrass デーモンが停止していることを確認します。

    1. デーモンが実行中であるかどうかを確認するには

      ps aux | grep -E 'greengrass.*daemon'

      出力に root/greengrass/ggc/packages/ggc-version/bin/daemon エントリが含まれる場合、デーモンは実行されています。

      注記

      この手順は、AWS IoT Greengrass Core ソフトウェアが /greengrass ディレクトリにインストールされていることを前提に書かれています。

    2. デーモンを停止するには:

      cd /greengrass/ggc/core/ sudo ./greengrassd stop
  4. 現在の Greengrass ルートディレクトリを別のディレクトリに移動します。

    sudo mv /greengrass /greengrass_backup
  5. コアデバイス上の新しいソフトウェアを解凍します。コマンドの os アーキテクチャプレースホルダーとバージョンプレースホルダーを交換します。

    sudo tar –zxvf greengrass-os-architecture-version.tar.gz –C /
  6. アーカイブされた証明書、キー、および設定ファイルを後で新しいインストールにコピーします。

    sudo cp /greengrass_backup/certs/* /greengrass/certs sudo cp /greengrass_backup/config/* /greengrass/config
  7. デーモンを開始します。

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

これで、新しいインストールをテストするためのグループデプロイを作成できます。何らかの失敗が発生した場合は、アーカイブされたインストールを復元することができます。

アーカイブされたインストールを復元するには

  1. デーモンを停止します。

  2. 新しい /greengrass ディレクトリを削除します。

  3. /greengrass_backup ディレクトリを /greengrass に戻します。

  4. デーモンを開始します。