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

システムを構築するときに 気をつける10のこと

Show Murai
December 07, 2017

システムを構築するときに 気をつける10のこと

主体性のない文章で突っ込みどころ満載ですが、
雰囲気だけ感じてもらえればと思って作っています。

Show Murai

December 07, 2017
Tweet

More Decks by Show Murai

Other Decks in Technology

Transcript

  1. γεςϜΛߏங͢Δͱ͖ʹ
    ؾΛ͚ͭΔ10ͷ͜ͱ
    - ڧݻͰύϑΥʔϚϯε͕ྑ͍γεςϜ࡞ΓͷϙΠϯτ -
    αϙʔλʔζCoLabษڧձ Dec 6 2017
    αΠόʔΤʔδΣϯτ ΞυςΫελδΦ
    ଜҪ ᠳଠ࿕
    https://supporterzcolab.com/event/233/

    View Slide

  2. ࣗݾ঺հ
    • ଜҪ ᠳଠ࿕
    • @Show_murai
    • גࣜձࣾαΠόʔΤʔδΣϯτ

    ΞυςΫελδΦ ΠϯϑϥνʔϜ

    Πϯϑϥ ϦʔυΤϯδχΞ
    ※ຊ೔ͷൃද͸ݸਓͷݟղͰ͋Γɺॴଐ͢Δ૊৫ͷެࣜݟղͰ͸͋Γ·ͤΜ

    View Slide

  3. ࣗݾ঺հ
    • ژ౎ग़਎
    • ࣾձਓ 6೥໨
    • ઐ߈͸ਓ޻஌ೳɾը૾ॲཧ
    • αΠόʔΤʔδΣϯτ த్ೖࣾ
    • ϓϩμΫτ(ϓϩδΣΫτ)෇͖ͷΠϯϑϥ԰
    • झຯ͸ཱྀߦɺϑοταϧ

    View Slide

  4. ͖ΐ͏͸ͳ͢͜ͱ
    1. ࣗݾ঺հ
    2. ຊ೔ͷର৅ऀ
    3. ·͓͖͑
    4. γεςϜߏஙͰؾΛ͚ͭΔ10ͷ͜ͱ
    5. Q & A

    View Slide

  5. ຊ೔ͷର৅ऀ
    • αʔόʔαΠυΤϯδχΞ
    • γεςϜͷӡ༻Λ͍ͯ͠Δํ
    • ͜Ε͔ΒγεςϜߏங͢Δํ

    View Slide

  6. ·͓͖͑

    View Slide

  7. લఏͱͯ͠
    • Webۀքʹ͓͍ͯεϐʔυॏࢹͰαʔϏεϦϦʔεΛ͢ΔΑ͏ͳ

    ։ൃΛલఏͱ͍ͯ͠·͢
    • ΤϯλʔϓϥΠζ/૊ΈࠐΈ޲͚γεςϜͷ։ൃͳͲͰ͸ɺ

    ҧͬͨ؍఺΍ϙΠϯτ͕͋Δͱࢥ͏ͷͰ༏͘͠ฉ͍ͯԼ͍͞
    • ΞδϟΠϧ։ൃͷΑ͏ͳ୹ظؒͰಈ͘ιϑτ΢ΣΞΛϦϦʔε͍ͯ͘͠

    ։ൃελΠϧΛ૝ఆ͍ͯ͠·͢

    View Slide

  8. ͳͥ͜ͷ࿩͢͠Δͷ͔
    • αʔόʔαΠυΤϯδχΞ͔ΒΑ͘ฉ͔ΕΔ
    • ʮ͜ͷػೳ࡞Γ͍ͨΜͰ͚͢ͲɺؾΛ͚ͭΔͱ͜Ζ͋Γ·͢ʁʯ
    Έ͍ͨͳ࣭໰Λྑ͘ड͚Δ
    • ॻ੶ͳͲͷ৘ใͰ͸ݟ͚ͭʹ͍͘

    View Slide

  9. ͦΕͰ͸ຊ୊

    View Slide

  10. γεςϜΛߏங͢Δͱ͖ʹ
    ؾΛ͚ͭΔ10ͷ͜ͱ

    View Slide

  11. γεςϜΛߏங͢Δͱ͖ʹ
    ؾΛ͚ͭΔ10ͷ͜ͱ
    1. ҆ఆՔಇʹ͸ίετͱϦιʔε͕͔͔Δ
    2. σΟβελϦΧόϦΛߟ͑೔ࠒ͔Β܇࿅͢Δ
    3. ϞχλϦϯάͷϝτϦΫε͸ࡉ͔͘औΔ
    4. γεςϜશମ͕εέʔϧͰ͖Δ
    5. ઃܭ/બఆٕͨ͠ज़ʹ͸੹೚Λ΋ͭ
    6. ࢓༷΍σʔλߏ଄ͷมߋ͸ඞͣൃੜ͢Δ
    7. σʔλͷอ؅৔ॴ͸ख़ߟ͢Δ
    8. σʔλ͸૝ఆΑΓଟ͘ͳΔ
    9. ηΩϡϦςΟରࡦ͸ඞཁ͕ͩίετͱ͕͔͔࣌ؒΔ
    10.Ϋϥ΢υΛ৴པ͗͢͠ͳ͍

    View Slide

  12. ҆ఆՔಇʹ͸
    ίετͱϦιʔε͕͔͔Δ

    View Slide

  13. ҆ఆͷཁૉͱ͸
    • Մ༻ੑߴ͍
    • γϯάϧϙΠϯτ͕ͳ͍
    • ΤϥʔϋϯυϦϯά͕γεςϜϨϕϧͰग़དྷ͍ͯΔ
    • ଱ো֐ੑ͕ߴ͍
    • ΞϓϦέʔγϣϯͷႈ౳ੑ͕୲อ͞Ε͍ͯΔ
    • γεςϜͷҰ؏ੑ͕͋Δ
    • ॊೈੑ͕ߴ͍
    • ີ݁߹͕ແ͍
    • ػೳ֦ு͠΍͍͢ઃܭ

    View Slide

  14. ҆ఆԽͷͨΊͷίετ
    • ΞϓϦ/Πϯϑϥͷઃܭ/ݕূίετ
    • ઃܭஈ֊Ͱ৭ʑͳέʔεΛௐ΂࣮ࡍಈ͔ͯ͠ΈΔ࣌ؒ
    • ৑௕ԽͷͨΊͷίετ
    • 1୆Ͱ΋ՔಇՄೳͰ͋Δ͕ɺ2୆ཱͯΔ
    • ৑௕ԽΛ࣮ݱ͢ΔͨΊͷ࢓૊ΈΛ࡞Δ
    • ӡ༻ମ੍Λ੔͑Δίετ
    • ӡ༻͢Δਓͷίετ-> ΞϥʔτΛड͚औΔͻͱͷ࠾༻
    • ӡ༻ମ੍Λ࡞Δίετ -> ӡ༻ઃܭʹ΋͕࣌ؒඞཁ

    View Slide

  15. σΟβελϦΧόϦΛߟ͑

    ೔ࠒ͔Β܇࿅͢Δ

    View Slide

  16. σΟβελϦΧόϦͱ͸
    • Disaster recovery = ࡂ֐͔ΒͷϦΧόϦ
    • ࡂ֐ͳͲͷඃ֐͔Βճ෮ાஔΛߟ͑Δ
    • ωοτϫʔΫো֐͕ൃੜͨ͠৔߹Կ͢Δඞཁ͕͋Δ͔
    • Ϋϥ΢υαʔϏεʹো֐͕ൃੜͨ͠৔߹ͷରࡦ
    • σʔλফࣦͨ͠৔߹ͷόοΫΞοϓ/ϦετΞରࡦ

    View Slide

  17. ೔ࠒ͔ΒFire drillΛߦ͏
    • Fire drillͱ͸
    • Ծ૝σΟβελϦΧόϦͷঢ়گΛ࡞੒ͯ͠

    ઃఆύϑΥʔϚϯεΛධՁ͢Δ͜ͱʹΑΔɺ

    ϦιʔεͷϑΣʔϧΦʔόʔͷ৴པੑΛςετ͢Δํ๏

    https://www.symantec.com/ja/jp/security_response/glossary/define.jsp?letter=f&word=fire-drill
    • ࣮ࡍʹٖࣅো֐Λൃੜͤͯ͞܇࿅͢Δ
    • खॱ΍ϦΧόϦํ๏Λ໌֬ʹ͓ͯ͘͠
    • ୭͕ରԠ͢Δɺ୭ʹ࿈བྷ/ใࠂ͢Δ͔ΛܾΊ͓ͯ͘

    View Slide

  18. ϞχλϦϯάͷϝτϦΫε͸
    ࡉ͔͘औΔ

    View Slide

  19. ϝτϦΫε͸ࡉ͔͘ͱ͓ͬͯ͘
    • ϦιʔεϞχλϦϯά͸΋ͪΖΜ
    • CPU
    • Memory usage
    • Disk usage
    • Inode usage
    • Network throughput
    • ύϑΥʔϚϯεϞχλϦϯά΋औಘ͢Δ
    • query per second
    • request/response time

    View Slide

  20. ஫ҙ͢΂͖఺
    • ϝτϦΫεऔಘ͸ෛՙʹͳΔ৔߹΋͋Δ
    • ϞχλϦϯάπʔϧ͕ෛՙʹͳΓαʔϏεӨڹ͕ൃੜ͢Δ
    • ϝτϦΫεΛऔΓ͗ͯ͢༗ࣄͷ࣌ʹ

    ԿΛݟͨΒྑ͍ͷ͔Θ͔Βͳ͍
    • ୅දతͳϝτϦΫε͸μογϡϘʔυʹ͓ͯ͘͠
    • ϝτϦΫεͷҙຯΛཧղ͓ͯ͘͠

    (ԿΛද͢஋΍͚ͬͨ?ͱͳΒͳ͍ͨΊʹ)

    View Slide

  21. γεςϜશମ͕εέʔϧͰ͖Δ

    View Slide

  22. γεςϜ͸ංେԽͯ͘͠
    • ໨ʹͭ͘Ҏ֎ͷͱ͜Ζ΋εέʔϧඞཁ
    • DBϢʔβ/ίωΫγϣϯ਺
    • ωοτϫʔΫεϧʔϓοτ
    • ֎෦࿈ܞ͢ΔγεςϜ
    • ॲཧ͢Δσʔλ͸ཷ·͍ͬͯ͘
    • σʔλϕʔεͷංେԽ
    • όοΫΞοϓσʔλͷංେԽ
    • ෼ੳର৅ͷ֦େ

    View Slide

  23. ઃܭ/બఆٕͨ͠ज़ʹ͸੹೚Λ΋ͭ

    View Slide

  24. ಋೖٕͨ͠ज़͸Ұ൪ৄ͘͠ͳΔ
    • ಋೖ͚ͨ͠ͲࣗࣾγεςϜʹ޲͍ͯͳ͔ͬͨ
    • αʔόʔϨε
    • ϚΠΫϩαʔϏε
    • ࣗ෼ͰରԠɺෛ࠴ճऩΛ͢Δ
    • ϛε΍ಈ͔ͯ͠Έͳ͍͜ͱ͸ଟʑ͋ΔͷͰɺ

    ੹೚Λ࣋ͬͯ໘౗Λݟ͍ͯ͘৺ߏ͕͑ॏཁ

    View Slide

  25. ࢓༷΍σʔλߏ଄ͷมߋ͸

    ඞͣൃੜ͢Δ

    View Slide

  26. ੈͷத͸มΘΔ

    ࣌୅΋มΘΔ
    • ීวతͳٕज़Ͱ΋มΘΔՄೳੑ͕͋Δ
    • ҉߸ԽํࣜɿSHA1->SHA2ɺ
    • ωοτϫʔΫͷϓϩτίϧɿhttp → websocket
    • ΫϥΠΞϯτɿΨϥέʔ → εϚʔτϑΥϯ
    • σʔλϕʔεɿϦϨʔγϣφϧDB → KVSɺNewSQL
    • ϑΥʔϚοτɿJSON → Protocol Buffers

    View Slide

  27. σʔλͷอ؅৔ॴ͸ख़ߟ͢Δ

    View Slide

  28. σʔλͷอ؅͸ॏཁ
    • σʔλ͕ංେԽ͢Δ͜ͱͰసૹྔɺసૹ࣌ؒ

    ͕૿͑ͯίετ্͕͕Δ
    • σʔλ͸࢖͍͍ͨ࣌ʹ࢖͑ΔΑ͏ʹ͢Δ
    • σʔλϨΠΫΛ࡞Δͷ͕ཧ૝
    • Amazon S3
    • Google Cloud StrageͳͲ
    ࢀߟɿCloud connect the world as a Glue - AWS Dev Day 2017 by kazeburo
    https://speakerdeck.com/kazeburo/cloud-connect-the-world-as-a-glue-aws-dev-day-2017

    View Slide

  29. σʔλ͸૝ఆΑΓଟ͘ͳΔ

    View Slide

  30. σʔλ͸ංେԽ͢Δ
    • ੈͷத͕ѻ͏σʔλ͕૿͑Δ
    • σόΠεͷ૿ՃɿΨϥέʔ → iPhoneɺFitbitɺ
    • ߴ඼࣭ͷϝσΟΞɿVGA → 4KɺCD → ϋΠϨκ
    • σδλϧԽ͕ਐΉɿۜߦৼΓࠐΈ → Χʔυܾࡁ
    • γεςϜ/ػೳ͕௥Ճ͞Εͯσʔλ͕૿͑Δ
    • ϒϥ΢β͔ΒͷΞΫηεɿ

    → ΞϓϦɺ༷ʑͳσόΠε(Amazon echo)͔ΒͷΞΫηε

    View Slide

  31. ηΩϡϦςΟରࡦ͸ඞཁ͕ͩ
    ίετͱ͕͔͔࣌ؒΔ

    View Slide

  32. ηΩϡϦςΟ͸ෳࡶͰ๛෋
    • ωοτϫʔΫηΩϡϦςΟ
    • σʔλϕʔεͷΞΫηεݖ
    • ίϯϐϡʔτͷݖݶ
    • ΞϓϦέʔγϣϯͷݖݶ
    • ϩάͳͲγεςϜσʔλͷΞΫηεݖݶ
    • Ϋϥ΢υαʔϏε΁ͷݖݶ
    • ֤छπʔϧͷΞΫηεݖݶ

    View Slide

  33. ݖݶ؅ཧͱӡ༻Λߟ͑Δ
    • ݖݶͷछྨͷઃܭ͕ඞཁ
    • ؅ཧऀɺ։ൃऀɺӾཡऀɺҰ࣌Ϣʔβɺࣾ֎ͷϢʔβ
    • ωοτϫʔΫɿΞΫηεݩɺϓϩτίϧɺIPϨϯδ
    • Ϋϥ΢υݖݶɿIAM ϢʔβɺIAM ϩʔϧɺACL…
    • ݖݶͷӡ༻ͱ؂ࠪʹ͸ίετ͕͔͔Δ
    • Ϣʔβ͕૿͑Δ/ݮΔ
    • ΞΫηεݩ͕૿͑ΔɿBIπʔϧ͔ΒΞΫηε͍ͨ͠
    • ʮ୭͕؅ཧͯͯ͠ɺݖݶ෇༩͸୭͕ͯ͠ɺ

    ӡ༻ϧʔϧ͸୭͕ܾΊͯΔΜͰ͚ͨͬ͠ʁʯ

    View Slide

  34. Ϋϥ΢υΛ৴པ͗͢͠ͳ͍

    View Slide

  35. Ϋϥ΢υ͸ߴ৴པͰ͋Δ͕
    100%མͪͳ͍Θ͚Ͱ͸ͳ͍
    • ఆظϝϯςφϯεͷ᠘
    • ϝϯςͰαʔϏεఀࢭ͢Δ
    • AWS RedshiftɺGoogle CloudSQLͳͲ
    • Ϋϥ΢υ౎߹ͷγϟοτμ΢ϯ
    • AWS EC2ɿشൃϝϞϦʹσʔλ͋ΔΜͰ͚͢Ͳ…
    • ṖͷαʔϏεϨϕϧͷ௿Լ
    • ੈքதͷΈΜͳͰ࢖ͬͯΔͷͰ

    ଞͷϢʔβ/ςφϯτʹҾͬுΒΕΔ͜ͱ͕͋Δ

    View Slide

  36. ݁ہɺݴ͍͔ͨͬͨ͜ͱ

    View Slide

  37. ໨తͱ༏ઌॱҐΛ໌֬ʹ͠
    γεςϜߏங͢Δ

    View Slide

  38. Sense of purpose
    ʮ໨తʯͱ͍͏ͷ͸ɺ๻ΒҰਓͻͱΓ͕ɺ
    খ͞ͳࣗ෼Ҏ্ͷԿ͔ͷҰ෦ͩͱײ͡ΒΕΔײ֮ͷ͜ͱͰ͢ɻ
    ࣗ෼͕ඞཁͱ͞Εɺͦͯ͠ΑΓྑ͍ະདྷͷͨΊʹ
    ೔ʑؤு͍ͬͯΔͱײ͡ΒΕΔײ֮ͷ͜ͱͳͷͰ͢ɻ
    https://youtu.be/4VwElW7SbLA

    View Slide

  39. Q & A

    View Slide

  40. ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide

  41. ΞυςΫελδΦͰ͸
    ΤϯδχΞΛืूதͰ͢
    ※ΦϑΟεݟֶ͚ͩͰ΋େৎ෉Ͱ͢
    αΠόʔΤʔδΣϯτ
    ΞυςΫελδΦ
    https://adtech.cyberagent.io/

    View Slide