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
IoTデバイスの疑似データ送信システムにおける サーバーレスなログ処理機構の試行錯誤
Search
Keita Mohri
December 14, 2019
Technology
0
610
IoTデバイスの疑似データ送信システムにおける サーバーレスなログ処理機構の試行錯誤
ServerlessDays Fukuoka 2019
Keita Mohri
December 14, 2019
Tweet
Share
More Decks by Keita Mohri
See All by Keita Mohri
Excelを扱うRubyGemまとめ 2022
ktam1219
0
630
モクえもんのお時間です
ktam1219
0
210
在宅ワーク中だけど会社にしかGPSマルチユニットがない?でも大丈夫!そう、mockmockがあればね。
ktam1219
0
430
実写版モクえもん in Explorer ~愛・おぼえていますか~
ktam1219
0
350
エンジニアのおしごと
ktam1219
0
160
mockmockの大量のログをいい感じに捌きたい
ktam1219
0
1.1k
Goで作る大量プロセス管理機構
ktam1219
2
3.7k
わりとゴツいKubernetesハンズオン そのあとに
ktam1219
0
670
明太子とEndorseと私
ktam1219
0
730
Other Decks in Technology
See All in Technology
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
350
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
130
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
1.9k
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
250
AWS re:Invent2025最新動向まとめ(NRIグループre:Cap 2025)
gamogamo
0
130
Snowflake Industry Days 2025 Nowcast
takumimukaiyama
0
150
日本Rubyの会: これまでとこれから
snoozer05
PRO
6
250
Claude Skillsの テスト業務での活用事例
moritamasami
1
120
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.4k
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
5
11k
AWS Lambda durable functions を使って AWS Lambda の15分の壁を超えてみよう
matsuzawatakeshi
0
110
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
430
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
0
2.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
210
GraphQLとの向き合い方2022年版
quramy
50
14k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
84
Design in an AI World
tapps
0
100
Everyday Curiosity
cassininazir
0
110
Automating Front-end Workflow
addyosmani
1371
200k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
The SEO identity crisis: Don't let AI make you average
varn
0
40
Rails Girls Zürich Keynote
gr2m
95
14k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Transcript
*P5σόΠεͷٙࣅσʔλૹ৴γεςϜʹ͓͚Δ αʔόʔϨεͳϩάॲཧػߏͷࢼߦࡨޡ 4FSWFSMFTT%BZT'VLVPLB 4BU ໟརܒଠ
‣ 'VTJD$P -UE ‣ ϓϦϯγύϧΤϯδχΞNPDLNPDLνʔϜϦʔμʔ ‣ "84 403"$0. (P
3VCZ ‣ ࣌ؒͰશཧղʂΘΓͱΰπ͍,VCFSOFUFTϋϯζΦϯʂʂ w IUUQTRJJUBDPN,UB.JUFNTDFDEEGEE ໟརܒଠʢ͏Γ͚͍ͨʣ
*P5σόΠεͷٙࣅσʔλૹ৴γεςϜʹ͓͚Δ αʔόʔϨεͳϩάॲཧػߏͷࢼߦࡨޡ
*P5։ൃऀ͚ͷٙࣅσʔλੜɾૹ৴αʔϏε NPDLNPDL 8FCίϯιʔϧ͔Β੍ޚ Backend ٙࣅσʔλ ԾσόΠε NPDL ࣮σόΠεͳ͠Ͱ #BDLFOEͷ
ςετෛՙࢼݧ͕ ࣮ࢪՄೳʹ
ը໘Πϝʔδ ࢥ͍௨ΓͷϑΥʔϚοτͰ+40/σʔλΛੜ ԾσόΠεͷεςʔλεͱͦͷมԽΛҙʹઃఆ ͞·͟·ͳ࣌ܥྻσʔλੜػೳ
*P5σόΠεͷٙࣅσʔλૹ৴γεςϜʹ͓͚Δ αʔόʔϨεͳϩάॲཧػߏͷࢼߦࡨޡ
γεςϜશମ૾
PublicSubnet Web Web WebίϯιʔϧͰ ಈ࡞Λઃఆ mockΛૢ࡞ PrivateSubnet RDS
PublicSubnet PrivateSubnet Web Web Worker Worker WebίϯιʔϧͰ ಈ࡞Λઃఆ mockΛૢ࡞
mockૢ࡞JobΛ ൃߦ PrivateSubnet RDS
PublicSubnet PrivateSubnet S3 Bucket (Lot) S3 Bucket (Binary) Web
Web Worker Worker mockૢ࡞JobΛ ൃߦ ઃఆϑΝΠϧΛ Ξοϓϩʔυ mockαʔόʔʹ ૢ࡞ࢦࣔ PrivateSubnet Mock Mock Mock Mock Mock Mock WebίϯιʔϧͰ ಈ࡞Λઃఆ mockΛૢ࡞ PrivateSubnet RDS
PublicSubnet PrivateSubnet S3 Bucket (Lot) S3 Bucket (Binary) Web
Web Worker Worker mockૢ࡞JobΛ ൃߦ ઃఆϑΝΠϧΛ Ξοϓϩʔυ mockαʔόʔʹ ૢ࡞ࢦࣔ ઃఆϑΝΠϧ όΠφϦΛDL PrivateSubnet Mock Mock Mock Mock Mock Mock WebίϯιʔϧͰ ಈ࡞Λઃఆ mockΛૢ࡞ PrivateSubnet RDS
PublicSubnet PrivateSubnet S3 Bucket (Lot) S3 Bucket (Binary) Web
Web Worker Worker mockૢ࡞JobΛ ൃߦ ઃఆϑΝΠϧΛ Ξοϓϩʔυ mockαʔόʔʹ ૢ࡞ࢦࣔ ઃఆϑΝΠϧ όΠφϦΛDL PrivateSubnet Mock Mock Mock Mock Mock Mock WebίϯιʔϧͰ ಈ࡞Λઃఆ mockΛૢ࡞ mockϓϩηε ىಈ PrivateSubnet RDS
PublicSubnet PrivateSubnet S3 Bucket (Lot) S3 Bucket (Binary) Web
Web Worker Worker mockૢ࡞JobΛ ൃߦ ઃఆϑΝΠϧΛ Ξοϓϩʔυ mockαʔόʔʹ ૢ࡞ࢦࣔ ઃఆϑΝΠϧ όΠφϦΛDL PrivateSubnet Mock Mock Mock Mock Mock Mock mockϓϩηε ىಈ WebίϯιʔϧͰ ಈ࡞Λઃఆ mockΛૢ࡞ PrivateSubnet mockՔಇঢ়گ Λ௨ RDS ϩάॲཧػߏ ʁ Log Storage ϩάૹ৴ ϩάอଘ
PublicSubnet PrivateSubnet S3 Bucket (Lot) S3 Bucket (Binary) Web
Web Worker Worker mockૢ࡞JobΛ ൃߦ ઃఆϑΝΠϧΛ Ξοϓϩʔυ mockαʔόʔʹ ૢ࡞ࢦࣔ ઃఆϑΝΠϧ όΠφϦΛDL PrivateSubnet Mock Mock Mock Mock Mock Mock mockϓϩηε ىಈ WebίϯιʔϧͰ ಈ࡞Λઃఆ mockΛૢ࡞ PrivateSubnet mockՔಇঢ়گ Λ௨ RDS ϩάॲཧػߏ ʁ Log Storage ϩάૹ৴ ϩάอଘ Mock Mock [ mock ] GoόΠφϦ͔Βཱͯͨ ԾσόΠεϓϩηε [ tower ] GoόΠφϦ͔Βཱͯͨ mockཧϓϩηε
ϩάॲཧػߏ
<*/165> ֤NPDLϓϩηε͕ ٙࣅσʔλૹ৴ͷͨͼʹ ϩάΛੜɾૹ৴ <065165> Կ͔͠ΒͷετϨʔδʹ ੜϩάΛอଘ <065165> ϩάΛղੳͯ͠
NPDLͷՔಇঢ়ଶΛ௨ PrivateSubnet Worker Worker PrivateSubnet Mock Mock Mock Mock Mock Mock ϩάॲཧػߏ ʁ Log Storage
ը໘ͰݟΔͱʜ <065165>NPDLͷՔಇঢ়ଶΛදࣔ <065165>อଘͨ͠ϩάΛදࣔάϥϑදࣔ
*P5σόΠεͷٙࣅσʔλૹ৴γεςϜʹ͓͚Δ αʔόʔϨεͳϩάॲཧػߏͷࢼߦࡨޡ
ϙΠϯτ
PrivateSubnet Worker Worker PrivateSubnet Mock Mock Mock Mock Mock
Mock ϩάॲཧػߏ ʁ Log Storage NPDLͷՔಇ ࠷େͰສ Քಇ͔Β ͍͖ͳΓສʹͳΔ͜ͱ
PrivateSubnet Worker Worker PrivateSubnet Mock Mock Mock Mock Mock
Mock ϩάॲཧػߏ ʁ Log Storage NPDLͷՔಇ ࠷େͰສ Քಇ͔Β ͍͖ͳΓສʹͳΔ͜ͱ NPDLͷσʔλૹ৴ִؒ ࠷খͰඵ
ૹ৴ͨٙ͠ࣅσʔλͷ αΠζʹΑͬͯ ϩάͷαΠζେ͖͘มಈ ,#ະຬdे,# PrivateSubnet Worker Worker PrivateSubnet Mock
Mock Mock Mock Mock Mock ϩάॲཧػߏ ʁ Log Storage NPDLͷՔಇ ࠷େͰສ Քಇ͔Β ͍͖ͳΓສʹͳΔ͜ͱ NPDLͷσʔλૹ৴ִؒ ࠷খͰඵ
ૹ৴ͨٙ͠ࣅσʔλͷ αΠζʹΑͬͯ ϩάͷαΠζେ͖͘มಈ ,#ະຬdे,# NPDLͷՔಇঢ়ଶΛ ϦΞϧλΠϜʹө͍ͨ͠ PrivateSubnet Worker Worker
PrivateSubnet Mock Mock Mock Mock Mock Mock ϩάॲཧػߏ ʁ Log Storage NPDLͷՔಇ ࠷େͰສ Քಇ͔Β ͍͖ͳΓສʹͳΔ͜ͱ NPDLͷσʔλૹ৴ִؒ ࠷খͰඵ
ૹ৴ͨٙ͠ࣅσʔλͷ αΠζʹΑͬͯ ϩάͷαΠζେ͖͘มಈ ,#ະຬdे,# NPDLͷՔಇঢ়ଶΛ ϦΞϧλΠϜʹө͍ͨ͠ PrivateSubnet Worker Worker
PrivateSubnet Mock Mock Mock Mock Mock Mock ϩάॲཧػߏ ʁ Log Storage NPDLͷՔಇ ࠷େͰສ Քಇ͔Β ͍͖ͳΓສʹͳΔ͜ͱ NPDLͷσʔλૹ৴ִؒ ࠷খͰඵ Ұఆظ͕ؒܦաͨ͠Β ϩάΛফ͍ͨ͠
ૹ৴ͨٙ͠ࣅσʔλͷ αΠζʹΑͬͯ ϩάͷαΠζେ͖͘มಈ ,#ະຬdे,# NPDLͷՔಇʹΑͬͯ අ༻εέʔϧ͍ͤͨ͞ NPDLͷՔಇঢ়ଶΛ ϦΞϧλΠϜʹө͍ͨ͠ PrivateSubnet
Worker Worker PrivateSubnet Mock Mock Mock Mock Mock Mock ϩάॲཧػߏ ʁ Log Storage NPDLͷՔಇ ࠷େͰສ Քಇ͔Β ͍͖ͳΓສʹͳΔ͜ͱ NPDLͷσʔλૹ৴ִؒ ࠷খͰඵ Ұఆظ͕ؒܦաͨ͠Β ϩάΛফ͍ͨ͠
͋ͳͨͳΒͲ͏͢Δʁ
/PX-PBEJOH powerd by ʮ࣮ࣸ൛ϞΫ͑ΜJO&YQMPSFSdѪɾ͓΅͍͑ͯ·͔͢dʯ https://speakerdeck.com/ktam1219/shi-xie-ban-mokuemon-in-explorer-ai-oboeteimasuka
ୈ̍ੈ
‣ NPDLαʔόʔʹԿΠϯετʔϧ͠ͳ͍ ࢹͱ͔ΞοϓάϨʔυͱ͔͕໘ ‣ ϩάॲཧػߏʹωοτϫʔΫଳҬΛۃྗׂ͔ͳ͍ ϝΠϯػೳͷٙࣅσʔλૹ৴ʹ͍͍ͨ ୈੈํ
PrivateSubnet Worker Worker PrivateSubnet Mock Mock Mock Mock Mock
Mock S3 Bucket S3 Bucket Lambda ૹ৴ຖʹϩάΛ ॻ͖ग़͢ 1ຖʹશmockͷ ϩάΛूܭ S3ͷputͰ Lambda͕ൃՐ mockͷঢ়ଶΛ HTTPͰ͑Δ mockຖʹϩάΛ όϥͯ͠อଘ
ୈੈ݁Ռ (PPE #BE ‣ NPDLαʔόʔʹԿΠϯετʔϧ ͠ͳ͍͍ͯ͘ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫଳ Ҭ͕࠷ݶ
‣ ϩάͷୡʹ͕͔͔࣌ؒΔ ‣ ϩάͷूղॲཧ͕͋ΔͨΊ ϩάͷαΠζ͕େ͖͘Ͱ͖ͳ͍ ‣ ҟৗܥ·Ͱߟ͑ΔͱUPXFSͰͷϩά ूॲཧ͕ෳࡶʹͳΔ ‣ 4͔ΒظؒࢦఆͰϩάΛऔΓʹ͍͘ ‣ XPSLFSʹNPDLঢ়ଶΛ͑Δͱ͜ Ζ͕ಉظత w ࣦഊ࣌ͷ࠶ૹॲཧΛͤͶ
ୈੈ݁Ռ (PPE #BE ‣ NPDLαʔόʔʹԿΠϯετʔϧ ͠ͳ͍͍ͯ͘ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫଳ Ҭ͕࠷ݶ
‣ ϩάͷୡʹ͕͔͔࣌ؒΔ ‣ ϩάͷूղॲཧ͕͋ΔͨΊ ϩάͷαΠζ͕େ͖͘Ͱ͖ͳ͍ ‣ ҟৗܥ·Ͱߟ͑ΔͱUPXFSͰͷϩά ूॲཧ͕ෳࡶʹͳΔ ‣ 4͔ΒظؒࢦఆͰϩάΛऔΓʹ͍͘ ‣ XPSLFSʹNPDLঢ়ଶΛ͑Δͱ͜ Ζ͕ಉظత w ࣦഊ࣌ͷ࠶ૹॲཧΛͤͶ ͳΜ͔μα͍ʂ
/PX-PBEJOH
ୈ̎ੈ
‣ NPDLαʔόʔʹԿΠϯετʔϧ͠ͳ͍ ͬͺΓࢹͱ͔ΞοϓάϨʔυͱ͔͕໘ ‣ ϩάॲཧػߏʹωοτϫʔΫଳҬΛ͋Δఔׂ͜͏ Γͳ͔ͬͨΒ͓ۚͷྗʹཔͬͯੜ͖͍ͯ͜͏ ‣ 4͔Β%ZOBNP%#ʹม͑ͯΈΑ͏
%ZOBNP%#ͳΒ֤NPDL͔ΒϩάΛೖΕͯେৎͦ͏ ΫΤϦ͕ॻ͚ΔͷͰอଘͨ͠ϩά͕औಘ͍͢͠ ͰΩϟύγςΟͷཧ͕໘ʜ ୈ̎ੈํ
%ZOBNP%#0O%FNBOEരʂ !SF*OWFOU
%ZOBNP%#0O%FNBOEരʂ
ࢲͷͨΊͷΞοϓσʔτ͔
‣ ैདྷͷ%ZOBNP%#ͰɺΩϟύγςΟϢχοτ ಡΈॻ͖ੑೳ Λ ͋Β͔͡Ίઃఆ͓ͯ͘͠ඞཁ͕͋ͬͨ 8$6 8SJUF$BQBDJUZ6OJU
3$6 3FBE$BQBDJUZ6OJU ‣ ΩϟύγςΟϢχοτͷΦʔτεέʔϦϯάઃఆͰ͖Δ͕ɺ ॠؒతʹεέʔϧ͢ΔΘ͚Ͱͳ͍ ऑ͔͔Δ ‣ 0O%FNBOEϞʔυͰɺͬͨΩϟύγςΟϢχοτʹରͯ͠ ैྔ՝ۚͯ͘͠ΕΔʂ ͋Β͔͡ΊΩϟύγςΟϢχοτΛઃఆ͓ͯ͘͠ඞཁ͕ͳ͍ʂ %ZOBNP%#0O%FNBOEരʂ
PrivateSubnet Worker Worker PrivateSubnet Mock Mock Mock Mock Mock
Mock DynamoDB (On-Demand) Lambda SNS SQS ֤mock͕ DynamoDBʹϩάΛ ॻ͖ࠐΉ Worker͔ΒσʔλΛ औΓʹߦ͘͜ͱͰ ඇಉظʹσʔλΛߋ৽ DynamoDB Streamsʹ ΑͬͯLambdaΛൃՐ ੜϩάDynamoDBΛࢀর TTLͰҰఆظؒܦաޙʹআ
ୈੈ݁Ռ (PPE #BE ‣ NPDLՔಇঢ়ଶͷୡ͕΄΅ϦΞϧ λΠϜ ‣ ػߏ͕ൺֱత؆୯ʹͳͬͨ ‣
ϩάͷूղॲཧ͕ͳ͘ͳͬͨ ͷͰɺେ͖ΊͷϩάૹΕΔΑ͏ʹ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫ ଳҬ͕େ͖͘ͳͬͨ ‣ %ZOBNP%#0O%FNBOE ΰϦΰϦ͏ͱߴ͍ʜ
ୈੈ݁Ռ (PPE #BE ‣ NPDLՔಇঢ়ଶͷୡ͕΄΅ϦΞϧ λΠϜ ‣ ػߏ͕ൺֱత؆୯ʹͳͬͨ ‣
ϩάͷूղॲཧ͕ͳ͘ͳͬͨ ͷͰɺେ͖ΊͷϩάૹΕΔΑ͏ʹ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫ ଳҬ͕େ͖͘ͳͬͨ ‣ %ZOBNP%#0O%FNBOE ΰϦΰϦ͏ͱߴ͍ʜ #JLLVSJ ‣ ࢥͬͨҎ্ʹॠؒతʹεέʔϧ͢Δ w Ͱ<8$6>Ͱ0,
/PX-PBEJOH
ୈ̏ੈ
‣ NPDLαʔόʔʹԿΠϯετʔϧ͠ͳ͍ ͬͺΓࢹͱ͔ΞοϓάϨʔυͱ͔͕໘ ‣ ϩάॲཧػߏʹωοτϫʔΫଳҬΛ͋Δఔׂ͜͏ Γͳ͔ͬͨΒ͓ۚͷྗʹཔͬͯੜ͖͍ͯ͜͏ ‣ %ZOBNP%#0O%FNBOE٫͠Α͏
͓ۚʹݶք͕͋ΔΑͶ ୈ̏ੈํ
‣ ΩϟύγςΟ͕ৗʹେ͖͘มಈ͢Δ߹༗ޮ ‣ NPDLNPDLͰมಈ͢Δ͕ɺ֤NPDL͕ॻ͖ࠐΉྔҰఆ ؤுΕ1SPWJTJPOFE͕͑ΔͷͰʁ ΰϦΰϦ%ZOBNP%#0O%FNBOE ͣͬ͠ͱҰఆͰ͍ଓ͚ͨΒʜ 0O%FNBOE
1SPWJTJPOFE ར༻͍ͯ͠ΔΩϟύγςΟͷഒΛ ϓϩϏδϣϯ͍ͯ͠Δঢ়ଶ ʹ
ࢲͷͨΊͷΞοϓσʔτ ͡Όͳ͔͔ͬͨ
‣ ىಈ࣌ʹඞཁͳΩϟύγςΟΛ༧ଌͰ͖Ε࣮ݱ͢Δ ૹ৴σʔλαΠζʹΑͬͯϩάͷαΠζ͕େ͖͘มಈ ૹ৴σʔλαΠζΛ༧ଌ͢Δͷࠔ %ZOBNP%#0O%FNBOE͔Βͷ٫
ը໘ͰݟΔͱʜʢ࠶ܝʣ <065165>NPDLͷՔಇঢ়ଶΛදࣔ <065165>อଘͨ͠ϩάΛදࣔάϥϑදࣔ
ը໘ͰݟΔͱʜʢ࠶ܝʣ <065165>NPDLͷՔಇঢ়ଶΛදࣔ <065165>อଘͨ͠ϩάΛදࣔάϥϑදࣔ ૹ৴σʔλͷใΛ ͍ͬͯΔͷ͚ͩ͜͜ ผͷػߏͰอଘͯ͠ΈΑ͏
‣ ෳͷαʔόʔ͔ΒϚϯτͰ͖Δڞ༗ετϨʔδ ωοτϫʔΫϑΝΠϧγεςϜͱͯ͠Ϛϯτ ‣ ༰ྔ͕ࣗಈͰεέʔϧ͢Δ ‣ εϧʔϓοτ੍͕ޚՄೳ όʔετεϧʔϓοτϑΝΠϧγεςϜͷαΠζʹ߹Θͤͯεέʔϧ
ϓϩϏδϣϯυεϧʔϓοτεϧʔϓοτΛઃఆ ‣ ෳͷ";͔ΒΞΫηεՄೳ "NB[PO&MBTUJD'JMF4ZTUFN &'4
PrivateSubnet Worker Worker PrivateSubnet Mock Mock Mock Mock Mock
Mock DynamoDB (Provisioned) Lambda SNS SQS DynamoDBʹ mockঢ়ଶߋ৽༻ͷϩά EFSʹશͳϩάΛ ॻ͖ࠐΉ ΩϟύγςΟ mockىಈ࣌ʹௐ EFS
‣ ΩϟύγςΟ૿͢ํʹճ੍ݶ͕ແ͍͚ͲɺݮΒ͢ํ ʹճ੍ݶ͕͋Δ NPDLͷՔಇ୯Ґ͝ͱʹඞཁͳ8$6Λࢉग़ͯ͠Ճ DSPOͰ࣌ؒຖʹՔಇ୯Ґͷ8$6ͷ߹ܭΛग़ͯ͠ద༻ %ZOBNP%#ͷ8$6ߋ৽
ୈੈ݁Ռ (PPE #BE ‣ %ZOBNP%#ͷඅ༻͕࠷దԽ͞Εͨ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫ ଳҬ͕ͬͱେ͖͘ͳͬͨ ‣
Ұఆ࣌ؒܦաޙʹ&'4͔ΒσʔλΛ আ͢Δͷ͕खؒ ‣ &'4*0Λ૿ͦ͏ͱ͢ΔͱͦΕͳ Γʹඅ༻͕ʜ
ୈੈ݁Ռ (PPE #BE ‣ %ZOBNP%#ͷඅ༻͕࠷దԽ͞Εͨ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫ ଳҬ͕ͬͱେ͖͘ͳͬͨ ‣
Ұఆ࣌ؒܦաޙʹ&'4͔ΒσʔλΛ আ͢Δͷ͕खؒ ‣ &'4*0Λ૿ͦ͏ͱ͢ΔͱͦΕͳ Γʹඅ༻͕ʜ :BSBLBTIJ ‣ ςετڥͰ8$6Βͣߴֹٻ
/PX-PBEJOH
ୈ̐ੈ
‣ NPDLαʔόʔʹԿ͔ΛΠϯετʔϧ͢ΔͷΛڐ༰͠Α͏ શମతʹ͜ͳΕ͖ͯͨͷͰɺࠓͳΒ͍͚Δؾ͕͢Δ ‣ ࠓͦ͜,JOFTJTͱ͖߹͓͏ γϟʔυ͕ෳʹͳΔͱͪΐͬͱେม͚ͩͲ ‣ ૣ͘&'4͔Β٫͍ͨ͠ؾ࣋ͪ
ωοτϫʔΫଳҬͷϘτϧωοΫʹͳΓ͕ͪ ͓ۚͰղܾͰ͖Δ͚Ͳ͓ۚେࣄ ϩάͷͨΊʹNPDL͔ΒϲॴʹσʔλΛૹ͍ͬͯΔͷ͔ͬ͜ѱ͍ ୈ̐ੈํ
‣ ,JOFTJT%BUB4USFBNTʹσʔλΛ͛ࠐΉϥΠϒϥϦ ‣ ͋ΔఔσʔλΛ·ͱΊͯૹͬͯ͘ΕΔ γϟʔυ͋ͨΓͷॻ͖ࠐΈ੍ݶΛΫϦΞ͘͢͠ͳΔ w .#ඵ w ϨίʔυඵίϨ
ωοτϫʔΫଳҬతʹ͞͠Ί -BNCEB࣮ߦճతʹ͞͠Ί ‣ ૹ৴͕ඇಉظʹͳΔ ‣ qVFOUEͱΈ߹Θͤͯ͏ͱΓ͍͢ BXTqVFOUQMVHJOLJOFTJT "NB[PO,JOFTJT1SPEVDFS-JCSBSZ ,1-
‣ ͦͷ໊ͷ௨ΓϩάΛཧͯ͘͠ΕΔͭ $MPVE8BUDI-PHT*OTJHIUTͰϩάσʔλΛੳ͢Δ͜ͱՄೳ อଘظؒઃఆͰ͖Δʂ ‣ ୈੈͷͱ͖ʹҰճݕ౼͚ͯͨ͠Ͳ ੍ݶ༰Λצҧ͍͍ͯͯ͠Ϙπʹʜʂ ‣
ϩάೖසͷ੍ݶ؇͕ඞཁ σϑΥϧτͰ݅ඵͷτϥϯβΫγϣϯ BQOPSUIFBTU "NB[PO$MPVE8BUDI-PHT
PrivateSubnet Worker Worker PrivateSubnet Mock Mock Mock Mock Mock
Mock Lambda SNS SQS Kinesis Data Streams KPLͰσʔλΛ ·ͱΊͯૹ৴ CloudWatch Logs ΞΧϯτ͝ͱʹLogGroup mock͝ͱʹLogStream
ୈੈ݁Ռ (PPE #BE ‣ &'4͔Βͷ٫ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫଳ Ҭ͕খ͘͞ͳͬͨ
ୈੈ݁Ռ (PPE #BE ‣ &'4͔Βͷ٫ ‣ ϩάॲཧػߏʹׂ͘ωοτϫʔΫଳ Ҭ͕খ͘͞ͳͬͨ *LLB
‣ ͍ͭʹNPDLαʔόʔʹΠϯετʔ ϧͨ͠ ‣ ,1-ͰϩάΛूͯ͠ૹΔͨΊɺ NPDLঢ়ଶͷୡϥά͕ŧŔŕŪũƄſ
/PX-PBEJOH
ୈੈʁ
ظͷ৽"NB[PO5JNFTUSFBN !SF*OWFOU
‣ ߴͰεέʔϥϒϧͳશϚωʔδυܕͷ࣌ܥྻσʔλϕʔε ॻ͖ࠐΈΫΤϦετϨʔδʹΑΔैྔ՝ۚ *0ͷੑೳ ੍ݶ ·ͩग़͍ͯͳ͍ʜ σʔλอଘظ͕ؒઃఆͰ͖ΔͷͰআॲཧඞཁͳ͍ʁ
ظͷ৽"NB[PO5JNFTUSFBN
SF*OWFOU ऴΘͬͨࠓʂ
/PX-PBEJOH
·ͱΊ
‣ େྔͷNPDL͔Βൃੜ͢ΔϩάΛॲཧ͢ΔػߏͷมભΛݟ͖ͯͨ ‣ ͳʹ͛ʹશ෦TFSWFSMFTT අ༻NPDLͷՔಇʹԠͯ͡εέʔϧ͢Δ ෦͕ଟ͍ ‣ ࣗͰ࡞Δͷ͕͍͠ػߏ͕ͨ͘͞Μ༻ҙ͞Ε͍ͯͯ
ؾܰʹࢼߦࡨޡ͕Ͱ͖ΔͷΫϥυͳΒͰ ύζϧͷΑ͏ʹ͍Ζ͍ΖΈ߹Θ͍ͤͯ͘ͷָ͍͠ʂ ‣ େنͳσʔλΛѻ͏ͱ͖ʹ࠷ޙʹϘτϧωοΫʹͳΔͷͬͺΓ*0 ·ͱΊ
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ NPDLNPDL͕ ؾʹͳΔํޙΖͷϒʔεʂ