AWS IoT GreenglassをRaspberry Pi 3にインストールする
AWS IoTの醍醐味(?) Greenglassを使うためにRaspberry Pi 3にインストールしていきます。
Greenglassを使うとGreenglassに関連付けたAWS IoTデバイスとGreenglassの間でLambdaスクリプトを実行することができ、データを整形したりした上でAWSのDynamoDBなどのサービスに投入することができます。また、GreenglassとAWS間の通信が途絶した場合でも、途絶した情報をGreenglassが保存していて通信が回復した時点で保存しているデータをAWSに送信する機能も付いています。
で、早速インストールします。基本はAWSのドキュメントに従っていれば構築できま………せん!
この通りにセットアップしてデプロイするとこんなメッセージが出ます
[2018-01-08T23:36:54.857+09:00][ERROR]-Runtime execution error: unable to start lambda container. container_linux.go:259: starting container process caused "process_linux.go:345: container init caused \"process_linux.go:286: setting cgroup config for ready process caused \\\"no such directory for memory.limit_in_bytes\\\"\""
ふぁーーー!?もしかしたら先駆者がいるかもしれないので落ち着いてググり……いらっしゃいました。
$ sudo nano /boot/cmdline.txt
として末尾に cgroup_memory=1 を追記して再起動すると解決します。
これでAWS ConsoleでGreenglass用のHello Worldをデプロイすると上手く行きます。
[Unit] Description=greengrass daemon After=network.target [Service] ExecStart=/greengrass/ggc/core/greengrassd start Type=simple RestartSec=2 Restart=always User=root PIDFile=/var/run/greengrassd.pid [Install] WantedBy=multi-user.target