2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS IoT Greengrass 2.14で追加されたnucleus liteを取り急ぎ試しました

Posted at

Greengrassの2.14でnucleus liteが追加されました。

軽量が売りです。

これまでのnucleus(マネジメントコンソール上の表記はNucleus Classic)はJavaで実装されていましたが、nucleus liteはC言語で実装されています。

nucleusの全機能が提供されているわけではありません。
2024/12/18時点でnucleus liteがサポートしているAWS提供コンポーネントは以下の通りです。

  • CloudWatch metrics
  • Secure tunneling
  • Stream manager

まだ少ないですね。

参考:https://docs.aws.amazon.com/greengrass/v2/developerguide/public-components.html

とりあえずインストールしてみて、ディスクとメモリの使用量を確認しました。

環境

EC2

  • Ubuntu Server 24.04 LTS (HVM), SSD Volume Type
  • arm64
  • t4.micro(2 vCPU、0.5 GiB メモリ)
  • 8GiBストレージ

インストール(Nucleus Classic)

  1. 左メニューの「Greengrassデバイス」の「コアデバイス」を選択します
    「コアデバイスをセットアップ」メニューの「1つのCoreデバイスをセットアップ」を選択します

  2. コアデバイス名とモノのグループの情報を入力します(とりあえずデフォルトでOK)

  3. 「Nucleus Classic」を選択します
    オペレーティングシステムは「Linux」を選択します
    「インストーラのダウンロードでデバイスをセットアップ」を選択します

  4. 「モノを作成」ボタンをクリックします
    「接続キットをダウンロード」をクリックしNucleusClassic-connectionKit.zipをダウンロードします
    「インストーラをダウンロード」をクリックしgreengrass-nucleus-latest.zipをダウンロードします

    us-east-1.console.aws.amazon.com_iot_home_region=us-east-1 (5).png

  5. 以下のコマンドを実行します

    ダウンロードしたファイルはS3に格納し、s3 syncでコピーする手順にしています

    sudo su - ubuntu
    
    sudo apt update
    sudo apt install -y unzip default-jdk
    
    # AWS CLIをインストール
    curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
    unzip awscliv2.zip
    sudo ./aws/install
    
    aws s3 sync s3://637423213562-us-east-1-greengrass/classic/ ./
    
    unzip greengrass-nucleus-latest.zip -d GreengrassInstaller
    sudo mkdir -p /greengrass/v2
    sudo unzip NucleusClassic-connectionKit.zip -d /greengrass/v2
    sudo sed -i 's|{{config_dir}}|/greengrass/v2|g; s|{{nucleus_component}}|aws.greengrass.Nucleus|g' /greengrass/v2/config.yaml && sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE -jar ./GreengrassInstaller/lib/Greengrass.jar --init-config /greengrass/v2/config.yaml --component-default-user ggc_user:ggc_group --setup-system-service true
    

インストール(Nucleus Lite)

  1. 左メニューの「Greengrassデバイス」の「コアデバイス」を選択します
    「コアデバイスをセットアップ」メニューの「1つのCoreデバイスをセットアップ」を選択します

  2. コアデバイス名とモノのグループの情報を入力します(とりあえずデフォルトでOK)

  3. 「Nucleus Lite」を選択します
    「パッケージのダウンロードでデバイスをセットアップ (約 1 MB)」を選択します

    us-east-1.console.aws.amazon.com_iot_home_region=us-east-1 (6).png

  4. 「モノを作成」ボタンをクリックします
    「接続キットをダウンロード」をクリックしNucleusLite-connectionKit.zipをダウンロードします
    「インストーラをダウンロード」をクリックしaws-greengrass-lite-ubuntu-arm64.zipをダウンロードします

    us-east-1.console.aws.amazon.com_iot_home_region=us-east-1 (7).png

  5. 以下のコマンドを実行します

    ダウンロードしたファイルはS3に格納し、s3 syncでコピーする手順にしています

    sudo su - ubuntu
    
    sudo apt update
    sudo apt upgrade -y
    
    sudo apt install -y unzip
    
    # AWS CLIをインストール
    curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
    unzip awscliv2.zip
    sudo ./aws/install
    
    aws s3 sync s3://637423213562-us-east-1-greengrass/lite/ ./
    
    unzip aws-greengrass-lite-ubuntu-arm64.zip    sudo mkdir -p /greengrass/v2
    # 以下のファイルが同一ディレクトリ内にあることを確認
    ls -l install-greengrass-lite.sh aws-greengrass-lite-0.1.1-Linux.deb NucleusLite-connectionKit.zip
    
    sudo ./install-greengrass-lite.sh
    

メトリクスを確認

CloudWatchメトリクスを確認しました。

一番左が何もインストールしないで起動した状態、真ん中がNucleus Classic、一番右がNucleus Liteです。

us-east-1.console.aws.amazon.com_cloudwatch_home_region=us-east-1.png

  • メモリ使用量(100% = 512MiB)

    未インストール Nucleus Classic Nucleus Lite
    223.232MiB 317.952MiB 234.496MiB
  • ディスク使用量(100% = 8GiB)

    未インストール Nucleus Classic Nucleus Lite
    2.952GiB 4.624GiB 3.8GiB

確かにメモリとディスクの使用量は抑えられているようです。

まとめ

インストーラーが.deb形式だけの提供なので、Amazon Linux 2023では自前でビルドする必要がありそうです。ただ、エッジデバイス向けOSとしてはRaspberry Pi OSやUbuntuがデファクトなのかもしれません。

それはそうと、インストール手順が簡単になっていて、びっくりでした。

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?