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
590
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
600
モクえもんのお時間です
ktam1219
0
190
在宅ワーク中だけど会社にしかGPSマルチユニットがない?でも大丈夫!そう、mockmockがあればね。
ktam1219
0
410
実写版モクえもん in Explorer ~愛・おぼえていますか~
ktam1219
0
330
エンジニアのおしごと
ktam1219
0
150
mockmockの大量のログをいい感じに捌きたい
ktam1219
0
1.1k
Goで作る大量プロセス管理機構
ktam1219
2
3.6k
わりとゴツいKubernetesハンズオン そのあとに
ktam1219
0
640
明太子とEndorseと私
ktam1219
0
700
Other Decks in Technology
See All in Technology
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
12
3.9k
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
950
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
2
590
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
390
Rubyの国のPerlMonger
anatofuz
2
620
会社もクラウドも違うけど 通じたコスト削減テクニック/Cost optimization strategies effective regardless of company or cloud provider
aeonpeople
2
410
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
mutsumix
0
130
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
230
「AI駆動開発」のボトルネック『言語化』を効率化するには
taniiicom
1
230
AI駆動開発 with MixLeap Study【大阪支部 #3】
lycorptech_jp
PRO
0
290
帳票構造化タスクにおけるLLMファインチューニングの性能評価
yosukeyoshida
1
210
金融サービスにおける高速な価値提供とAIの役割 #BetAIDay
layerx
PRO
1
330
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
How GitHub (no longer) Works
holman
314
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
BBQ
matthewcrist
89
9.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
860
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Embracing the Ebb and Flow
colly
86
4.8k
Building Adaptive Systems
keathley
43
2.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Practical Orchestrator
shlominoach
190
11k
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͕ ؾʹͳΔํޙΖͷϒʔεʂ