AWS GreengrassがGAになったようなのでRaspberry pi 3で動かしてみました。基本的にはリンク先の通りで良いのですが幾つかハマったとこをピックアップします。
ドキュメント見た方が良い
先に言っておくとこのPDFドキュメントの方が正確です。
CPUアーキテクチャがARMv7lかARMv8
GreengrassのARMの対応アーキテクチャがv7lかv8なのでRaspberry Pi 3じゃないとダメです。以下のように表示されればOK。
$ arch
armv7l
ちゃんとGreengrassユーザ作らないとダメ
作ってないとGreengrass起動時に怒られます。
$ sudo useradd -r ggc_user
$ sudo groupadd -r ggc_group
Hardlink/softlink protection
これもやっておかないとGreengrass起動時に怒られます。意味はわかってませんが以下のファイルを開いて..
$ sudo vi /etc/sysctl.d/98-rpi.conf
末尾に以下を追記。
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
Raspberry piをreboot。
$ sudo reboot
再起動後に以下のコマンド打つと何やらリストが出てくる。
$ sudo sysctl -a | grep fs
リストに以下が含まれてればOK。
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
Lambda functionのテンプレート
リンク先で「Lambda fucntion作ります」としか書いてないですけど、このブログで使ってるのは以下のgreengrass-hello-world
です。
Lambda functionの最初のバージョンのPublish
忘れがちですがコレやらないとGreengrassでLambda function選択する時に困ります。
まとめ
...という感じで動いたー!