2019.11.2 JAWS FESTA 2019 札幌
株式会社ヘプタゴン⽴花 拓也AWSとJAWS-UGで起きた⽥舎の⼩さな会社の⼤きなゲームチェンジ~2019 AUTUMN~JAWS FESTA 2019 SAPPORO #jft2019 #jft2019_b
View Slide
ࣗݾհཱՖ (35)੨ݝੜ·Εઋܦ༝੨ݝࡏॅ݁ߏઋגࣜձࣾϔϓλΰϯදऔకJAWS-UG౦͖ͳAWSαʔϏεɿAWS IoT / Quick Sight
໊ࣾ גࣜձࣾϔϓλΰϯ IFQUBHPOJODཧ೦إΛΒͳ͍ສਓͷͤΑΓࣗͨͪͷۙͳਓΛςΫϊϩδʔͰͤʹද ཱՖڌ ੨ݝࡾࢢɺٶݝઋࢢۀ ݄̓ࣄۀΫϥυಋೖʹؔ͢ΔίϯαϧςΟϯάΫϥυͷߏஙอकӡ༻ΫϥυωΠςΟϒͳ։ൃձࣾ֓ཁגࣜձࣾϔϓλΰϯϕΨϧλઋɺγϯτʹτϩΠσϯVVΛԠԉ͍ͯ͠·͢ɻ
ࢲͨͪͷ͓٬༷Ҋ݅ϕʔεͰׂҎ্͕౦ͷҊ݅ࣾϓϩδΣΫτΛ͑Δ౦ͷϓϩδΣΫτΛΫϥυͰՔಇ
͋ͳͨʹͱ͍͍ͬͯձࣾɺ͍͍ࣄͱʁ
ੈքதͷͨ͘͞ΜͷਓΛͤʹ͢Δࣄࢲੲ͜͏ࢥ͍ͬͯ·ͨ͠
2011.3.11
إͷΒͳ͍100ສਓΛͤʹ͢Δ͜ͱΑΓʹݟ͑Δۙͳ100ਓΛͤʹ͢Δ͜ͱͷํ͕ࣗʹͱͬͯͷͤࢲʹͱͬͯͷ͑
إΛΒͳ͍100ສਓͷͤΑΓࣗͨͪͷۙͳ100ਓΛςΫϊϩδʔͰͤʹ
region(౦) global(શࠃ)local(ݩ)՝ٕؒज़ใؒϏδωεۀ࣌ ͷ಄ͷத
Ϋϥυ
̍ɺॳظࢿෆཁͷैྔ՝ۚ̎ɺॴ࣌ؒΛΘͳ͍̏ɺΤίγεςϜ̐ɺࣗಈԽɺলྗԽITͷຽओԽΫϥυͷϝϦοτ
͜Ε·Ͱ࣋ͭ͜ͱࣗମ͕Ձͩͬͨͷ͕ɺ͜Ε͔ΒՁͰͳ͘ͳΔ(࿑ಇྗɺࢿۚྗɺઃඋɺΈ )ࠩผԽཁҼʹྗ͠ɺ”ଈ”࣮ફ͢Δ͜ͱ͕ࠩผԽཁҼʹOutput first , Fail firstʮେ͖͍ͷ͕খ͍͞ͷʹউͭʯͷͰͳ͘ʮ͍ͷ͕͍ͷʹউͭʯ*5ͷຽओԽ͕ਐΉͱ
Ϋϥυʢͱ͘ʹΠϯϑϥʣϨόϨοδ͕ޮ͖͘͢ɺޮԽɺࣗಈԽʹΑΓগਫ਼Ӷ/Ұٍઍͷઓ͍͕Մೳํʹଟ͍࿑ಇूܕ࢈ۀɺϑϩʔܕ࢈ۀͱผͷ৽͍͠ܗͷࣄ͕Ͱ͖ɺਓޱݮগ/ߴྸԽʹཱ͔ͪ͑Δ͜ͷ෦ͷϊϋΛطଘͷଞۀछͱ࿈ܞ͍ͯ͘͜͠ͱͰपΓͷਓΛ͞Βʹͤʹ͍͚ͯ͠Δํͷ*5ࣄۀऀʹͰ͖Δ͜ͱ
ํY"84ͷՄೳੑ՝ઌਐҬߴྸԽਓޱݮগใϦςϥγʔෆॴಘ֨ࠩޙܧऀෆํͷ՝ΛΫϥυ/AI/IoTͰղܾ → Ϗδωεͷ࢈ফࣗͷͷճΓͷ՝ΛղܾͰ͖Δॆ࣮ײ/ୡײ/ָ͠͞w Ϋϥυ׆༻ʹΑΔޮԽw ݱ࣮ੈք͕Δ"**P5ٕज़w ݱͷ՝ΛѲͨ͠ํͷ*5ࣄۀऀ
ίϛϡχςΟ
• ձࣾͷΛ͑ͨϑϥοτͳ৫(ۀքஂମͰͳ͍)• ํʹֶͼ߹͏LearningͷίϛϡχςΟͱ
7લίϛϡχςΟ(JAWS DAYS 2013)ʹॳࢀՃͱʹָ͔͍͘͠ମݧͰ͜ΕΛ͖͔͚ͬʹ৭ʑͳίϛϡχςΟʹࢀՃ͢ΔΑ͏ʹࢲͷίϛϡχςΟྺࢀՃ
͍͔ͭࣗͬͯΈ͍ͨ…JAWS FESTA ؔ 2013ͰશࠃΠϕϯτͷॳొஃࢲͷίϛϡχςΟྺࢀՃ ొஃ
ొஃ͚ͩͰͳ͘اը/ӡӦख͏Α͏ʹࢲͷίϛϡχςΟྺࢀՃ ొஃ ӡӦ
ϩʔΧϧίϛϡχςΟͷΦʔΨφΠβʔ্ཱͪ͛ࢧԉ/ӡӦJAWS-UG੨/JAZ-UG੨/kinton caféീށ/౦IT࢈ల/͠Ϳ͠Ϳษڧձ/໊ແ͠ษڧձ/Ϙεձ…ࢲͷίϛϡχςΟྺࢀՃ ొஃ ӡӦΦʔΨφΠβʔ
ࢲͷίϛϡχςΟྺίϛϡχςΟ׆ಈΛϝσΟΞʹऔΓ্͍͛ͯͨͩ͘Α͏ʹASCII.jp ϏδωεʴIT
ࢲͷίϛϡχςΟྺશࠃ৫/ΠϕϯτͷΦʔΨφΠβʔΛܦݧJAWS-UGશࠃදJAWSDAYS2017 ࣮ߦҕһ
ࢲͷίϛϡχςΟྺJAWS-UGͷϝϯόʔͱҰॹʹࣥචग़൛
ࢲͷίϛϡχςΟྺ͞Βʹւ֎ͷϢʔβʔάϧʔϓͱަྲྀ
ɾ͕ࣗΞτϓοτ͢Δ͜ͱͰ࠷ઌͷٕज़/ใ͕ࣗવͱΠϯϓοτɾརؔͷͳ͍ͷܨ͕Γɾ্Լؔͷͳ͍ɺΦʔϓϯͳ৫Ͱͷ׆ಈϚωδϝϯτܦݧɾଟ༷ͳจԽɺՁ؍ͱͷग़ձ͍ίϛϡχςΟʹμΠϒͯ͠ಘΒΕͨ͜ͱ
ɾී௨ग़ձΘͳ͍Α͏ͳϝϯλʔͱͷग़ձ͍ɾίϛϡχςΟΛ௨ͯ͡ݩ/શࠃͷاۀͱڞಉͰϏδωεɾ༏लͳਓࡐͱͷܨ͕ΓɾϦϞʔτϫʔΫͷϊϋίϛϡχςΟʹμΠϒͯ͠ಘΒΕͨ͜ͱ
region(౦) global(શࠃ/ւ֎)local(ݩ)՝ٕؒज़ใؒϏδωείϛϡχςΟμΠϒޙ
͞Βʹॳ૾͍ͯ͠ͳ͔ͬͨग़དྷࣄ͕
࣏ࣗମͷ؍ޫϚʔέςΟϯάͷͨΊʹɺ๚֎ࠃਓ͕ຊͷͲͷΑ͏ͳͱ͜ΖʹڵຯΛ͍࣋ͬͯΔ͔Λௐ͍ࠪͨ͠ͱ͍͏࣏ࣗମҊ݅اըɺσʔλղੳɺΫϥυ͕ͦΕͧΕΛಘҙͱ͢ΔݩاۀࣾͰϓϩδΣΫτΛΜͰडୗࠃ͝ͱͷڵຯؔ৺ʹؔ͢ΔΦʔϓϯσʔλ4/4ͷใΛେྔʹऩू͠ɺੳ੨ݝࡾࢢ.PSF-PDBM
Θ͔ͣ̎िؒͰɺڥߏஙɺσʔλऩूɺσʔλੳ·ͰɺສԁʹίετͰྃݩاۀ͕͜Ε·ͰडͰ͖ͳ͔ͬͨҊ݅ΛΫϥυͷྗΛͬͯݩͷاۀ͕डํͷҊ݅ΛํͷاۀͰ݁ʢϏδωεͷ࢈ফʣ੨ݝࡾࢢ.PSF-PDBM
ఆظతʹར༻ऀʹҰਓҰਓʹΞϧόϜΛ࡞͍ͯ͠Δ͕େྔͷࣸਅΛར༻ऀ͝ͱͷৼ͚࡞ۀ͕ελοϑ͕ுΓ͖Ͱ͕͔̍Γͷ࡞ۀͱͳ໊͍ͬͯͨͷελοϑͰӡӦ͞Ε͍ͯΔΞοτϗʔϜͳখنհޢࢪઃ੨ݝࡾࢢ.PSF-PDBM
4ʹࣸਅΛΞοϓϩʔυ͢Δ͚ͩͰ"NB[PO3FLPHOJUJPO͕إ͝ͱʹࣸਅͷৼ͚Λ࣮ߦ͢ΔγεςϜΛ։ൃ࠷ݶͷػೳ͚ͩͷ࣮ͱ͠։ൃίετΛ͑ɺҡ࣋අ༻΄ͱΜͲ͔͔Βͳ͍γεςϜʹඦຕͷࣸਅඵͰॲཧ͕ՄೳʹຊۀͰ͋Δհޢʹׂ࣌ؒ͘Λ૿͢͜ͱ͕Ͱ͖ͨৼ͚࡞ۀΛؾʹͤͣΑΓଟ͘ͷࡱӨ͕Ͱ͖ΔΑ͏ʹͳΓར༻ऀՈʹ͞ΒʹتΜͰΒ͑ΔΑ͏ʹ͜Ε·Ͱ༧ࢉͷͰ*5ԽͷԸܙΛड͚ΒΕͳ͔ͬͨখنࣄۀऀͰ"84ͳΒۀޮԽߴՃՁԽ͕Մೳ੨ݝࡾࢢ.PSF-PDBM
͜Ε·Ͱ͓٬༷͔Βͷ࿈བྷͰྫྷଂઃඋͷނোҟৗΛΔ͜ͱ͕ଟ͘ɺྼԽʹΑΔଛࣦ͕ൃੜ͠ͳ͍Α͏ʹۓٸͷରԠमཧ͕ඞཁ੨ࢢʹ͋Δۀ༻ྫྷଂݿϝʔΧʔͱͯ͠શࠃ֤Ͱઃඋͷೲೖϝϯςφϯε੨ݝ੨ࢢՌ࣮༻ྫྷଂઃඋ.PSF-PDBM
ྫྷଂઃඋͷηϯαʔσʔλΛ"84্ʹอଘ͠"NB[PO4BHF.BLFSΛ༻͍ͨػցֶशʹΑΔҟৗݕγεςϜΛ։ൃ͜Ε·ͰݱͰ͔͠Θ͔Βͳ͔ͬͨઃඋͷঢ়گΛϦΞϧλΠϜͰѲͰ͖ΔΑ͏ʹͳΓɺނো༧ஹΛݕͨ͠ࡍʹʹӨڹ͕ग़ΔલʹରࡦΛଧͭ͜ͱ͕ՄೳʹͷՁΛ্८ճϝϯςφϯεͷίετ͕ݮ͜Ε·ͰΫϨʔϜͱͳ͍ͬͯͨઃඋނো͕ࣄલ࿈བྷ͕ՄೳͱͳΓتΕΔΠϕϯτʹมԽ੨ݝ੨ࢢ.PSF-PDBM
IUUQTBXTBNB[PODPNKQTPMVUJPOTDBTFTUVEJFTUBJTFJIFQUBHPO
.PSF-PDBMݩֶੜʹAlexaεΩϧΛ։ൃ͢Δ৬ۀମݧΛ࣮ࢪ͜Ε·ͰݩʹΔͱ͍͏બࢶͷͳ͔ͬͨࢠڙୡʹ৽͍͠બࢶ͕ੜ·ΕΔ
.PSF(MPCBMݩֶੜΛݩاۀ͕ࢧԉͯ͠ւ֎Πϕϯτʹ࿈Ε͍ͯ͘ϓϩδΣΫτJAWS-UGͰֶΜͩΈΛԠ༻- εΧϥγοϓ- αϙʔλʔ੍- χϡʔελʔͷൃ۷
.PSF(MPCBMࢀՃֶͨ͠ੜͷײ- ͜Ε͔Β੨ʹ͍ͯੈքج४ͰࣄΛߟ͍͑ͨ- ւ֎ͷΞδΞܥͷֶੜ͕ྡͰӳޠͰσΟεΧογϣϯ͍ͯ͠Δ༷ࢠΛݟͯչ͔ͬͨ͠- 60km͘Β͍า͍͚ͨͲɺർΕΑΓָ͠Έͷํ͕େ͖͍- ߦͬͯΈͯॳΊͯײͨ͜͡ͱ͕͋Δ- ͜Ε͔Βͷੜ׆͕ϫΫϫΫ͢ΔΑ͏ʹͳͬͨ- དྷࣗෲͰߦ͖͍ͨͱࢥͬͨ -> དྷຊʹࣗෲͰࢀՃܾఆʂ
AWS Summit ιϧAWS Summit ژ.PSF(MPCBMւ֎͔ΒͷຊͰͷํxΫϥυͷ͕ฉ͖͍ͨͱొஃϦΫΤετ
.PSF(MPCBMؖࠃژຊҎ্ʹटݍʹϦιʔε͕ूதͦͦํͰϏδωεΫϥυΛΕΔͱࢥ͍ͬͯͳ͍ΤϯδχΞ/एऀͨͪଟ͍ίϛϡχςΟܦ༝ͰຊͷํͰͷϏδωεεΩʔϜΛ౦ژܦ༝͠ͳ͍Ͱάϩʔόϧʹల։Ͱ͖ΔՄೳੑ
region(౦) global(શࠃ/ւ֎)local(ݩ)՝ٕؒज़ใؒϏδωεNPSFQPUFOUJBM՝ղܾϏδωενϟϯε
ਓؒྗࢲͨͪͷಇ͖ํΫϥυωΠςΟϒͳੈք- ςΫϊϩδʔاۀͱͯ͠ ઐࣝΛਂΊΔ- ٕज़ͷਐา͕ਐΊਐΉ΄Ͳ ਓʹ͔͠Ͱ͖ͳ͍͜ͱ͕ٻΊΒΕΔίϛϡχςΟϑΝʔετͳੈք- ઐࣝΛਂΊΔͨΊʹ ίϛϡχςΟ͕ॏཁ- ΠϊϕʔγϣϯΛىͨ͜͢Ίʹଞऀͱͷܨ͕Γ͕େࣄ֤ݸਓͷਓͱͯ͠ͷ͕ձࣾʹͱͬͯΤωϧΪʔͷݯઘձࣾͱͯ͠Δ͖͜ͱݸਓͷϥʔχϯάκʔϯΛҙࣝతʹ࡞Δ͜ͱ
ࢲͨͪͷಇ͖ํࣾͰͷνϟϨϯδษڧձɺΠϕϯτࢀՃඅશֹαϙʔτࣾһͷίϛϡχςΟͷࢀՃߩݙΛαϙʔτTFMGIBDLUJNF िʹ࣌ؒɺबۀ࣌ؒதʹۀҎ֎ͷ͖ͳ͜ͱΛΔࣾ֎ͷਓΛೖΕͨࣾϛʔςΟϯάࣾใϑϧΦʔϓϯʢΓͱΓച্څྉʣܾࡋͳ͘શ͕ͯࣗݾࡋྔɹ बۀ࣌ؒٳՋܦඅग़ுϑϧϦϞʔτϫʔΫਓؒੑ͕ߴ͍খ͞ͳνʔϜͰ͋ΕશίϛϡχςΟܕͷձࣾӡӦ͕Ͱ͖Δͣ
͜Ε͔ΒͷϏδωεʹඞཁͳ̏ͭͷྖҬඇڝ૪ྖҬڝ૪ྖҬڞྖҬ
ඇڝ૪ྖҬඇڝ૪ྖҬɾࣗͰશͯΛ࡞ΒͣʹΫϥυΛ͏·͘׆༻͢Δ͜ͱͰॴ༗͔Βར༻ɾಘҙͳͱ͜ΖɺՁΛੜΈग़͢ͱ͜ΖʹྗͰ͖ΔڥΛ࡞Δ
ڝ૪ྖҬϒϨʔΫϙΠϯτٕज़ྗࢿۚྗ࿑ಇྗϚʔέςỹϯάσβΠϯαϙʔτɾɾɾάϩʔόϧͳίϛϡχςΟͰڝ૪ྖҬΛϨϕϧΞοϓʢࠩผԽཁҼʣڝ૪ྖҬɾଞࣾʹෛ͚ͯͳΒͳ͍উෛ͢ΔྖҬɺੈքج४Ͱ৳͢ɾ৳ͨ͢Ίʹɺ5FBDIJOH4UVEJOHͰͳ͘-FBSOJOHίϛϡχςΟܕͷHJWFUBLFɾΞτϓοτͨ͠ਓʹɺͦΕҎ্ͷใ͕ू·Δ
ڞྖҬϒϨʔΫϙΠϯτٕज़ྗࢿۚྗ࿑ಇྗϚʔέςỹϯάσβΠϯαϙʔτɾɾɾϩʔΧϧͳίϛϡχςΟͰڞ͠ΠϊϕʔγϣϯΛ࣮ݱΠϊϕʔγϣϯڞྖҬ ɾࣄۀυϝΠϯ͕ҟͳΔਓͱͷަྲྀɾΠϊϕʔγϣϯͱ৽݁߹ γϡϯϖʔλʔɾձࣾݸਓͷΛ͑ಘҙͳ෦ͷΈ߹ΘͤͰڧ͍ࣄۀΛ࡞Δ
ํͰͷΫϥυ"**P5׆༻ͷҙٛΫϥυ"**P5टݍɺελʔτΞοϓɺΤϯλʔϓϥΠζ͚ͩͷͷͰͳ͍ࠓͦ͜ɺํதখاۀʹΫϥυ"**P5ͷ4VQFS1PXFSΛ