CROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無い

Preview:

Citation preview

我々のIoTデバイスがこんなに多いはずが無い

Feb. 5, 2016CROSS 2016

@ma2shita

こんばんは

ソラコムの回し者です

自己紹介松下 享平(まつした こうへい)

ぷらっとホーム株式会社業務統括部→ 謎の部署でIoTやってます

好きなSORACOM

昔: Terminate API

今: メタデータサービス

NEW

10/19 Dev conf #0では

• SIMを開封してから5分でSMS受信

• 肉体芸

• 今回はちゃんとやります

前もちゃんとやってました

14:10のパネル

ディスカッション登壇

デバイスへのソフトウェア

デプロイの話題

IoTって

こうですよね?

センサー ゲートウェイ クラウド

こうなりますよね?

センサー ゲートウェイ クラウド

こうなりますよね?

センサー ゲートウェイ クラウド

こうなるよな?

センサー ゲートウェイ クラウド

大量デバイス

_人人人人人人人人_> アップデート < ̄Y^Y^Y^Y^Y^Y^Y ̄

どうする?

目標をセンターに入れて

apt-get

目標をセンターに入れて

apt-get

やなせさん…(-人-)

…空から声が…

SORACOM Air

カスタムDNS

Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5

Internetdig apt-proxy.localif [ $? = 0 ]; then apt-get update apt-get upgrade –yfi

Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0

DNS Server= 192.168.0.2 apt-proxy.local

= 10.0.0.5

Group A• DNS Server = 192.168.0.2

apt-proxy.local (10.0.0.5)• apt-cacher-ng

Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5

Internetdig apt-proxy.localif [ $? = 0 ]; then apt-get update apt-get upgrade –yfi

DNS Server= 192.168.0.2 apt-proxy.local

= 10.0.0.5

apt-proxy.local (10.0.0.5)• apt-cacher-ng

apt-cacher-ngで回線費用を安く、そして高速化

しかも2台目以降はもっと高速

Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0

Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5

Internetdig apt-proxy.localif [ $? = 0 ]; then apt-get update apt-get upgrade –yfi

DNS Server= 192.168.0.2 apt-proxy.local

= 10.0.0.5

apt-proxy.local (10.0.0.5)• apt-cacher-ng

スクリプト終盤で

curl –s http://metadeta.soracom.io/v1/subscriber/unset_group

グループ解除すれば次回はapt-getが走らない

Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0

_人人人人人人人人_> やったね! < ̄Y^Y^Y^Y^Y^Y^Y ̄

じゃ、セットアップしておいて

_人人人人人人人人_>  突 然 の  <> セットアップ! <

 ̄Y^Y^Y^Y^Y^Y^Y ̄

どうする?

またまた声が…

SORACOM Air

カスタムDNS

そして…

Ansibleればいいと思うよ

Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5• playbook.local = 10.0.0.10

Group A• DNS Server = 192.168.0.2

playbook.local (10.0.0.10)

dig playbook.localif [ $? = 0 ]; then wget playbook.local/hosts wget playbook.local/site.yml ansible-playbook –i hosts site.ymlfi

DNS Server= 192.168.0.2

playbook.local= 10.0.0.10

Ansible起動!

Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0

Dnsmasq (192.168.0.2)• apt-proxy.local = 10.0.0.5• playbook.local = 10.0.0.10

Group A• DNS Server =

192.168.0.2

playbook.local (10.0.0.10)

dig playbook.localif [ $? = 0 ]; then wget playbook.local/hosts wget playbook.local/site.yml ansible-playbook –i hosts site.ymlfi

DNS Server= 192.168.0.2

playbook.local= 10.0.0.10自分自身を構成するplaybookを

ダウンロードしつつansibる

Icons made by Freepik from www.flaticon.com is licensed by CC BY 3.0

このへん systemd ならdigの実行結果によってファイルを

出力するUnit

apt-getやansibleの実行Unitから

ConditionPathExists を使って

実行可否を確認

これらをrequires & afterでつなぐ

ところで

Ansibleの完了って

どうやって確認する?

画面がないから

オワタ確認がオワタ

/(^o^)\

拙作 Frightboard

Frightboard

REST APIでステータス更新AnsibleからはuriモジュールでOK

- name: Report completed to Frightboard uri: url: http://frightboard.local:9292/api/v1/statues?iid={{host_id}} method: POST HEADER_Content-Type: “application/x-www-form-urlencoded” body: “status=completed” status_code: 200,201

Frightboard

github.com/ma2shita/frightboard

ご清聴

まだだ、まだ終わらんよ!

- U.C. 0088 グラサン金髪

ビジネス成功!

デバイスも大量に

撒いた!

忍び寄る危機

盗難

何を守るのか?

最悪中身は見られたくない

恥ずかしい (>_<)

また、声が…

心の中でご唱和ください

EncFS !あれ?

EncFS

fuseでお手軽しかも強固

でも

暗号化キー

どうやって管理?

そう、、、ここで

SORACOM Air

メタデータサービス

EncFS

--extpass

外部コマンド使える!

カール!

出番ですよ

はい、お母さま(一部 銀英伝)

curl

encfs --extpass=‘curl –s http://metadata.soracom.io/v1/userdata’ ~/.crypted ~/mnt

親方!

空から、暗号化キーが!

今日、一番言いたかったのがコレ

ごちゃごちゃした話はSORACOM Advent Calendar

12/10 で

そもそも bootupで

( git clone hoge.git /tmp/hoge ;

cd /tmp/hoge ;

git fetch ;

git checkout $(git describe –tags –abbrev=0) )

とか、揮発性の高い領域に展開したほうが

いいかもね

いかがでしたか?IoTデバイス、めちゃ増えるアップデートやセットアップ

どうする?答: カスタムDNS

デバイスに保存したくないキーどうする?答: メタデータサービス

職人が丹精込めて作る時代はすぐに過ぎ去ります

オンプレで培った知見が活かせる余地あり

これらを駆使して早くデバイスを家畜化しましょう

http://www.engineyard.co.jp/blog/2014/pets-vs-cattle/

いい話聞いたと思った方

手、上げて!

CM

SORACOM UG / fbグループ

おわり

OpneBlocks IoTもよろしく!

Recommended