Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SORACOM Technology Camp 2020 - Day2 Deep Dive: ...

SORACOM
November 18, 2020

SORACOM Technology Camp 2020 - Day2 Deep Dive: IoTデバイス設計におけるベストプラクティス /technology-camp2020-day2-s08

多くのIoTデバイスは一度設置されると、問題が起きた際に現地に駆けつけて調査や対応が物理的に難しくなります。また、デバイスの数が増えてくると個別の対応はより困難になります。理想的なIoTデバイスは、ハードウェアの故障やソフトウェアのトラブル、回線の一時的な障害に対して自律的な回復手段を持っていることが求められます。

本セッションではそういったデバイスを実装するために考慮すべきプラクティスをご紹介します。

株式会社ソラコム
ソリューションアーキテクト 小梁川 貴史

SORACOM

November 18, 2020
Tweet

More Decks by SORACOM

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ גࣜձࣾιϥίϜ ιϦϡʔγϣϯΞʔΩςΫτ খྊ઒ و࢙ ͜΍ͳ͕Θ ͔ͨ͠  ܦྺ •

    4*ձࣾͰ։ൃΠϯϑϥઃܭɺߏஙͳͲ෯޿͘ܦݧ • ిػϝʔΧʔͰࣗࣾαʔϏεɺࣾ಺ڞ௨ϓϥοτϑΥʔϜͷ։ൃɺӡ༻ • ֎ࢿܥΫϥ΢υͷιϦϡʔγϣϯΞʔΩςΫτͱͯ͠ ύʔτφʔ୲౰ *P5εϖγϟϦετϓϩτλΠϐϯά
  2. Α͋͘Δٞ࿦ • ޻৔ͰͰ͖Δ͜ͱͷൣғͷ֬ೝ • ೝূ৘ใͱͳΔݸผೝূݤͷઃఆ͸೉͍͜͠ͱ͕ଟ͍ • ෺ཧͷػثͱόοΫΤϯυΫϥ΢υαʔϏεͷݻ༗ࣝผࢠ %#ͱͷඥ෇͚ઃఆ • ੡඼ग़ՙલͷςετɺग़ՙ·Ͱͷϑϩʔ

    • ࣮ࡍͷՔಇςετ͕͋Δ৔߹ɺ՝͕ۚ࢝·ͬͯ͠·͏ 403"$0.ͷ4*.΋ಉ༷ɺάϩʔόϧ4*.Λ͝ར༻͍ͨͩ͘ ͜ͱͰதஅதεςʔλεͰແବΛল͚ΔՄೳੑ΋͋Γ·͢
  3. ղܾࡦ • ϒʔτετϥοϐϯάॲཧ • σόΠεॳճىಈ࣌ͷ௨৴Ͱ޻৔ग़ՙͰઃఆͰ͖ͳ͍ॲཧΛ σόΠεଆͷॲཧͱͯ͠࡞ΓࠐΉ • 403"$0. ϝλσʔλαʔϏε΍Ϋϥ΢υαʔϏεͷ ূ໌ॻൃߦػೳΛར༻

    • ࡏݿظ͕ؒ͋Δ੡඼ • ར༻։࢝ΛτϨʔεͰ͖ΔΑ͏ͳΠϕϯτ؅ཧɺ౷ܭػೳΛར ༻ɻ403"$0.4*.Λར༻͢Δ৔߹͸403"$0.*P54*.ɺ Πϕϯτϋϯυϥͷݕ౼
  4. Α͋͘Δ՝୊ • ࣮ࡍͷσόΠεͱΫϥ΢υ΍ࣗࣾϗετʹ͓͚Δ؅ཧ༻ ͷ࿦ཧ໊ɺ4*.ͷ؅ཧΛ͍ͨ͠ • 4*.ͷར༻ྉ͕ߴ͍͚Ͳɺ͜Ε͸Ͳ͜Ͱ࢖ΘΕ͍ͯΔσό ΠεͩΖ͏ʁ • ར༻Λ΍ΊͨσόΠεͷ4*.͸ͲΕͩΖ͏ •

    σόΠε͸ࠓΦϯϥΠϯͳͷ͔ʁ • ࠓࢢ৔ʹग़͍ͯΔσόΠεͰ࢖ΘΕ͍ͯΔͷঢ়ଶ • σόΠεͷઃఆมߋɺϑΝʔϜ΢ΣΞΞοϓσʔτΛߦ ͍͍ͨ • ݸผɺಛఆɺάϧʔϓ୯ҐͳͲͷ؅ཧ୯Ґͷઃܭ • ܰ౓ͷઃఆมߋ • ΞϓϦέʔγϣϯશମͰͷઃఆมߋ
  5. ղܾࡦ • σόΠε؅ཧ • σόΠε؅ཧ༻ͷ%#΍Ϋϥ΢υαʔϏεͷػೳͷ׆༻ɺ 403"$0.ͷ৔߹ 4*.ϝλαʔϏεͷ׆༻ͳͲ • ࣗ෼ͷϢʔεέʔεԿΛத৺ʹσόΠεΛΈΔͷ͔Ͱ࿦ཧ໊΍Ϋ ΤϦͷઃܭΛ͢Δ͜ͱ͕ॏཁ

    • ઃఆมߋ΍ϑΝʔϜ΢ΣΞΞοϓσʔτ • Ϋϥ΢υαʔϏεͷσόΠε؅ཧػೳͰ͸ɺઃఆมߋͱ௨ ஌ػೳ͕ҰମԽ͍ͯ͠Δ΋ͷ͕͋Δ • ঢ়ଶ֬ೝ༻ͷϝοηʔδػೳɺ"1*ͷݕ౼ • ϑΝʔϜϑΝΠϧͷஔ͖৔ॴͳͲͷݕ౼ɿΦϒδΣΫτετϨʔ δ΍ 403"$0.)BSWFTU'JMFTͷར༻Λݕ౼ɻ オブジェクトストレージを利用する場合はセキュアアクセスの設計も重要
  6. ղܾࡦ  ௨৴ϕʔεͰͷίϚϯυ࣮ߦґཔ • ࣄલʹ΍Γ͍ͨ͜ͱ͕੔ཧͰ͖͓ͯΓɺίϚϯυ͕ࣄલʹ ༻ҙͰ͖Δ • σόΠε04ͷίϚϯυͰ࣮ݱͰ͖Δ • ্ه͕੔ཧͰ͖͍ͯΔલఏͰɺ.255)551

    5$16%1 ʹ ΑΔίϚϯυ࣮ߦͷݕ౼͕Ͱ͖·͢ɻϝοηʔδͷϖΠϩʔυ .255ͷ৔߹ UPQJD ʹίϯςΩετ٧ΊͯɺσόΠε͕ίϚ ϯυΛ࣮ߦɺ݁ՌΛϦϓϥΠͰ௨஌͢Δ
  7. ͓٬༷γεςϜ SORACOM Canal SORACOM Direct SORACOM Door SORACOM Gate ઀ଓ༻αʔό

    SORACOM Gate   ਖ਼౰ͳϢʔβ  ΞΫηεΛϦΫΤετ ʢ4*.*% ϙʔτ ༗ޮظؒʣ  άϩʔόϧ*1ͱϙʔτ 403"$0. /BQUFS  ࢦఆͷάϩʔόϧ*1ͱ ϙʔτʹΞΫηε 403"$0.(BUF 403"$0./BQUFS
  8. Α͋͘Δ՝୊ ޙͰؾ͕ͭ͜ͱ͕ଟ͍ͷͰٞ࿦Ͱ͸ͳ͘՝୊ • ͳͥूத͕ඇޮ཰ͳͷ͔ • Ϋϥ΢υαʔόͷεέʔϧ؍఺ͱͯ͠୹࣌ؒߴෛՙͰ΋εέʔϧ͕ؒʹ߹ Θͳ͍͜ͱ͕͋Δɻ • όοΫΤϯυͷॲཧྔΛ௒͑ΔϦΫΤετϦτϥΠ͕ଓ͘ͱαʔϏεμ ΢ϯ΋ى͖ಘΔ

    • ίετ؍఺ͱͯ͠΋ɺશମͱͯ͠ͷ୯Ґ࣌ؒʹඞཁͳॲཧྔ͕૿͑Δɺ௨ ৴ྔ͕૿͑Δ 定刻起動、固定リトライ値の設定 retry 瞬間的なピークが続き 処理が捌ききれない、 ピークに合わせたサー バの準備は無駄が多い (オートスケールなども 間に合わない) retry データ取得は定時、送信タイミング/retryに 幅を持たせる 許容可能な時間の分 だけピークを低くでき る。バックエンドの リソースも均等に使う ことでメリットがでる
  9. ରࡦ • ෼ࢄͷߟ͑ํ • ཚ਺΍4FFE஋+JUUFSʹΑΔ෼ࢄΞϧΰϦζϜ • αʔόαΠυ͔ΒͷϨεϙϯεͰͷXBJU෼ࢄɺϝϯςϯεதͷ ରԠ • ڐ༰Ͱ͖Δσʔλ౸ୡͷ෯ɺ݁Ռ੔߹ੑͰૹ৴λΠϛϯάʹ͹Β

    ͖͕ͭ͋ͬͨ΋Α͍ઃܭͷݕ౼ • ϦτϥΠͷߟ͑ํ • ϦτϥΠͷߟ͑ํͱͯ͠ΤΫεϙωϯγϟϧόοΫΦϑ ࢦ਺ؔ਺తޙୀ ͱ͍͏ߟ͑ํ͕͋Δ • ௨৴Τϥʔͱϝϯςφϯε͸ίʔυΛ෼͚ΔͳͲΤϥʔʹ͖ͪΜ ͱҙຯఆٛɺͦΕʹ߹ΘͤͨσόΠεΞΫγϣϯͷ࣮૷Λ͢Δ