Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サーバーレス開発の勘所
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sinofseven
October 26, 2019
Technology
1.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバーレス開発の勘所
Developers.IO 2019 Fukuoka
2019/10/26
sinofseven
October 26, 2019
More Decks by sinofseven
See All by sinofseven
コンピュートリソースと トリガーから考える サーバーレスアーキテクチャ in DevelopersIO 2023 福岡
sinofseven_
0
1.2k
CircleCI_のJobを_並列で実行してみる
sinofseven_
1
1.6k
サーバーレスの概要と応用 - プログラミング生放送勉強会 第55回@福岡
sinofseven_
0
1.6k
Other Decks in Technology
See All in Technology
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
350
シンプルな設定ファイルで実現する AWS IAM Identity Center の ユーザー管理Terraformフレームワークを公開しました / Simplifying AWS IAM Identity Center User Management: An Open-Source Terraform Framework
yamaguchitk333
0
130
AI駆動開発におけるハーネスエンジニアリングの勘所
tsukuboshi
1
490
局所最適は悪ではない。壊れているのは指標です。量と質を同時に見る先行指標の設計
recruitengineers
PRO
2
290
~最速でビジネスインパクトを創出する~ Sansanのデータ基盤と活用事例
sansantech
PRO
0
110
React改造してみた
tsukina_7mochi
0
150
Steerable Visual Representations
sansantech
PRO
0
150
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
170
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
3
1k
野良MCPサーバーを排除せよ!MCPサーバーのガバナンス
yukiogawa
1
150
macOS Golden Gate 時代のMac管理
tategami
0
120
AI駆動開発における開発環境のセキュリティの考え方
yamahiro
1
350
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
640
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
We Have a Design System, Now What?
morganepeng
55
8.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
720
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
The Curse of the Amulet
leimatthew05
3
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
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
αʔόʔϨε։ൃͷҰॿʹͳΕ͍Ͱ͢