Slide 1

Slide 1 text

AWSͰθϩ͔Β IOT FLATFORM࡞ͬͯΈͨΒ ʓʓͰͨ͠ 2019.03.07 ᤴɹӬိʢͦΔɹΑΜΕʣ

Slide 2

Slide 2 text

໨࣍ • ࣗݾ঺հ • ձࣾ঺հ - ΤϯίΞʔυ • ͳͥθϩ͔Β࡞ͬͨʁ • γεςϜߏ੒ • ΠϯϓϥྖҬʁΞϓϦέʔγϣϯྖҬʁ • ࢖ͬͯΈͨ - Cognito • ࢖ͬͯΈͨ - Dynamo DB • ࢖ͬͯΈͨ - IoT

Slide 3

Slide 3 text

ࣗݾ঺հ • ϥΠϑελΠϧਪਐࣨΤωϧΪʔࣄۀ౷ׅ෦ॴଐ ɹʢ݉ʣΤϯίΞʔυδϟύϯ • ιϑτόϯΫ།ҰͷʮͦΔ͞Μʢᤴʣʯ • AWSྺɿ2013೥͔Β • ޷͖ͳAWSαʔϏεɿCloudFormation • AWS΁ͷෆຬɿ୭ͷͨΊͷυΩϡϝϯτʁ • ܦྺ֓ཁ େֶ৽ฉ ઓಆܯ࡯ SIer ݕࡧ԰ ిؾ޻ࣄ࢜? ݱࡏ

Slide 4

Slide 4 text

ձࣾ঺հ - ΤϯίΞʔυ • 2013೥γϦίϯόϨʔͰ૑ۀ • 2016೥Encored೔ຊ๏ਓઃཱ • 2017೥Encored Japan໊ࣾมߋ (SBͱJV) • ΤωτʔΫ(Enertalk) • ϠϚμిػεϚʔτϗʔϜͱͯ͠ఏڙɹɹ ʢࠓ݄χϡʔεϦϦʔεલʹConfidentialʣ Ԋֵ ੡඼

Slide 5

Slide 5 text

ͳͥθϩ͔Β࡞ͬͨʁ طଘ • ̍̌̌ສ୺຤Ҏ্ϦΞϧλΠϜσʔλॲཧˍ෼ੳ • ڝ૪ଞࣾͷ1/10ҎԼͷϥʔχϯάίετ(※2017೥ௐࠪ࣌఺) ϓϥοτϑΥʔϜͷ࠶ઃܭཧ༝ • ॳظϏδωεϞσϧͰࢢ৔։୓Ͱ͖ͣ • ৽ϏδωεϞσϧʹ͓͍ͯɺϥʔχϯάίετͷ՝୊ൃੜ ৽ϓϥοτϑΥʔϜͷཁٻ৚݅ • ϥʔχϯάίετμ΢ϯ • খਓ਺ͷ։ൃɾӡ༻ʹରԠ

Slide 6

Slide 6 text

γεςϜߏ੒ IoT Cognito Auth Auth Log Services Core S3 RDB Dynamo Push, mail Enertalk Open API Service API Device API Registor Shadow setting Request Topic Rule Action BLE SES,SNS Ͳ͜·Ͱ͕ΠϯϓϥͰ Ͳ͜·Ͱ͕ΞϓϦʁ

Slide 7

Slide 7 text

ΠϯϓϥྖҬ͸CLOUD FORMATIONͰ ΋͠ɺ࣍ճʹνϟϯε͕༗Ε͹ɾɾɾ - ·ͩऴΘͬͯͳ͍. ɹɹstackͷ୯Ґ͸Ͳ͏͢Δʁ։ൃ؀ڥ෼͚ͳͲͳͲ - ໘ന͘ͳ͍ӡ༻ͷੈք

Slide 8

Slide 8 text

APPྖҬ͸SERVERLESSͰ • ServerlessͷBaseͷࢀߟ͸ (API Gateway, Lambda, IAM Role) • https://github.com/awslabs/aws-serverless-express • ։ൃͷޮ཰ԽͷͨΊͷɺlocal։ൃ؀ڥͷىಈϞʔυͷઃܭ • Rule ActionͳͲͰϏδωεϩδοΫ΍Modelͷ࠶ར༻ • ITɺUT͸ࣗಈԽ ىಈϞʔυ ༻్ ؀ڥ४උ උߟ Offline αʔϏεϩδοΫ։ൃ Local RDB Local Dynamo DB AWS͸MockͰ Cognito͸ཁઃܭ AWS࿈ܞ։ൃ AWSϦιʔεͱૄ௨֬ೝ AWS Acess key AWS Serviceຖʹ Access Keyઃఆ SAM docker API Gatewayͷಈ࡞֬ೝ SAM Docker API Gateway Version ͕ҧ͏ʁ

