AKIBA.AWS ONLINE #02 の登壇資料です。 https://dev.classmethod.jp/news/akiba-aws-210421/
IoT ͚ͩ͡Όͳ͍!?AWS IoT Events ͷਅࠎAKIBA.AWS ONLINE #022021/4/21CXࣄۀຊ෦ࠤ౻ஐथ1
View Slide
2ࣗݾհ• ࠤ౻ஐथ• Ϋϥεϝιουגࣜձࣾ• CXࣄۀຊ෦ʢνʔϜIoTʣ• લ৬ɿSIerͷSEΛ4ऑ• ݱࡏɿαʔόʔαΠυΤϯδχΞ• ͖ͳAWSαʔϏεɿLambdaɺCDK@tmk2154@tomoki10
3͡ΊʹIoT Events ͷ׆༻ IoT ʹͱͲ·Βͳ͍!?=>໊͚͋͑ͯ͢ΔͳΒ ɹ Serverless Automaton
4ରͷཧࢹௌऀͷΠϝʔδ• ͋Δఔ AWS ͍ͬͯΔɻLambdaͬͯΔ• IoT Events ΄΅Βͳ͍ɻ໊લฉ͍͔ͨΓඪ• IoT Events Λͬ͘͟Γཧղ͢Δ• ঢ়ଶཧλΠϚʔͷ࣮ʹ͑Δ͜ͱΛཧղ͢Δ
5֓ཁ• IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁ• IoT Events ͷར• IoT Events ͱͦͷଞαʔϏεͱͷൺֱ
6֓ཁ• IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁ• IoT Events ͷར• IoT Events ͱͦͷଞαʔϏεͱͷൺֱ
7IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁ• ެࣜͷհ(αʔϏεϖʔδΑΓ)https://aws.amazon.com/jp/iot-events/
8IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁͳΔ΄ͲΘ͔ΒΜ
9IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁ• ެࣜͷհ(Black Belt ΑΓ)https://www.slideshare.net/AmazonWebServicesJapan/20200916-aws-black-belt-online-seminar-aws-iot-events#12
10IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁ• ެࣜͷհ(Black BeltΑΓ)https://www.slideshare.net/AmazonWebServicesJapan/20200916-aws-black-belt-online-seminar-aws-iot-events#16
• ެࣜͷհ(Black BeltΑΓ)11IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁhttps://www.slideshare.net/AmazonWebServicesJapan/20200916-aws-black-belt-online-seminar-aws-iot-events#16ൣғൣғ֎ਤ ɿσόΠεΞϥʔτର
12IoT Events ͷྲྀΕΛͬ͘͟Γղઆ։࢝ҐஔભҠ݅ঢ়ଶAWS IoT CoreIoTruleIoT Device(GPS)AWS IoT Events○ ॲཧͷྲྀΕྫGPSσʔλΛৗʹIoT Ruleʹૹ৴↓ൣғ͔ભҠ݅ͰνΣοΫ↓݅ద߹ʂΞΫγϣϯ࣮ߦ↓ঢ়ଶભҠ
13IoT Events ͷྲྀΕΛͬ͘͟ΓղઆભҠ݅ঢ়ଶAWS IoT CoreIoTruleIoT Device(GPS)AWS IoT Events○ ॲཧͷྲྀΕྫGPSσʔλΛৗʹIoT Ruleʹૹ৴↓ൣғ͔ભҠ݅ͰνΣοΫ↓݅ద߹ʂΞΫγϣϯ࣮ߦ↓ঢ়ଶભҠ։࢝Ґஔ
14IoT Events ͷྲྀΕΛͬ͘͟Γղઆ։࢝ҐஔભҠ݅ঢ়ଶAWS IoT CoreIoTruleIoT Device(GPS)AWS IoT Events○ ॲཧͷྲྀΕྫGPSσʔλΛৗʹIoT Ruleʹૹ৴↓ൣғ͔ભҠ݅ͰνΣοΫ↓݅ద߹ʂΞΫγϣϯ࣮ߦ↓ঢ়ଶભҠ
15IoT Events ͷྲྀΕΛͬ͘͟Γղઆ։࢝ҐஔભҠ݅ঢ়ଶAWS IoT CoreIoTruleIoT Device(GPS)AWS IoT Events○ ॲཧͷྲྀΕྫGPSσʔλΛৗʹIoT Ruleʹૹ৴↓ൣғ͔ભҠ݅ͰνΣοΫ↓݅ద߹ʂΞΫγϣϯ࣮ߦ↓ঢ়ଶભҠ
16IoT Events ͷྲྀΕΛͬ͘͟Γղઆ։࢝ҐஔભҠ݅ঢ়ଶAWS IoT CoreIoTruleIoT Device(GPS)AWS IoT Events○ ॲཧͷྲྀΕྫGPSσʔλΛৗʹIoT Ruleʹૹ৴↓ൣғ͔ભҠ݅ͰνΣοΫ↓݅ద߹ʂΞΫγϣϯ࣮ߦ↓ঢ়ଶભҠAmazon SNS
17IoT Events ͷྲྀΕΛͬ͘͟Γղઆ։࢝ҐஔભҠ݅ঢ়ଶAWS IoT CoreIoTruleIoT Device(GPS)AWS IoT Events○ ॲཧͷྲྀΕྫGPSσʔλΛৗʹIoT Ruleʹૹ৴↓ൣғ͔ભҠ݅ͰνΣοΫ↓݅ద߹ʂΞΫγϣϯ࣮ߦ↓ঢ়ଶભҠ
18IoT Events ͷྲྀΕΛͬ͘͟Γղઆ։࢝ҐஔભҠ݅ঢ়ଶAWS IoT CoreIoTruleIoT Device(GPS)AWS IoT Events○ ॲཧͷྲྀΕྫGPSσʔλΛৗʹIoT Ruleʹૹ৴↓ൣғ͔ભҠ݅ͰνΣοΫ↓݅ద߹ʂΞΫγϣϯ࣮ߦ↓ঢ়ଶભҠ
19IoT Events ͷྲྀΕΛͬ͘͟Γղઆ։࢝ҐஔભҠ݅ঢ়ଶAWS IoT CoreIoTruleIoT Device(GPS)AWS IoT Events○ ॲཧͷྲྀΕྫGPSσʔλΛৗʹIoT Ruleʹૹ৴↓ൣғ͔ભҠ݅ͰνΣοΫ↓݅ద߹ʂΞΫγϣϯ࣮ߦ↓ঢ়ଶભҠ͜ΜͳॲཧΛGUIͰ࡞ΕΔʂʢίʔυͰॻ͘͜ͱՄೳʣ
20֓ཁ• IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁ• IoT Events ͷར• IoT Events ͱͦͷଞαʔϏεͱͷൺֱ
21IoT αʔϏεͷಛੑ• σόΠε͕σʔλૹ৴ػೳ͚ͩͷ߹ଟ͍• Ϋϥυଆ͔Β͢ΔͱΠϕϯτ͝ͱʹσʔλૹ৴ͯ͠ཉ͍͕͠ਨΕྲྀ͕͠ଟ͍΅͕͔͘Μ͕͍͖͑ͨ͞ΐ͏ͷIoTσόΠε Α͋͘ΔIoTσόΠεIoT Device AWS IoT CoreAWS CloudΞϥʔτൃੜʂIoT Device AWS IoT CoreAWS CloudԹ:20Թ:22Թ:40ٸʹԹมΘͬͨͳΞϥʔτʂʂ
22IoT αʔϏεͷಛੑ• σόΠε͕σʔλऩूػೳ͚ͩͷ߹ଟ͍• Ϋϥυଆ͔Β͢ΔͱΠϕϯτ͝ͱʹσʔλૹ৴ͯ͠ཉ͍͕͠ਨΕྲྀ͕͠ଟ͍΅͕͔͘Μ͕͍͖͑ͨ͞ΐ͏ͷIoTσόΠε Α͋͘ΔIoTσόΠεIoT Device AWS IoT CoreAWS CloudΞϥʔτൃੜʂIoT Device AWS IoT CoreAWS CloudԹ:20Թ:22Թ:40IoT Greengrass ͕͋ΕͰ͖ͦ͏ͨͩσόΠεͷ੍͕…
23IoT αʔϏεͷಛੑ• σόΠε͕σʔλऩूػೳ͚ͩͷ߹ଟ͍• Ϋϥυଆ͔Β͢ΔͱΠϕϯτ͝ͱʹσʔλૹ৴ͯ͠ཉ͍͕͠ਨΕྲྀ͕͠ଟ͍΅͕͔͘Μ͕͍͖͑ͨ͞ΐ͏ͷIoTσόΠε Α͋͘ΔIoTσόΠεIoT Device AWS IoT CoreAWS CloudΞϥʔτൃੜʂIoT Device AWS IoT CoreAWS CloudԹ:20Թ:22Թ:40IoT EventsӈͷσόΠεͷ࣌ɺγϯϓϧʹঢ়ଶཧΛ࣮ݱͰ͖Δʂ
24IoT Events ͕ͳ͍߹ͷઃܭྫ• ͏গ͠ৄࡉʹղઆIoT Device(Թηϯαʔ)AWS IoT CoreAWS CloudԹ:20Թ:22Թ:40IoTruleAWS Lambda Amazon DynamoDB• ԹΛอଘ• ૹ৴͞ΕͨԹͱલͷԹΛൺֱ• Թ͕ٸͳมԽͰΞϥʔτΛൃ๒ΤϯυϙΠϯτ ঢ়ଶݕঢ়ଶอ࣋AWS LambdaΞΫγϣϯAmazon SNSetc…
25IoT Events ͕͋Δ߹ͷઃܭྫ• ͏গ͠ৄࡉʹղઆIoT Device(Թηϯαʔ)AWS IoT CoreAWS CloudԹ:20Թ:22Թ:40IoTrule• ૹ৴͞ΕͨԹͱલͷԹΛൺֱ• Թ͕ٸͳมԽͰΞϥʔτΛൃ๐• ԹΛ෦ʹอଘΤϯυϙΠϯτ ঢ়ଶݕ ঢ়ଶอ࣋AWS IoT EventsAWS LambdaΞΫγϣϯAmazon SNSetc…
26ઃܭ͕࣮ʹͳΔʢIaC ʹࠐՄ!ʣઃܭ࣮ͷΈ͔ผ్هࡌ͕ඞཁIoT Events ͕ͳ͍߹ IoT Events ͕͋Δ߹{"detectorModelDefinition": {"states": [{"stateName": "inBoundary","onInput": {"events": [],"transitionEvents": [JSON Exportઃܭอक͍͢͠
27֓ཁ• IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁ• IoT Events ͷར• IoT Events ͱͦͷଞαʔϏεͱͷൺֱ
Step Functions͡ΌμϝͳΜʁͪΐͬͱͬͯ
ೖྗ͝ͱʹ։࢝εςʔτ͔ΒධՁ29ೖྗʹରͯ͠ݱࡏͷεςʔτ͔ΒධՁStep Functions ͷ߹ IoT Events ͷ߹AWS IoT CoreIoTrule AWS IoT CoreIoTrule…Step Functions ͱͷൺֱ=>ঢ়ଶ͕ଟ͘ͳͬͨ߹ॲཧΛ͏ͷ͕େม => ಛఆͷঢ়ଶͱભҠ͚݅ͩ͑ॲཧ͕͔Δ
ೖྗ͝ͱʹ։࢝εςʔτ͔ΒධՁ30ೖྗʹରͯ͠ݱࡏͷεςʔτ͔ΒධՁStep Functions ͷ߹ IoT Events ͷ߹AWS IoT CoreIoTrule AWS IoT CoreIoTrule…Step Functions ͱͷൺֱ=>ঢ়ଶ͕ଟ͘ͳͬͨ߹ॲཧΛ͏ͷ͕େม => ಛఆͷঢ়ଶͱભҠ͚݅ͩ͑ॲཧ͕͔Δ
31ྫɽGANTZͷ಄ͷരػثͷ౪ݕΛ࣮͍ͯͩ͘͠͞ ɹɹ=> nҎ্ಛఆͷൣғ֎ʹ͍ͨ߹ঢ়ଶΛมߋ͍ͨ͠IoT Events ͷ߹ => ҎԼͷΑ͏ʹλΠϚʔΛࠐΜ࣮͕ͩΈ͍͢AWS IoT CoreIoTrule①ಛఆͷൣғ͔Βग़ͨ߹ɹ λΠϚʔελʔτ②nҎʹൣғʹΕɹ λΠϚʔআ③λΠϚʔ͕nΛա͗Εɹ ൣғ֎ͷঢ়ଶʹભҠGPSσʔλΛৗʹૹ৴※IoT Events ͷλΠϚʔ1͕࠷খ୯Ґ 2021/4/18 ࣌Step Functions ͱͷൺֱ
32IoT Events ͱ༗ݶΦʔτϚτϯ• IoT Events ༗ݶΦʔτϚτϯͷ࣮ͱ͍͑Δ => ༗ݶΦʔτϚτϯ͕༗ޮͳ߹ IoT Ҏ֎Ͱద༻ՄೳͰ͋Δɻ => Serverless Ͱ͑ΔʢEC2ɺVPCෆཁʣ ɹ Ώ͑ʹ Serverless Automaton ͱݴ͑Δʂhttps://ja.wikipedia.org/wiki/༗ݶΦʔτϚτϯ༗ݶΦʔτϚτϯ IoT Events ͷ σΟςΫλʔϞσϧ
33ϋʔτϏʔτࢹ => Ұఆ࣌ؒ௨৴ͷͳ͍߹Ξϥʔτͷੜ࢈ঢ়گࢹ => nҎ্ಛఆͷσʔλ͕དྷͨ࣌ΞΫγϣϯ࣮ߦAWS IoT CoreIoTrulehttps://dev.classmethod.jp/articles/aws-iot-events-heartbeat/σʔλ͕ج४Λ͑ͨΒλΠϚʔελʔτIoT Events ͷԠ༻ྫҰఆ࣌ؒج४Λ͑ͨΒঢ়ଶมߋ&ΞΫγϣϯ࣮ߦ
34·ͱΊ• IoT Events ͱԿ͕Ͱ͖ΔαʔϏεͳͷ͔ʁ => ঢ়ଶʹԠͨ͡ॲཧ͕Մೳ• IoT Events ͷར => ঢ়ଶݕɺঢ়ଶཧΛDBɺLambdaͳ͠ͰՄೳ• IoT Events ͱͦͷଞαʔϏεͱͷൺֱ => ༗ݶΦʔτϚτϯ͕༗ޮͳ߹ʹ IoT Ҏ֎ͰԠ༻Մೳ ɹ λΠϚʔॲཧ͕؆қʹ࣮Ͱ͖Δ