LoginSignup
1
2

More than 1 year has passed since last update.

UbuntuにAWS IoT GreengrassV2をインストールする

Last updated at Posted at 2021-10-29

はじめに

今回は、Ubuntu搭載デバイスに2020年12月にリリースされたGreengrassの新しいバージョンであるGreengrassV2をインストールする手順を紹介します。
Greengrass V2ではエッジランタイムのオープンソース化や、使用する機能のみをデプロイに含められることによるソフトウェアコンポーネントのモジュール性の向上、エッジデバイスでアプリケーションをローカルに開発して他のデバイスに展開する機能の追加等の変更が行われています。

※旧バージョンGreengrass V1のインストールについてはこちらの記事をご覧ください。

環境

動作確認済デバイス(OS)

  • e-RT3 Plus F3RP70-2L1(Ubuntu 18.04 32bit)
    横河電機のエッジコントローラです。

  • Raspberry Pi 4 Model B (Ubuntu Server 20.04 32bit)

これらのデバイスでは armhf アーキテクチャのパッケージが動作します。

エッジデバイスの準備

パッケージのインストール

エッジデバイスに必要なパッケージをインストールします。

sudo apt update
sudo apt install unzip default-jdk

Note
エッジデバイスがproxy環境下にある場合はproxy設定が必要です。

AWS認証情報の設定

エッジデバイスの環境変数にAWSの認証情報を設定します。
詳しくは以下のページをご覧ください。
https://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/quick-installation.html#provide-installer-aws-credentials

コアデバイスの登録とコアソフトウェアのインストール

クラウド上にコアデバイスを登録し、エッジデバイスにコアソフトウェアをインストールします。

  1. Greengrass V2のページに行き、「1つのCoreデバイスをセットアップ」をクリックします。
    ggv2-1.png

  2. コアデバイスの名前を入力します。
    ggv2-2.png

  3. モノのグループを作成する場合はグループ名を入力します。既存のグループにコアデバイスを追加することもできます。
    ggv2-3.png

  4. エッジデバイスにコアソフトウェアをダウンロードしてインストールします。
    ①、②のコマンドを順にエッジデバイスで実行してコアソフトウェアをダウンロード、インストールします。
    インストールが完了したら「コアデバイスを表示」をクリックします。
    ggv2-4.png

    Note
    エッジデバイスがproxy環境下にある場合は、proxy環境下でのコアソフトウェアのインストールをご覧ください。

  5. 作成したコアデバイスが表示されていたら成功です。(反映されるまで少し時間がかかります。)
    ggv2-5.png

補足

proxy環境下でのコアソフトウェアのインストール

proxy環境下にあるエッジデバイスにコアソフトウェアをインストールする場合は以下の設定が必要です。
環境により設定項目は異なりますが、参考までに今回私が行った設定を紹介します。

  1. コアソフトウェアの設定ファイルconfig.yamlを作成し、proxy設定を行います。

    config.yaml
    services:
      aws.greengrass.Nucleus:
        configuration:
          mqtt:
            port: 443
          greengrassDataPlanePort: 443
          networkProxy:
            proxy:
              url: "http://username:password@xxx.com:port/"
    
  2. コアデバイスの登録とコアソフトウェアのインストールの手順4の②のコマンドから--deploy-dev-tools trueを削除し、--init-config (path/to/config.yaml)を追加します。コマンドは以下のようになります。
    コマンド例

        sudo -E java \
        -Droot="/greengrass/v2" -Dlog.store=FILE -jar ./GreengrassCore/lib/Greengrass.jar --aws-region ap-northeast-1 \
        --thing-name SampleCore --thing-group-name SampleCoreGroup --component-default-user ggc_user:ggc_group \
        --provision true --setup-system-service true --init-config (path/to/config.yaml) #追加
    

    Note
    proxy環境下だとデプロイに失敗するため--deploy-dev-tools trueオプションを削除しています。手動でデプロイする場合はaws.greengrass.Cliコンポーネントのデプロイをご覧ください。

aws.greengrass.Cliコンポーネントのデプロイ

aws.greengrass.Cliはエッジデバイスでアプリケーションをローカルに開発、デバッグできるコマンドラインインターフェース(CLI)です2
コアソフトウェアのインストール時に--deploy-dev-tools trueオプションをつけなかった場合、aws.greengrass.Cliコンポーネントがコアデバイスにデプロイされません。
必要に応じて以下の手順に従って手動でデプロイします。

  1. メニューの「コンポーネント」→「パブリックコンポーネント」→「aws.greengrass.Cli」をクリックします。
    ggv2-6.png

  2. 「デプロイ」をクリックします。
    ggv2-7.png

  3. デプロイを選択します。今回は新しいデプロイを作成します。
    ggv2-8.png

  4. デプロイターゲットを指定します。デプロイ情報にデプロイ名、デプロイターゲットのターゲットタイプに「コアデバイス」ターゲット名にコアデバイス名を指定して「次へ」をクリックします。
    ggv2-9.png

  5. デプロイするコンポーネントを指定します。パブリックコンポーネントのaws.greengrass.Cliにチェックが入っていることを確認し、「次へ」をクリックします。
    ggv2-10.png

  6. コンポーネントの設定と詳細設定はデフォルトのまま「次へ」をクリックします。レビュー画面で設定を確認し、問題なければ「デプロイ」をクリックします。
    ggv2-13.png

  7. デプロイの画面に移ります。デプロイが完了するとステータスが「アクティブ」から「完了」に変わります。
    ggv2-14.png

  8. デプロイの成功を確認します。エッジデバイスでコマンドを実行し、以下のように出力されたら成功です。

    username@ubuntu:~$ /greengrass/v2/bin/greengrass-cli --version
    Greengrass CLI Version: 2.1.0
    
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2