Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
higobashi.aws 第2回「IoTとサーバーレスとラズパイ」
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
yuji nishimura
March 24, 2018
Technology
1.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
higobashi.aws 第2回「IoTとサーバーレスとラズパイ」
higobashi.awsで発表した資料です。
yuji nishimura
March 24, 2018
More Decks by yuji nishimura
See All by yuji nishimura
Kinesis Video Streams 最新アップデートの紹介 #reinvent #cmregrowth
ynishimura
0
1.6k
HIGOBASHI.AWS 第12回「AWS CDKのConstruct Libraryを作って 公開してみよう」
ynishimura
0
710
Angularを使って爆速で管理画面を作る
ynishimura
0
3.1k
サーバーレスアーキテクチャで作ったIoTのバックエンドシステムで遭遇したエラーと対処法
ynishimura
0
2.3k
HIGOBASHI.AWS 第10回「サーバーレスとデータ分析 ~AWS Lambdaを活用して効率化しよう~」
ynishimura
0
1.5k
re:Invent2018 IoT系の新サービス・アップデート
ynishimura
0
1.4k
【Developers.IO 2018】IoTを実現するためのAWSのIoT系サービス:分析、セキュリティ管理、組み込み向けサービスもあるで!
ynishimura
2
1.2k
HIGOBASHI.AWS 第6回「Amazon Route53で ドメインを購入して、設定してみよう」
ynishimura
0
1.9k
HIGOBASHI.AWS 第5回「AngularとAWS AppSyncで作るサーバーレスアプリケーション」
ynishimura
0
4.3k
Other Decks in Technology
See All in Technology
ラジオの科学
frievea
0
290
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
550
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
700
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
240
MIRU 2026 チュートリアル
keisuke198619
0
880
モダンフロントエンド 開発研修
recruitengineers
PRO
4
600
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.6k
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
220
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
190
ガバメントクラウドでのランサムウェア対策
techniczna
2
1.1k
SmartHR Engineering Team Deck
smarthr
1
1.7k
私がブラウザを自作したくなった理由
supurazako
0
120
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
A designer walks into a library…
pauljervisheath
211
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
640
The Language of Interfaces
destraynor
162
27k
Unsuck your backbone
ammeep
672
58k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
200
The Spectacular Lies of Maps
axbom
PRO
1
900
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
Transcript
)*(0#"4)*"84 ଜ༞ೋ *P5ͱαʔόʔϨεͱϥζύΠ
• ଜ༞ೋ(27) • αʔόʔϨε։ൃ෦ • ೖࣾ10ϲ݄ • AWSྺ10ϲ݄ • େࡕʹUλʔϯస৬
• લ৬ISPͷձࣾͰސ٬γεςϜͷӡ༻ɾอक ―ࣗݾհ
―ΞδΣϯμ •IoTͷ͓͞Β͍ •IoTʹؔ࿈͢ΔAWSαʔϏε •AWS IoT •σόΠεγϟυͷΈ •σόΠεΛૢ࡞͢Δը໘ΛαʔόʔϨεͰ࡞Δ •ԕִૢ࡞͢ΔσϞ •ॴײ
•·ͱΊ
―ࠓճͷൃදͲΜͳਓ͕ରʁ ৽ϥζύΠͬͯͯIoT࢝Ί͍ͨਓ αʔόʔϨεʹڵຯ͋Δਓ ཧը໘࡞Γ͍ͨਓ
IoTͷ͓͞Β͍ ͻͱ͜ͱ͚ͩԿ͔Λݴ͍͍ͨ࣌ʹ༻͠·͢
―*P5ͷ͓͞Β͍ ✦IoTͷओͳཁ݅ ✦σόΠεͷϞχλϦϯά ✦σόΠεͷԕִૢ࡞ ✦ҟৗݕɺނো༧ଌ
―*P5ͷ͓͞Β͍ ✦IoTͷओͳཁ݅ ✦σόΠεͷϞχλϦϯά ✦σόΠεͷԕִૢ࡞ ✦ҟৗݕɺނো༧ଌ ҟৗݕɾ༧ଌదͳσʔλͷੵ͕ඞཁ ϞχλϦϯάɺԕִૢ࡞͔Β࢝ΊΔͷ͕Φεεϝ
―*P5ͷ͓͞Β͍ ✦IoTΛ࣮ݱ͢ΔͨΊͷཁૉ IoTΛ࣮ݱͤ͞ΔαʔϏε͕AWSʹଟ͋͘Δ ಛʹαʔόʔϨεܥͷαʔϏε͕ଟ͍ σόΠε σʔλऩू σόΠε੍ޚ σʔλॲཧɾੳ σʔλอଘ
σόΠεཧ ׆༻ ՄࢹԽ ༧ଌɾݕ σόΠεཧ σʔλऩूɾੳ ԕִૢ࡞
IoTʹؔ࿈͢Δ AWSαʔϏε ͻͱ͜ͱ͚ͩԿ͔Λݴ͍͍ͨ࣌ʹ༻͠·͢
―*P5ؔ࿈"84αʔϏε ✦ϨΠϠ͝ͱʹෳαʔϏε͕͋Δ σόΠε ՄࢹԽ ༧ଌɾݕ σόΠεཧ Amazon S3 AWS
Lambda Amazon DynamoDB Amazon Kinesis Amazon Athena Amazon EMR Amazon ES Amazon QuickSight Amazon API Gateway* Amazon Cognito AWS IoT Amazon S3 σʔλऩू σʔλอଘ σʔλॲཧɾੳ Amazon Kinesis Amazon ElastiCache AWS IoT σόΠε੍ޚ σόΠεཧ AWS IoT ׆༻ AWS Lambda ཁ݅ʹ߹Θͤͯ࠷దͳαʔϏεΛબ
―*P5ؔ࿈"84αʔϏε ✦ϨΠϠ͝ͱʹෳαʔϏε͕͋Δ σόΠε ՄࢹԽ ༧ଌɾݕ σόΠεཧ Amazon S3 AWS
Lambda Amazon DynamoDB Amazon Kinesis Amazon Athena Amazon EMR Amazon ES Amazon QuickSight Amazon API Gateway* Amazon Cognito AWS IoT Amazon S3 σʔλऩू σʔλอଘ σʔλॲཧɾੳ Amazon Kinesis Amazon ElastiCache AWS IoT σόΠε੍ޚ σόΠεཧ AWS IoT ׆༻ AWS Lambda ཁ݅ʹ߹Θͤͯ࠷దͳαʔϏεΛબ
―σόΠεͱ"84Λͭͳ͙αʔϏε ✦σόΠεͱσʔλΛૹड৴͢ΔαʔϏεબఆ σόΠεΛԕִૢ࡞͍ͨ͠ͱ͖AWS IoT͕࠷ద "84*P5 "NB[PO ,JOFTJT "NB[PO 4
ϖΠϩʔυ ϝοηʔδ ,#·Ͱ Ϩίʔυ.#· Ͱ ΦϒδΣΫτ5#·Ͱ ϓϩτίϧ .2554)5514 .255PWFS8FC4PDLFU )5514 )5514 ೝূ ΫϥΠΞϯτূ໌ॻ 4JH7 4JH7 4JH7 ద͢Δ༻్ ϖΠϩʔυ͕খ͍͞ σόΠεͱ"84ͷํ௨৴ ߴ͍ηΩϡϦςΟ͕ٻΊΒΕΔ ϖΠϩʔυ͕େ͖ ͘ ૹ৴ස͕େ͖͍ σʔλαΠζ͕େ͖͘ ϑΝΠϧ୯ҐͰσʔλΛ ѻ͏߹
AWS IoT ͻͱ͜ͱ͚ͩԿ͔Λݴ͍͍ͨ࣌ʹ༻͠·͢
―"84*P5ͷओͳͱػೳ σόΠεΛԕִૢ࡞͢ΔͨΊʹσόΠεγϟυΛར༻ https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2016-aws-iot
σόΠεγϟυ(Thingγϟυ)ͷ Έ ͻͱ͜ͱ͚ͩԿ͔Λݴ͍͍ͨ࣌ʹ༻͠·͢
―σόΠεγϟυ 5IJOHγϟυ ✦Thingγϟυ ✦AWS্ͷԾσόΠε ✦JSONͰσόΠεͷঢ়ଶΛอ࣋ ✦ঢ়ଶΛdelta,desired,reportedͷεςʔλεͰཧ ✦σόΠεଓ࣌ʹγϟυͷঢ়ଶ(delta)Λಉظ
σόΠεΛૢ࡞͢Δը໘Λ αʔόʔϨεͰ࡞Δ ͻͱ͜ͱ͚ͩԿ͔Λݴ͍͍ͨ࣌ʹ༻͠·͢
―αʔόʔϨεͰཧը໘࡞ ✦S3ʹαΠτϗεςΟϯάػೳ͕͋Δ ✦CloudFrontͱͷΈ߹Θ͕ͤԦಓ ✦αΠτ෦SPAͰ։ൃ ✦ΫϥΠΞϯταʔόͱ௨৴͢ΔͷʹAPIΛ࣮ߦ users AWS Lambda Amazon
CloudFront Amazon API Gateway* JavaScript AWS IoT
―࣮ࡍʹͲ͏ͬͯը໘Λ։ൃ͢Δʁ ✦SPA։ൃʹϑϨʔϜϫʔΫͷར༻͕Ұൠత ✦ࠓճAngularΛհ
―ϑϨʔϜϫʔΫ"OHVMBS͕͍͍ͷʁ ✦ϑϨʔϜϫʔΫͲΕͰ͍͍ ✦ReactͰVue.jsͰɺ͍͍ͨͷͰOK ✦ਖ਼ҧ͍͕Θ͔͍ͬͯͳ͍ ✦ݸਓతAngularͷ͍͍ͱ͜Ζ •ϑϧελοΫ •ܕ͖ͷTypeScript͕ඪ४ •هड़ํ๏͕͋ΔఔϧʔϧԽ͞Ε͓ͯΓɺಡԽݮ
―"OHVMBSֶशίετߴ͍ʁ ✦؆୯ͳͷΛ࡞Δ͚ͩͳΒͦ͜·Ͱߴ͘ͳ͍ ✦Angular CLI͕༏लͰܗ͕͙͢࡞ΕΔ ✦ܗΛΧελϚΠζ͍͚ͯ͠େৎ ✦ެࣜαΠτͷνϡʔτϦΞϧ͕༏ल ✦·͔ͣͦ͜Β࢝ΊΔͷ͕Φεεϝ ✦ڽͬͨ͜ͱΛ͠Α͏ͱ͢ΔͱTypeScriptɺRxJSΛֶ Ϳ͜ͱඞਢʢઈࢍษڧதʣ
―"OHVMBS$-*ͷྫɿܗ࡞ ✦Πϯετʔϧ $ npm install -g @angular/cli ✦ܗ࡞ʢWebpack+Typescript+SCSSʣ ✦e2e,karma,protractor,tslintͷઃఆ·Δͬͱؚ·
Εͯੜͯ͘͠ΕΔ $ ng new [app-name] --style scss ✦ଞͷCSSͷϝλݴޠࢦఆՄೳ ɾless ɾsass ɾstyl (stylus)
―"OHVMBS$-*ͷྫɿίϯϙʔωϯτ࡞ ✦ը໘ͷ෦ͱͳΔίϯϙʔωϯτͷ࡞؆୯ $ ng generate component [name] ✦ίϯϙʔωϯτͷඥ͚ࣗಈͰͯ͘͠ΕΔ ✦ςετͰ͏*.spec.tsͱ͍͏JasmineϑϨʔϜϫʔ
ΫܗࣜͷςετܗϑΝΠϧ͕ੜͯ͘͠ΕΔ
―"OHVMBS$-*ͷྫɿϏϧυσϓϩΠ ✦࡞ͨ͠ΞϓϦΛίϚϯυҰͭͰϏϧυ ✦HTML,JSͷϑΝΠϧ܈Λʮdistʯʹग़ྗ $ ng build $ ng build
—prod ✦࠷దԽͯ͠Ϗϧυɺ༰ྔݮ ✦aws cliͰ؆୯ʹSPAΛσϓϩΠ $ aws s3 sync dist s3://<bucket> —-delete
ԕִૢ࡞͢ΔσϞ
―σϞͷ֓ཁ ✦AngularͰ࡞ͬͨSPA͔ΒϘλϯΛΫϦοΫ ✦ϥζύΠʹଓ͞Ε͍ͯΔΧϝϥͰࡱӨ AWS Lambda Amazon API Gateway AWS
IoT ᶃϦΫΤετ ᶄτϦΨʔ ᶅγϟυߋ৽ ᶆDelta֬ೝ ᶇࡱӨ
ϥζύΠଆͷߏங࡞ۀ
―ϥζύΠͰͷ։ൃ࡞ۀ ✦AWS IoTͰ࡞ͨ͠ূ໌ॻͷஔ ✦AWS IoT Device SDK for PythonΛஔ
✦MQTTͰγϟυͷDeltaΛࢹ͢ΔϓϩάϥϜΛ ࣮ߦ͓ͯ͘͠ ✦γϟυͷมߋϦΫΤετΛτϦΨʹίϚϯυ࣮ߦ
ॴײ ͻͱ͜ͱ͚ͩԿ͔Λݴ͍͍ͨ࣌ʹ༻͠·͢
―ࠓޙͲ͏ͳ͍ͬͯ͘ʁ ✦αʔόʔϨε·ͩ·ͩ͜Ε͔Β ✦ςετɺࢹɺӡ༻ͳͲະཱ֬ͳͱ͜Ζ͕·ͩ·ͩ ଟ͍ ✦ࠓޙίϯςφʢFargateʣͱ࿈ܞ͍͍ͯ͠ͱ͜ͲΓʁ ✦ίϯςφܥͷษڧձΛاըதʂ
͍͞͝ʹ
―͋ͳͨͱҰॹʹಇ͖͍ͨʂ AWSΛۃΊ͍ͨਓ αʔόʔϨεΛۃΊ͍ͨਓ GO!!
None