Slide 9

Slide 9 text

࢖ͬͯΈͨ - COGNITO ݴ͏͜ͱ΋ͳ͘ɺCognitoͰ؆୯ʹೝূ͕࡞ΒΕΔɻ SBηΩϡϦςΟنఆͷͨΊʹ͸Ұ෦࣮૷͕ඞཁͰ͢ɻ • ʮೝূࣦഊΧ΢ϯτ͓Αͼ੍ݶʯʮ࠷ۙϩάΠϯ೔࣌৘ใʯ • LamdaτϦΨʔͱCustom AttributeΛར༻ ※Custom AttributeͷΞΫηεݖݶʹ஫ҙɻ

Slide 10

Slide 10 text

࢖ͬͯΈͨ - DYNAMO DB ͱʹ͔͘ϋϚΓ·͘Γʢٕज़ݕ౼࣌͸࢖Θͳ͍ͱ൑அͨ͠ͷʹɾɾɾʣ ʮ͜͜ʹϋϚͬͨʂDynamoDBʯ • https://blog.brains-tech.co.jp/entry/2015/09/30/222148 ʻ໰୊ʼ ༧໿ΩʔϫʔυͷΧϥϜ໊Λར༻͢Δ৔߹͸ ҎԼͷΑ͏ʹΧϥϜΛఆٛ͢Δඞཁ͕͋Γ·͢ɻ ProjectionExpression:'#type', ExpressionAttributeNames:{ '#type': ‘type', }, ʮpayload.typeʯͷ৔߹͸ʁ ProjectionExpression:'#type', ExpressionAttributeNames:{ '#type': ‘payload.type’, }, ᶃ ProjectionExpression:’payload.#type', ExpressionAttributeNames:{ '#type': ‘type', }, ᶄ ⭐RDBͷߟ͑ํΛࣺͯɺSIMPLEͳkey & ValueઃܭΛ ᶄ ˒ਖ਼ղ

Slide 11

Slide 11 text

࢖ͬͯΈͨ - IOT MQTTূ໌ॻ؅ཧ • σόΠεొ࿥ͷૢ࡞step͕ଟ͍ˠ Custom AuthenticationΛཱͯͯࣗಈԽ • AWSͷূ໌ॻࣗಈൢചػΛࢀߟ • https://github.com/awslabs/aws-iot-certificate-vending-machine Shadow • σόΠεͷઃఆɺঢ়ଶ৘ใΛڞ༗͢Δɻ • ϓϥοτϑΥʔϜ͔Βӡ༻ʹ͸Ұํํ޲͕Φεεϝʢ100%ݸਓҙݟʣ Topic • γεςϜڞ௨ͷ༣ศϙετ ※౦ژ౎ɺ౦ژ౎/ീԦࢠࢢɺ౦ژ౎/ീԦࢠࢢ/… • σόΠεͷෛՙΛݮΒͨ͢ΊɺTopicύεʹ޻෉͕ඞཁ • ͻͱͭͷύεͰσόΠε̍୆͕ඞཁͳ৘ใͷΈड͚औΔΑ͏ʹ ※ϋʔυϧߴ͍

Slide 12

Slide 12 text

࢖ͬͯΈͨ - IOT Rule Action • ઃܭʹΑͬͯ͸ίʔσΟϯάθϩͰDB֨ೲ·Ͱ • Error QueueΛ׆༻͠Α͏ɻ˞ΤϥʔൃੜΛ؂ࢹɺ෮چσʔλอ؅ جຊతͳऔΓࠐΈʁ • Topicͷmessage brokerΛར༻ͤͣrule-nameΛࢦఆͯ͠Aciton • ϝϦοτɿmessage cost͕͔͔Βͳ͍ • σϝϦοτɿ ᶃ rule-nameͷ؅ཧ͕ඞཁɹ ᶄ subscribe͕Ͱ͖ͳ͍ Basic Ingest

Slide 13

Slide 13 text

AWSͰθϩ͔Β IOT FLATFORM࡞ͬͯΈͨΒ ʓʓͰͨ͠ ઈࢍ େม

Slide 14

Slide 14 text

͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