Armadilloフォーラム

Armadillo Base OS 上での AWS Greengrass V2の利用について

hit-dx

2023年6月6日 12時46分

はじめてフォーラムで質問させていただきまます。

現在、「Armadillo IoT G3L」上で、AWS Greengrass V2を利用したアプリケーションを稼働させています。
※ G3L上でGreengrassの構築はこちらを参考にしました
  → https://armadillo.atmark-techno.com/howto/install-aws-greengrass

同等の内容を「Armadillo IoT A6E」で行おうことを検討しており、検証作業を行っていますが、OSが「Armadillo Base OS」となりコンテナベースのアーキテクチャになったことにより、Greengrass環境の構築に苦戦しております。

「Armadillo IoT A6E」(Armadillo Base OS)での AWS Greengrass V2 環境の構築について、フォーラムやHowToを確認させていただきましたが、まだ情報がなかったため、Armadillo Base OS における AWS Greengrass V2の環境構築の実績ややり方などがありましたら教えていただきたく思います。

コメント

at_shinya.koga

2023年6月6日 19時03分

アットマークテクノの古賀です。

hit-dxさん:
>現在、「Armadillo IoT G3L」上で、AWS Greengrass V2を利用したアプリケーションを稼働させています。
>※ G3L上でGreengrassの構築はこちらを参考にしました
>  → https://armadillo.atmark-techno.com/howto/install-aws-greengrass

有難うございます。

>同等の内容を「Armadillo IoT A6E」で行おうことを検討しており、検証作業を行っていますが、OSが「Armadillo Base OS」となりコンテナベースのアーキテクチャになったことにより、Greengrass環境の構築に苦戦しております。
>
>「Armadillo IoT A6E」(Armadillo Base OS)での AWS Greengrass V2 環境の構築について、フォーラムやHowToを確認させていただきましたが、まだ情報がなかったため、Armadillo Base OS における AWS Greengrass V2の環境構築の実績ややり方などがありましたら教えていただきたく思います。

Base OS の場合は、Debian コンテナ上に環境構築して頂くのがよいでしょう。
AWS からは、Greengrass V2 のコンテナイメージをビルドするための Dockerfile や付属スクリプトが GitHub で提供されていますが、こちらはコンテナイメージがベースにしているユーザーランドが Amazon Linux になっており、Amazon Linux は x64 と aarch64 しかサポートしていないため、A6E 向けに利用することができません:
 https://github.com/aws-greengrass/aws-greengrass-docker
 https://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/build-gr…
しかし、Dockerfile に記述されているコンテナイメージのセットアップ動作と同様な手順を Debian コンテナ上で行うことで、Greengrass V2 のインストールと起動を確認できました。自分の AWS アカウントと紐づけてプロビジョニングする手順を省きましたので、参考にして頂いた Howto と同等な内容の検証はできていませんが、おそらく可能だと思います。

以下は、僕が確認した際の大まかな手順です:

1.) 弊社からリリースしているサンプルの Debian コンテナイメージを A6E で使い、Debian コンテナを作成。
  (※この後の (2) 以降は、Debian コンテナ上で行う手順。)
  Debian コンテナの作成および、作成後の操作手順については、マニュアルや弊社ブログ、このフォーラムの別の質問スレッドを参考にしてください:
  https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…
  https://armadillo.atmark-techno.com/blog/15349/11535
  https://armadillo.atmark-techno.com/index.php/forum/armadillo/14616#com…

2.) apt update と apt-upgrade を実行した後、wget, sudo, vim などの不足パッケージを apt install でインストール。

3.) Howto 記載の手順で OpenJDK 11 JRE をインストール。

4.) aws-greengrass-docker の Dockerfile で行っているのと同様な手順で、Greengrass v2.5.4 のアーカイブをダウンロードして展開:
  https://github.com/aws-greengrass/aws-greengrass-docker/blob/main/Docke…

5.) aws-greengrass-docker の Dockerfile で行っているのと同じ環境変数設定を行ったのち、aws-greengrass-docker の greengrass-entrypoint.sh を実行。
 https://github.com/aws-greengrass/aws-greengrass-docker/blob/main/Docke…
 https://github.com/aws-greengrass/aws-greengrass-docker/blob/main/Docke…

ここで、(5) の環境変数設定を行う際に、PROVISION の値を false ではなく true にして、かつ、お使いの AWS アカウントに紐づけるための以下の三つの環境変数も設定すれば、プロビジョニングも行われるはずです:
 AWS_ACCESS_KEY_ID
 AWS_SECRET_ACCESS_KEY
 AWS_SESSION_TOKEN
 https://github.com/aws-greengrass/aws-greengrass-docker/blob/main/green…

Howto では、AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY を指定する手順を説明していましたが、環境変数二つではなく、上記の三つを使う方の手順が、Greengrass V2 のセットアップ手順では推奨されています:
 https://docs.aws.amazon.com/greengrass/v2/developerguide/quick-installa…

以上、ひとまずの回答です。手順の詳細を説明していませんので、分かりづらいところがあるかと思います。その場合は、遠慮なくご質問くださいませ。
参考になりましたら幸いです。

hit-dx

2023年6月9日 8時08分

古賀さま

丁寧なご回答ありがとうございます。

頂いた情報をもとにこちらでも試してみた結果、無事Greengrass環境の構築を行うことができました。
ありがとうございました。

Armadillo Base OSについては、使い始めたばかりで今後も質問させていただくことがあると思いますので
その時はよろしくお願いいたします。