Upload
kohei-matsushita
View
1.355
Download
0
Embed Size (px)
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もよろしく!