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
サーバーレス開発の勘所
Search
sinofseven
October 26, 2019
Technology
0
1.5k
サーバーレス開発の勘所
Developers.IO 2019 Fukuoka
2019/10/26
sinofseven
October 26, 2019
Tweet
Share
More Decks by sinofseven
See All by sinofseven
コンピュートリソースと トリガーから考える サーバーレスアーキテクチャ in DevelopersIO 2023 福岡
sinofseven_
0
850
CircleCI_のJobを_並列で実行してみる
sinofseven_
1
1.4k
サーバーレスの概要と応用 - プログラミング生放送勉強会 第55回@福岡
sinofseven_
0
1.5k
Other Decks in Technology
See All in Technology
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
970
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
320
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
260
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
610
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
240
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
9
1.2k
フィンテック養成勉強会#54
finengine
0
180
解析の定理証明実践@Lean 4
dec9ue
0
180
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
410
rubygem開発で鍛える設計力
joker1007
2
220
Leveraging Open-Source Tools for Creating 3D Tiles in the Urban Environment
simboss
PRO
0
120
【PHPカンファレンス 2025】PHPを愛するひとに伝えたい PHPとキャリアの話
tenshoku_draft
0
120
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
230
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
For a Future-Friendly Web
brad_frost
179
9.8k
Transcript
αʔόʔϨε։ൃͷצॴ $9ࣄۀຊ෦ Ն༞थ
εϥΠυޙͰೖख͢Δ͜ͱ͕ग़དྷ·͢ͷͰ ൃදதͷ༰ΛϝϞ͢Δඞཁ͋Γ·ͤΜɻ ࣸਅࡱӨΛ͢Δ߹ ϑϥογϡɾγϟολʔԻ͕ग़ͳ͍Α͏ʹྀ͍ͩ͘͝͞ Attention
ࣗݾհ Ն༞थ φπϝϢλ w $9ࣄۀຊ෦ w ݩαʔόʔϨε։ൃ෦ w
ԬΦϑΟε w ͖ͳαʔϏε-BNCEB 4
͢͜ͱ͞ͳ͍͜ͱ w ͢͜ͱ w αʔόʔϨεΞϓϦέʔγϣϯͷ։ൃӡ༻Λ ࣮ͬͯࡍʹಘΒΕͨݟ w "84ͷαʔϏεΛ͏։ൃͷݟ w
͞ͳ͍͜ͱ w αʔόʔϨεΞϓϦέʔγϣϯͱԿͧ
։ൃڥ
։ൃڥ 1. GitHubͱCircleCI
(JU)VCͱ$JSDMF$* w (JU)VC w ։ൃͰσϑΝΫτʹ͍ۙ w ͍͍͢ݟଟ͍ w 1VMM3FRVFTU
w (JUͷجૅࣝ͑͋͞Ε͑Δ
(JU)VCͱ$JSDMF$* w $JSDMF$* w (JU)VCΞΧϯτ͕͋Ε͑Δ w +PCͷϫʔΫϑϩʔΛΈ͍͢ w ฒྻ࣮ߦͰ͖Δ
։ൃڥ 2. ҰͭͷAWSΞΧϯτʹ ෳͷڥΛԡ͠ࠐ·ͳ͍
Ұͭͷ"84ΞΧϯτʹෳͷڥΛԡ͠ࠐ·ͳ͍ w Ұͭͷ"84ΞΧϯτʹ։ൃຊ൪ͳͲ ෳͷڥ͕͋Δͱେม w -BNCEB໊ؔͱ͔3FHJPOͰҰҙʹ͠ͳ͍ͱ͍͚ͳ͍ w ։ൃڥ৮ͬͯΔͭΓͰɺຊ൪ڥ৮ͬͪΌ͏
։ൃڥ 3. CI/CDͰ༻͢Δ ϞδϡʔϧΩϟογϡͤ͞Δ
$*$%Ͱ༻͢ΔϞδϡʔϧΩϟογϡͤ͞Δ w "84$-*ͱ͔QZUFTUͱ͔$*$%Ͱ༻͢Δ Ϟδϡʔϧ͍ͬͺ͍͋Δ w $JSDMF$*ͷΩϟογϡػೳΛ༻ͯ͠ ͍·Θ͠Ͱ͖ΔΑ͏ʹͨ͠ํ͕͍͍ w IUUQTDJSDMFDJDPNEPDTKBDPOpHVSBUJPO
SFGFSFODFTBWF@DBDIF w IUUQTDJSDMFDJDPNEPDTKBDPOpHVSBUJPO SFGFSFODFSFTUPSF@DBDIF
$*$%Ͱ༻͢ΔϞδϡʔϧΩϟογϡͤ͞Δ w ΩϟογϡΛ༻͢Δࡍͷҙ w Ωϟογϡ࠷େอଘ͞Ε·͢ w ࠷େͳͷͰͦΕΑΓૣ͘ͳ͘ͳΔ͜ͱ͋Γ·͢ w ΩϟογϡͷSFTUPSFʹࣦഊͯ͠+PCଓߦ͢Δ
w SFTUPSFͨ͠ΒͪΌΜͱޭ͔ͨ֬͠ೝͯ͠ɺ ࣦഊͯͨ͠Β࠶Πϯετʔϧ͢Δखॱ͕ඞཁʹͳΓ·͢
։ൃڥ 4. Jobͷ࣮ߦ࣌ʹ ෳͷίϯςφΛ༻͢Δ
+PCͷ࣮ߦ࣌ʹෳͷίϯςφΛ༻͢Δ w $JSDMF$*+PCͷ࣮ߦ࣌ʹ ෳͷ%PDLFSίϯςφΛ༻͢Δ͜ͱ͕Ͱ͖Δ w +PCΛ࣮ߦ͢Δίϯςφͱ -PDBM4UBDLΛ࣮ߦ͢Δίϯςφͷ̎ͭΛ༻ͯ͠ ୯ମςετͨ͠ΓͰ͖Δ
։ൃڥ 5. JobΛฒྻͰ࣮ߦ͢Δ
+PCΛฒྻͰ࣮ߦ͢Δ w $JSDMF$*Ͱ+PCఆٛͰࢦఆ͢Ε ͦͷ+PCΛฒྻ࣮ߦͰ͖Δ w 1VCMJDϦϙδτϦͰ͋Εແ՝ۚͰ࠷େฒྻ w 1SJWBUFϦϙδτϦ՝ۚ͢ΕͰ͖ΔΑ͏ʹͳΔ w
IUUQTDJSDMFDJDPNEPDTKBQBSBMMFMJTNGBTUFSKPCT
+PCΛฒྻͰ࣮ߦ͢Δ w ͨͩ͠ɺԿ͠ͳ͚Εಉ͡ॲཧΛ ฒྻͰ͍ͬͯΔ͚ͩ w ॲཧΛ͚ΔΑ͏ʹॻ͘ඞཁ͕͋Δ w ڥมl$*3$-&@/0%&@*/%&9zͰॲཧΛΘ͚Δ w
$JSDMF$*ͷ$-*ίϚϯυͰॲཧରͷϑΝΠϧͳͲΛΘ͚Δ
+PCΛฒྻͰ࣮ߦ͢Δ
+PCΛฒྻͰ࣮ߦ͢Δ w ςετͰฒྻԽͨ͘͠ͳΔ w ୯ମςετฒྻԽ҆৺ͯ͠Ͱ͖Δ w ෳίϯςφͬͯͯͦΕ͝ͱฒྻԽͯ͘͠ΕΔ͔Β ׯব͢Δ͜ͱͳ͘ฒྻ࣮ߦͰ͖Δ w
&&ςετΑ͘ߟ͑ͯฒྻԽ͠ͳ͍ͱ͍͚ͳ͍ w ฒྻԽͯ͠όοΫΤϯυͯ͢ಉ͡ͱ͜Ζ͔ͩΒ ͱ͖Ͳ͖ׯবͨ͠Γ͢Δ
Lambdaͷ։ൃ/ӡ༻
-BNCEBͷ։ൃӡ༻ 6. τϦΨʔछผʹؾΛ͚ͭΔ
τϦΨʔछผʹؾΛ͚ͭΔ w τϦΨʔͷछผͬ͘͟Γ͚Δͱͭ w ಉظ࣮ߦ w "1*(BUFXBZ $PHOJUP6TFS1PPMT w
ඇಉظ࣮ߦ w 4 4/4 $MPVE8BUDI&WFOU "84*P5 w ΠϕϯτιʔεϚοϐϯά ετϦʔϜ w %ZOBNP%#4USFBN ,JOFTJT%BUB4USFBN 424
τϦΨʔछผʹؾΛ͚ͭΔ w τϦΨʔͷछผʹΑͬͯϦτϥΠͷಈ࡞͕มΘΔ w ಉظ࣮ߦ w ϦτϥΠ͠ͳ͍ w ඇಉظ࣮ߦ
w ࠷େճϦτϥΠ w ΠϕϯτιʔεϚοϐϯά ετϦʔϜ w ετϦʔϜͷ*UFN͕ظݶΕʹͳΔ·ͰԿ࣮ߦ w Ωϡʔॲཧʹޭ͠ͳ͍ͱɺ*UFNΩϡʔʹΔ w ׂͱॏཁͳͷͰɺυΩϡϝϯτΛ֬ೝ͍ͯͩ͘͠͞ w IUUQTEPDTBXTBNB[PODPNKB@KQMBNCEBMBUFTUEHMBNCEBNPOJUPSJOHIUNM
-BNCEBͷ։ൃӡ༻ 7. LogGroupʹ FilterΛઃఆͯ͠ศརʹ͏
-PH(SPVQʹ'JMUFSΛઃఆͯ͠ศརʹ͏ w -BNCEBͷ࣮ߦϩά $MPVE8BUDI-PHTͷ-PH(SPVQʹు͔ΕΔ w -PH(SPVQʹ'JMUFSΛઃఆ͢Δͱศརʹ͑Δ w ݅Λຬͨ͢ϩά͕ు͔ΕΔͱԿ͔ͯ͘͠ΕΔ w
छྨ͋Δ w .FUSJDT'JMUFSΧελϜϝτϦΫεʹΛ͛Δ w 4VCTDSJQUJPO'JMUFS w -BNCEB ,JOFTJT%BUB4USFBN'JSFIPTFʹϩάΛ͛Δ
-BNCEBͷ։ൃӡ༻ 8. LambdaͱҰॹʹ LogGroup࡞͢Δ
-BNCEBͱҰॹʹ-PH(SPVQ࡞͢Δ w -BNCEB-PH(SPVQ͕ͳ͚Εɺ ࣮ߦ࣌ʹࣗಈతʹ࡞͢Δ w ໌ࣔతʹ࡞͠ͳ͍ͱɺ-BNCEB͕࣮ߦ͞ΕΔ·Ͱ -PH(SPVQ࡞͞Εͳ͍ͷͰ'JMUFSΛઃఆͰ͖ͳ͍ w -BNCEBͷࢹʹ͔ܽͤͳ͍ͷͰ
-PH(SPVQҰॹʹ࡞͢Δ
-BNCEBͷ։ൃӡ༻ 9. ඇಉظ࣮ߦͷLambdaͷ Τϥʔ௨DLQΛ༻͢Δ
ඇಉظ࣮ߦͷ-BNCEBͷΤϥʔ௨%-2Λ༻͢Δ w ඇಉظ࣮ߦͷ-BNCEBࣦഊ͢Δͱ ϦτϥΠΛؚΊͯճ࣮ߦ͞ΕΔ w ࠷ॳࣦഊ͚ͨ͠ͲɺϦτϥΠͰޭ͢Δ w Α͋͘Δ w
ΤϥʔϩάͰ௨͢ΔͱແବʹΤϥʔ͕དྷΔ
ඇಉظ࣮ߦͷ-BNCEBͷΤϥʔ௨%-2Λ༻͢Δ w %-2 %FBE-FUUFS2VFVF Λ༻ͯ͠ ϦτϥΠؚΊࣦͯഊͨ͠ͱ͖ͷΈ௨͢Δ w ඇಉظ࣮ߦͷ-BNCEB͕ճࣦഊ͢Δͱ %-2ʹσʔλ͕͛ΒΕΔ
w %-24/4ͱ424ͷͲͪΒ͔ΛઃఆͰ͖Δ
ඇಉظ࣮ߦͷ-BNCEBͷΤϥʔ௨%-2Λ༻͢Δ w %-2ʹ͛ΒΕΔσʔλʹɺ Ͳͷ-BNCEB͕͔͛ͨΛࣝผ͢Δใͳ͍ w ΤϥʔϝοηʔδϦΫΤετ*%͋Δ w Ͳͷ-BNCEB͔Λࣝผ͢Δใ͚ͩͳ͍ w
-BNCEB͝ͱʹ4/45PQJDΛ࡞͠ɺ Ͳͷ4/45PQJD͔Β͛ΒΕ͔ͨͰ۠ผ͍ͯ͠Δ
-BNCEBͷ։ൃӡ༻ 10. LambdaͷࣦഊΤϥʔ͚ͩ͡Όͳ͍
-BNCEBͷࣦഊΤϥʔ͚ͩ͡Όͳ͍ w ΤϥʔҎ֎Ͱ-BNCEBࣦഊ͢Δ w λΠϜΞτ w ྃ͢Δ·Ͱʹϓϩηε͕མͪΔ w ϝϞϦաͱ͔
w -PH(SPVQʹు͔ΕΔ͔Β௨Ͱ͖Δ w λΠϜΞτ w 5;CDGEBEFECBECD5BTLUJNFEPVUBGUFSTFDPOET w ϓϩηεམͪ w 3FRVFTU*ECCGDBFCEE1SPDFTTFYJUFECFGPSFDPNQMFUJOHSFRVFTU
-BNCEBͷ։ൃӡ༻ 11. ݶք·Ͱ୯ମςετΛߦ͏
ݶք·Ͱ୯ମςετΛߦ͏ w ୯ମςετ͕͍͠ "84Λ৮ΔςετՄೳͳݶΓΔ w -PDBM4UBDL w "84ͷϦιʔεΛϩʔΧϧͰΤϛϡϨʔτ͢ΔϞοΫ w
%PDLFS্Ͱಈ͘ͷͰɺͲͷݴޠͰςετʹ͑Δ w TQVMFDNPUP w 1ZUIPO༻ͷ؆୯ʹ͑ΔNPDL
ݶք·Ͱ୯ମςετΛߦ͏ IUUQTTQFBLFSEFDLDPNNBSDZUFSVJTFSWFSMFTTBSDIJUFDUJOHBOEOPTRMEBUBNPEFMJOHGPSTVDDFTTGVMNJDSPTFSWJDFT TMJEF
-BNCEBͷ։ൃӡ༻ 12. ڥมΛ͏
ڥมΛ͏ w -BNCEB࡞࣌ʹڥมΛఆٛͰ͖Δ w ,.4Λ༻ͯ͠҉߸ԽͰ͖Δ w ༻͢Δ%ZOBNP%#5BCMFͷ໊લͱ͔ɺ "84Ϧιʔεͷ*%ͱ͔Λ͢ͱศར w
ࣗಈੜ͞ΕΔ*%ͳͲɺ 4".ςϯϓϨʔτͰڥมʹͯ͠Β͏Α͏ʹ͢Δ
AWS Systems Manager Parameter Store (SSM Parameter)
"844ZTUFNT.BOBHFS1BSBNFUFS4UPSF 13. API KeyͳͲΛ҉߸Խͯ͠อଘ͢Δ
"1*,FZͳͲΛ҉߸Խͯ͠อଘ͢Δ w 44.1BSBNFUFSͰΛ,.4Ͱ҉߸Խͯ͠ อଘ͢Δ4FDVSF4USJOHͱ͍͏5ZQF͕͋Δ w Λऔಘ͢Δͱ͖ʹ෮߸Խͯ͠औಘ͢Δ͜ͱ Ͱ͖ΔͨΊɺ؆୯ʹ͏͜ͱ͕Ͱ͖Δ w ,.4Λ-BNCEBͷதͰ͏͜ͱͰ͖Δ͚Ͳɺ
CZUFTʹͨ͠Γͱ͔৭ʑखॱΛ౿Ήඞཁ͕͋Δ
CloudFormation
$MPVE'PSNBUJPO 14. Ϧιʔεߋ৽ͷڍಈʹҙ͠Α͏
Ϧιʔεߋ৽ͷڍಈʹҙ͠Α͏ w Ұ$'OͰσϓϩΠ͞ΕͨϦιʔεͷ ߋ৽࣌ͷڍಈʹ͍͔ͭ͘छྨ͕͋Δ w தஅΛΘͳ͍ߋ৽ w Ϧιʔεͷ༻Λଓ͚ͨ··ߋ৽Ͱ͖Δ w
Ұ࣌తͳதஅΛ͏ߋ৽ w ߋ৽࣌ʹҰ࣌తʹϦιʔεࢭ·ͬͯ͠·͏ w ஔ w ߋ৽͢ΔͱશͳผϦιʔεʹͳͬͯ͠·͏ w தʹσʔλ͕͋ͬͨͱͯͯ͢͠ফ͑Δ
$MPVE'PSNBUJPO 15. Ϧιʔεͷ্ݶʹؾΛ͚ͭΔ
Ϧιʔεͷ্ݶʹؾΛ͚ͭΔ w ͭͷελοΫͰ࡞Ͱ͖ΔϦιʔεݸ·Ͱ w 4".ΛͬͯͨΓ͢Δͱ উखʹ࡞͞ΕΔϦιʔε͕ଟ͍ͷͰҙ͕ඞཁ w ରࡦ w
ҰͭͷελοΫͰଟ͘ͷϦιʔεΛ࡞Βͳ͍Α͏ʹ͢Δ w Ұ෦Ϧιʔε/FTUFE4UBDLΛͬͯཧ͢ΔΑ͏ʹ͢Δ
$MPVE'PSNBUJPO 16. Λͨ͢ΊͷػߏΛ͍͜ͳ͢
Λͨ͢ΊͷػߏΛ͍͜ͳ͢ w ελοΫʹରͯ͠ ֎͔ΒΛͨ͢Ίͷػߏ͕͍͔ͭ͋͘Δ w 1BSBNFUFSTηΫγϣϯ w ΫϩεελοΫࢀর *NQPSU&YQPSU
w %ZOBNJD3FGFSFODFT
Λͨ͢ΊͷػߏΛ͍͜ͳ͢ w 1BSBNFUFSTηΫγϣϯ w ςϯϓϨʔτͷதͰύϥϝʔλΛఆٛͯ͠ɺ ελοΫͷσϓϩΠ࣌ʹඞͣ͢Α͏ʹͤ͞Δ w 44.1BSBNFUFSΛࢀর͢ΔΑ͏ʹ͢Δ͜ͱͰ͖Δ w
,.4Ͱ҉߸Խ͞Εͨ͑ͳ͍
Λͨ͢ΊͷػߏΛ͍͜ͳ͢ w ΫϩεελοΫࢀর *NQPSU&YQPSU w ผͷελοΫͰఆٛͨ͠Λ༻͢Δ͜ͱ͕Ͱ͖ΔΈ w ςϯϓϨʔτͷ0VUQVUTηΫγϣϯͰ
&YQPSU༻ͷ/BNFΛઃఆ͢Δ͜ͱͰ༻ՄೳʹͳΔ
Λͨ͢ΊͷػߏΛ͍͜ͳ͢ w %ZOBNJD3FGFSFODFT w 44.1BSBNFUFS4FDSFUT.BOBHFSʹอଘ͞ΕͨΛ ςϯϓϨʔτͰ༻͢Δ͜ͱ͕Ͱ͖ΔΈ w ͜͜Ͱ,.4Ͱ҉߸Խ͞ΕͨΛ༻͢Δ͜ͱ͕Ͱ͖Δ w
,.4Ͱ҉߸Խ͞ΕͨΛ0VUQVUTηΫγϣϯͳͲʹ هࡌ͢Δ͜ͱͰ͖ͳ͍
API Gateway
"1*(BUFXBZ
"1*(BUFXBZ 17. λΠϜΞτ29ඵ
λΠϜΞτඵ w "1*(BUFXBZͰඵΑΓ͍ॲཧͰ͖ͳ͍ w λΠϜΞτʹͳͬͯ͠·͏ w ඵΑΓ͍࣌ؒʹઃఆ͢Δ͜ͱͰ͖Δ
"1*(BUFXBZ 18. API͔Β AWSαʔϏεΛ৮Δ͜ͱ͕Ͱ͖Δ
"1*͔Β"84αʔϏεΛ৮Δ͜ͱ͕Ͱ͖Δ w "1*(BUFXBZͰ4FSWJDF1SPYZͱ͍͏ΈͰ "84ͷαʔϏεΛσʔλΛ͢͜ͱ͕Ͱ͖Δ w 1045͞Εͨ༰Λͦͷ··ɺ4/4424ʹ͢ w 4ͷσʔλΛ"1*(BUFXBZΛհͯ͢͠
"1*(BUFXBZ 19. ΧελϜυϝΠϯΛ༻ͯ͠ ෳͷAPIΛҰͭͷAPIʹ·ͱΊΔ
ΧελϜυϝΠϯΛ༻ͯ͠ෳͷ"1*ΛҰͭͷ"1*ʹ·ͱΊΔ w "1*(BUFXBZͰΧελϜυϝΠϯͰ ॴ༗͍ͯ͠ΔυϝΠϯΛ༻Ͱ͖Δ w ΧελϜυϝΠϯͰϕʔεύεϚοϐϯάͱ͍͏ํ๏Ͱ ෳͷ"1*ΛҰͭͷ"1*ͷΑ͏ʹݟͤΔ͜ͱ͕Ͱ͖Δ w Γସ͑؆୯͔ͭਝʹՄೳͳͷͰ
#MVF(SFFO%FQMPZNFOUʹ͑Δ
ΧελϜυϝΠϯΛ༻ͯ͠ෳͷ"1*ΛҰͭͷ"1*ʹ·ͱΊΔ
DynamoDB
%ZOBNP%#
%ZOBNP%# 20. ॻ͖ࠐΈখ͘͞ɺಡΈࠐΈେ͖͘
ॻ͖ࠐΈখ͘͞ɺಡΈࠐΈେ͖͘ w %ZOBNP%#ͷྉۚ ಡΈࠐΈͷํ͕ॻ͖ࠐΈΑΓഒ͍҆ w ಡΈࠐΈ୯Ґॻ͖ࠐΈ୯ҐΑΓഒ͍҆ w ಡΈࠐΈ,#ͷಡΈࠐΈͰ୯Ґ w
ॻ͖ࠐΈ,#ͷॻ͖ࠐΈͰ୯Ґ
ॻ͖ࠐΈখ͘͞ɺಡΈࠐΈେ͖͘ w ॻ͖ࠐΈͷ୯ҐΛ͑Δͱ͖ɺ มߋ༰ͷαΠζͰͳ͘*UFNͷαΠζͰ͑Δ w ,#ͷ*UFNΛ,#ॻ͖͑ͨͱͯ͠ɺ ॻ͖ࠐΈͷ୯ҐʹͳΔ w *UFNͷαΠζΛখͭͭ͘͞͠ɺ
ಡΈࠐΈ࣌ʹ·ͱΊͯऔಘ͢Δͷ͕ޮత
%ZOBNP%# 21. ΦϯσϚϯυΩϟύγςΟͷํ͕ ͍҆߹͕͋Δ
ΦϯσϚϯυΩϟύγςΟͷํ͕͍҆߹͋Δ w %ZOBNP%#ͷྉۚେ͖͚͘Δͱछྨ͋Δ w ϦβʔϒυΩϟύγςΟ w ༧ΊಡΈॻ͖͢ΔͨΊͷΩϟύγςΟΛ֬อ͢Δ w ֬อͨ͠Ҏ্ͷੑೳͰͳ͍
"VUP4DBMJOHՄೳ w ΦϯσϚϯυΩϟύγςΟ w ΩϟύγςΟͷ֬อΛͤͣɺ༻ͨ͠՝ۚ͞ΕΔ w ༻͢Ε੨ఱҪͰ՝ֹ͕ۚ૿͑Δ
ΦϯσϚϯυΩϟύγςΟͷํ͕͍҆߹͋Δ w ϦβʔϒυͱΦϯσϚϯυΛൺֱͯ͠ΈΔ w ಡΈࠐΈͰൺֱ w Ϧβʔϒυ w 3$6YIPVS
w YY3$6YNPOUI3$6YNPOUI w ΦϯσϚϯυສ୯ҐϦΫΤετ w ୯७ͳྉۚൺֱͰΦϯσϚϯυׂ͕ߴ
ΦϯσϚϯυΩϟύγςΟͷํ͕͍҆߹͋Δ
Step Functions
4UFQ'VODUJPOT
4UFQ'VODUJPOT 22. Lambdaͷىಈʹࣦഊ͢Δ͜ͱ͕͋Δ
-BNCEBͷىಈʹࣦഊ͢Δ͜ͱ͕͋Δ w 4UFQ'VODUJPOTͰ-BNCEBΛ࣮ߦ͢Δͱ͖ɺ كʹ࣮ߦͦͷͷʹࣦഊ͢Δ͜ͱ͕͋Δ w -BNCEB͕ΤϥʔͰࣦഊͨ͠ͷͰͳ͘ɺ -BNCEBͷॲཧΛΒͤΒΕͳ͔ͬͨ w -BNCEBͷΤϥʔ௨Ͱर͏͜ͱ͕Ͱ͖ͳ͍
w $MPVE8BUDI.FUSJDTΛͬͯ 4UFQ'VODUJPOTͷࣦഊΛݕ͢Δඞཁ͕͋Δ
·ͱΊ
·ͱΊ w Ҏ্αʔόʔϨεΞϓϦέʔγϣϯΛ։ൃ͢Δ্Ͱ ͕ࣗײͨ͡5JQTͰͨ͠ w ͋Δఔ૾Ͱ͖ͯͨͷ͔Βɺ Βͳ͔ͬͨ͜ͱ·Ͱ͋ͬͯɺ ࣮ࡍʹ৮Βͳ͍ͱΘ͔Βͳ͍ͳ͊ͱࢥ͍·ͨ͠ w
αʔόʔϨε։ൃͷҰॿʹͳΕ͍Ͱ͢