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.6k
サーバーレス開発の勘所
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
880
CircleCI_のJobを_並列で実行してみる
sinofseven_
1
1.4k
サーバーレスの概要と応用 - プログラミング生放送勉強会 第55回@福岡
sinofseven_
0
1.5k
Other Decks in Technology
See All in Technology
What's new in OpenShift 4.20
redhatlivestreaming
0
340
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
520
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
4
2.8k
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
5.2k
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
320
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
880
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
1
500
CLIPでマルチモーダル画像検索 →とても良い
wm3
0
500
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
170
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
110
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
100
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
310
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Building an army of robots
kneath
305
46k
Navigating Team Friction
lara
190
15k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
650
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
930
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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
αʔόʔϨε։ൃͷҰॿʹͳΕ͍Ͱ͢