Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,596 views

Published on

CROSS 2016 アンカンファレンス用資料

Published in: Devices & Hardware
  • Hey guys! Who wants to chat with me? More photos with me here 👉 http://www.bit.ly/katekoxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 1. 我々のIoTデバイスが こんなに多いはずが無い Feb. 5, 2016 CROSS 2016 @ma2shita
  2. 2. こんばんは
  3. 3. ソラコムの 回し者です
  4. 4. 自己紹介 松下 享平 (まつした こうへい) ぷらっとホーム株式会社 業務統括部 → 謎の部署でIoTやってます 好きなSORACOM 昔: Terminate API 今: メタデータサービス NEW
  5. 5. 10/19 Dev conf #0では • SIMを開封してから 5分でSMS受信 • 肉体芸 • 今回は ちゃんとやります 前もちゃんとやってました
  6. 6. 14:10の パネル ディスカッション 登壇
  7. 7. デバイスへの ソフトウェア デプロイの話題
  8. 8. IoTって
  9. 9. こうですよね? センサー ゲートウェイ クラウド
  10. 10. こうなりますよね? センサー ゲートウェイ クラウド
  11. 11. こうなりますよね? センサー ゲートウェイ クラウド
  12. 12. こうなるよな? センサー ゲートウェイ クラウド
  13. 13. 大量デバイス
  14. 14. _人人人人人人人人_ > アップデート <  ̄Y^Y^Y^Y^Y^Y^Y ̄
  15. 15. どうする?
  16. 16. 目標をセンターに入れて apt-get
  17. 17. 目標をセンターに入れて apt-get
  18. 18. やなせさん… (-人-)
  19. 19. …空から声が…
  20. 20. SORACOM Air カスタムDNS
  21. 21. Dnsmasq (192.168.0.2) • apt-proxy.local = 10.0.0.5 Internet dig apt-proxy.local if [ $? = 0 ]; then apt-get update apt-get upgrade –y fi 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
  22. 22. Dnsmasq (192.168.0.2) • apt-proxy.local = 10.0.0.5 Internet dig apt-proxy.local if [ $? = 0 ]; then apt-get update apt-get upgrade –y fi 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
  23. 23. Dnsmasq (192.168.0.2) • apt-proxy.local = 10.0.0.5 Internet dig apt-proxy.local if [ $? = 0 ]; then apt-get update apt-get upgrade –y fi 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
  24. 24. _人人人人人人人人_ > やったね! <  ̄Y^Y^Y^Y^Y^Y^Y ̄
  25. 25. じゃ、セットアップ しておいて
  26. 26. _人人人人人人人人_ >  突 然 の  < > セットアップ! <  ̄Y^Y^Y^Y^Y^Y^Y ̄
  27. 27. どうする?
  28. 28. またまた声が…
  29. 29. SORACOM Air カスタムDNS
  30. 30. そして…
  31. 31. Ansibleれば いいと思うよ
  32. 32. 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.local if [ $? = 0 ]; then wget playbook.local/hosts wget playbook.local/site.yml ansible-playbook –i hosts site.yml fi 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
  33. 33. 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.local if [ $? = 0 ]; then wget playbook.local/hosts wget playbook.local/site.yml ansible-playbook –i hosts site.yml fi 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
  34. 34. このへん systemd なら digの実行結果によってファイルを 出力するUnit apt-getやansibleの実行Unitから ConditionPathExists を使って 実行可否を確認 これらをrequires & afterでつなぐ
  35. 35. ところで
  36. 36. Ansibleの完了って どうやって確認する?
  37. 37. 画面がないから オワタ確認がオワタ /(^o^)\
  38. 38. 拙作 Frightboard
  39. 39. 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
  40. 40. Frightboard
  41. 41. github.com/ma2shita/frightboard
  42. 42. ご清聴
  43. 43. まだだ、まだ終わらんよ! - U.C. 0088 グラサン金髪
  44. 44. ビジネス成功! デバイスも大量に 撒いた!
  45. 45. 忍び寄る危機
  46. 46. 盗難
  47. 47. 何を守るのか?
  48. 48. 最悪 中身は見られたくない 恥ずかしい (>_<)
  49. 49. また、声が…
  50. 50. 心の中で ご唱和ください
  51. 51. EncFS ! あれ?
  52. 52. EncFS fuseでお手軽 しかも強固
  53. 53. でも 暗号化キー どうやって管理?
  54. 54. そう、、、ここで
  55. 55. SORACOM Air メタデータサービス
  56. 56. EncFS --extpass 外部コマンド使える!
  57. 57. カール! 出番ですよ はい、お母さま(一部 銀英伝) curl
  58. 58. encfs --extpass=‘curl –s http://m etadata.soracom .io/v1/userdata’ ~/.crypted ~/m nt
  59. 59. 親方! 空から、暗号化キーが! 今日、一番言いたかったのがコレ
  60. 60. ごちゃごちゃした話は SORACOM Advent Calendar 12/10 で
  61. 61. そもそも  bootupで ( git clone hoge.git /tmp/hoge ; cd /tmp/hoge ; git fetch ; git checkout $(git describe –tags –abbrev=0) ) とか、揮発性の高い領域に展開したほうが いいかもね
  62. 62. いかがでしたか? IoTデバイス、めちゃ増える アップデートやセットアップ どうする? 答: カスタムDNS デバイスに保存したくないキー どうする? 答: メタデータサービス
  63. 63. 職人が丹精込めて作る時代は すぐに過ぎ去ります オンプレで培った知見が活かせる 余地あり これらを駆使して 早くデバイスを家畜化しましょう http://www.engineyard.co.jp/blog/2014/pets-vs-cattle/
  64. 64. いい話 聞いたと思った方 手、上げて!
  65. 65. CM
  66. 66. SORACOM UG / fbグループ
  67. 67. おわり OpneBlocks IoTもよろしく!

×