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
AWS-ハンズオンのススメ/サーバーレスアプリケーションの構築をやってみた
Search
yuuki sato
September 23, 2022
Programming
0
100
AWS-ハンズオンのススメ/サーバーレスアプリケーションの構築をやってみた
2022/09/22 JAWS-UG TOHOKU
yuuki sato
September 23, 2022
Tweet
Share
More Decks by yuuki sato
See All by yuuki sato
JAWS-UG TOHOKU 2022年 活動のふりかえり/jaws-ug_tohoku_review-of-activities_2022
kaba0120
0
90
はじめてのAWS Step Functions -Cloudfrontのキャッシュ誤りを検知するためのシステムを構築してみた-/lets-try-aws-step-functions
kaba0120
0
180
jaws-ug-tohoku-ec2imagebuilder
kaba0120
0
26
Lightsail_yukisat
kaba0120
0
35
jaws_ug_tohoku_jawsdays2021_recap_yukisat
kaba0120
0
35
Terraform-Lightsail
kaba0120
0
60
Other Decks in Programming
See All in Programming
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
130
見た目から始める生産性向上
ikumatadokoro
10
1.5k
GitHub Copilotのススメ
marcy731
1
230
PostmanでAPIの動作確認が楽になった話
h455h1
0
180
The Cutting Edge Of Versioning (LambdaConf 2024)
chriskrycho
0
170
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
130
禅の心を手に入れよ
eltociear
1
410
AppRouter Panel Talk
yosuke_furukawa
PRO
1
480
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
470
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
460
Three ways to use AI on Android: The Good, the Bad and the Ugly
marxallski
0
110
JavaScript Closure
asoluka
0
310
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
Stop Working from a Prison Cell
hatefulcrawdad
267
19k
Optimizing for Happiness
mojombo
370
69k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
GraphQLとの向き合い方2022年版
quramy
33
12k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
Agile that works and the tools we love
rasmusluckow
325
20k
Debugging Ruby Performance
tmm1
70
11k
Embracing the Ebb and Flow
colly
80
4.2k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
Transcript
ࠤ౻༏थ "84ϋϯζΦϯͷεεϝ ΠϯϑϥΤϯδχΞ͕αʔόϨεΣϒΞϓϦέʔγϣϯߏஙͷϋϯζΦϯΛͬͯΈͨ +"846(50)0,6౦Ͱಇ͘ΤϯδχΞͰ"84ΛޠΔձ<ॳ৺ऀେܴ>
w ໊લࠤ౻༏थ!ZVLJTBUV ࣾͰʮ͔ͪΌΜʯͱݺΕͯ·͢ɻ w גࣜձࣾΤεπʔ ΠϯϑϥΤϯδχΞ ओͳۀΦϯϓϨϛε͔Β"84ڥҠߦӡ༻อकΛߦͬͯ·͢ɻ w "84ྺ΄ͲͰ͢ɻ w
झຯΩϟϯϓ🏕 ਧ্Ωϟϯϓ ໐ࢠ ਆׂ࡚Ωϟϯϓ ೆࡾ ΔΆΆ ࡚ ΤίΩϟϯϓΈͪͷ͘ ࡚ ਫͷެԂΩϟϯϓ ઘ۠ ࣮Ոͷఉ ཧ ࣗݾհ
w ࠓճͷςʔϚʹ͍ͭͯ w ͞·͟·ͳ"84ϋϯζΦϯͷ͝հ w αʔόϨεΣϒΞϓϦέʔγϣϯͷϋϯζΦϯΛͬͯΈͨ w ·ͱΊ ΞδΣϯμ
w ۀҎ֎ͷ"84αʔϏεʹ৮Ε͍ͯͨ͘ΊʹͲ͏͢Ε͍͍͔ߟ͍͑ͯ·ͨ͠ɻ w ࢿ֨ษڧΛ͍ͯ͠Δͱ৮Εͨ͜ͱͷͳ͍αʔϏε͕ग़͖ͯͯΠϝʔδ͕༙͔ͳ͍͜ͱɻ w ΠϯϑϥۀͰ։ൃऀଆΛཧղ͠ͳ͍ͱઃܭ͕͍͠໘૿͖͑ͯͨɻ w "84ઃܭͷษڧΛͭͭ͠ίʔυֶͿͷ͕࣌ؒ݁ߏ͔͔ͬͯ͠·͏ɻ ຊίʔυཧղֶͯ͠ΜͰ͍͘ͷ͕ϕετͩͱࢥͬͯ·͢
ࠓճͷςʔϚʹ͍ͭͯ
w "84ϋϯζΦϯࢿྉ "84)BOETPOGPS#FHJOOFST w ΞϚκϯΣϒαʔϏε "84 ͷ࣮ફతνϡʔτϦΞϧ w CVJMEFST
fl BTI ͞·͟·ͳ"84ϋϯζΦϯͷ͝հ
w "84ॳ৺ऀ͚ͷϋϯζΦϯ͕·ͱ·͍ͬͯ·͢ɻ w "84ΞΧϯτͷ࡞ํ๏ΞΧϯτ࡞ޙ͙͢ΔηΩϡϦςΟରࡦ w ςΩετ͚ͩͰΠϝʔδ͠ʹ͍͘ωοτϫʔΫपΓΦεεϝͰ͢ɻ "84ϋϯζΦϯࢿྉ "84)BOETPOGPS#FHJOOFST ಈըΛݟͳ͕ΒਐΊΒΕΔͷͰΘ͔Γ͍͢✨ Ҿ༻ݩ:
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/
w ΑΓ࣮ફతͳϋϯζΦϯ͕·ͱ·͓ͬͯΓ·͢ɻ w σʔλϕʔεܥػցֶशͷϋϯζΦϯ๛ w ۀͰ৮ΕΔ͜ͱͷͳ͍αʔϏεΛ৮Ε͍ͨํʹΦεεϝͰ͢ʂ ΞϚκϯΣϒαʔϏε "84 ͷ࣮ફతνϡʔτϦΞϧ ࣗͷϨϕϧʹ͋ͬͨϋϯζΦϯ͕બՄೳ🧑💻
w 5XJUUFSͷ#PUΛ࡞͢ΔͳͲ࣮ફతͳϋϯζΦϯ w "84+ࣾһͷํͷϥʔχϯάύλʔϯ͓͢͢Ίॻ੶ͷհ w "84άϥϨίղઆγϦʔζͬ͘͟Γͱͨ͠ΠϝʔδΛ௫ΉͷʹΦεεϝͰ͢ʂ CVJMEFSTGMBTI มԽΛٻΊΔσϕϩούʔΛԠԉ͢ΔΣϒϚΨδϯ📚
αʔόϨεΣϒΞϓϦέʔγϣϯͷϋϯζΦϯΛͬͯΈͨ
࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ "NQMJGZͱ$PHOJUPΛ༻ͯ͠Έ͔ͨͬͨͷͰͪ͜ΒΛબΜͰΈ·ͨ͠ɻ
࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ Πϝʔδ͕ͪ͜Β✨ ᶃ ᶄ ᶇ ᶆ ᶅ ᶈ topϖʔδ αΠϯΠϯը໘
ϩάΠϯޙ ݺͼग़͢ҐஔΛબ ۙ͘ͷϢχίʔϯ͕ݺͼग़͞ΕΔ DynamoDBʹใ͕֨ೲ͞ΕΔ
࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ ࠓճͷΞϓϦέʔγϣϯͷΞʔΩςΫνϟͰ͢⚙ Ҿ༻ݩ: https://aws.amazon.com/jp/getting-started/hands-on/build-serverless-web-app-lambda-apigateway-s3-dynamodb-cognito/
࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ "NQMJGZͱ$PHOJUPͳ؆୯ͳઆ໌🔰 w "NQMJGZͱ ɹϞόΠϧΞϓϦέʔγϣϯͱΣϒΞϓϦέʔγϣϯΛߏங͢ΔͨΊͷ ɹ"84͕044Ͱެ։͢Δ։ൃϓϥοτϑΥʔϜͰ͢ɻ ɹ4ͱ$MPVEGSPOU͕ࣗಈతʹηοτΞοϓ͞Εෛՙʹڧ͍αΠτΛ࡞Δ͜ͱ͕Մೳ
w $PHOJUPͱ ɹΣϒΞϓϦέʔγϣϯϞόΠϧΞϓϦʹ؆୯ʹϢʔβʔͷ ɹαΠϯΞοϓαΠϯΠϯɺΞΫηείϯτϩʔϧͷػೳΛՃͰ͖ΔαʔϏεͰ͢ɻ
࣮ࡍʹϋϯζΦϯΛ࣮ࢪͯ͠Έͨ ͭͷϞδϡʔϧͰߏ͞Ε͍ͯ·͢👨💻
Ϟδϡʔϧ੩తΣϒαΠτΛϗετ͢Δ ܧଓతσϓϩΠͷϏϧτΠϯͰΣϒΞϓϦέʔγϣϯͷ੩తϦιʔεΛϗετ͢ΔΑ͏ʹ "84"NQMJGZΛઃఆ͠·͢
Ϟδϡʔϧ੩తΣϒαΠτΛϗετ͢Δ $PEFDPNNJUͷϦϙδτϦΛ࡞͠4ʹ͋ΔαϯϓϧίʔυΛμϯϩʔυ͠ϦϙδτϦQVTI
Ϟδϡʔϧ੩తΣϒαΠτΛϗετ͢Δ "NQMJGZίϯιʔϧ͕੩తΣϒΞϓϦέʔγϣϯίʔυΛอଘ͢ΔॴͷηοτΞοϓΛ࣮ࢪ
Ϟδϡʔϧ੩తΣϒαΠτΛϗετ͢Δ ͜Ε͚ͩͷઃఆͰ$PEF$PNNJUQVTI͢ΔͱࣗಈͰσϓϩΠ͕࣮ࢪ͞Ε·͢✨
Ϟδϡʔϧ੩తΣϒαΠτΛϗετ͢Δ ઃఆ͔ͯ͠ΒͰσϓϩΠྃ
Ϟδϡʔϧ੩తΣϒαΠτΛϗετ͢Δ ΫϦοΫͰ੩తΣϒϗεςΟϯά͕ޭ͠·ͨ͠
ϞδϡʔϧϢʔβʔཧج൫ͷߏங
ϞδϡʔϧϢʔβʔཧج൫ͷߏங $PHOJUPϢʔβʔϓʔϧͷ࡞ΞϓϦΫϥΠΞϯτ*%Λൃߦ͠·͢ɻ
ϞδϡʔϧϢʔβʔཧج൫ͷߏங αϯϓϧίʔυͷDPO fi HKTΛهೖͯ͠ΣϒαΠτͷઃఆΛߋ৽ͯ͠ϦϙδτϦQVTI͠·͢ɻ
ϞδϡʔϧϢʔβʔཧج൫ͷߏங ಈ࡞֬ೝͷͨΊαϯϓϧϢʔβʔΛొ
ϞδϡʔϧϢʔβʔཧج൫ͷߏங $PHOJUPͷཧը໘͔ΒϢʔβʔͷ֬ೝΛߦ͏͜ͱͰݕূϓϩηεΛྃͤ͞Δ͜ͱͰ͖·͢ɻ
ϞδϡʔϧϢʔβʔཧج൫ͷߏங ແࣄϩάΠϯͰ͖·ͨ͠🙌
ϞδϡʔϧαʔόϨεόοΫΤϯυͷߏங Ϟδϡʔϧͷৄࡉͳखॱলུ͍͖ͤͯͨͩ͞·͢🙇 %ZOBNP%#ςʔϒϧΛ࡞͠ɺ-BNCEBαϯϓϧίʔυΛΞοϓϩʔυ͢Δ࡞ۀͱͳΓ·͢ɻ
Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ ͍Α͍Α࠷ऴఔͷϞδϡʔϧͰ͢
Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ "NB[PO"1*(BUFXBZͷཧը໘ΑΓ3&45"1*ͷ࡞
Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ ΦʔιϥΠβʔͷ࡞ $PHOJUPϢʔβʔϓʔϧʹΑͬͯฦ͞ΕΔ+85τʔΫϯΛ༻ͯ͠"1*ίʔϧΛೝূ͢Δઃఆ
Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ SJEFϦιʔεΛ࡞͠1045ϝιουΛ࡞
Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ "1*σϓϩΠͱΣϒαΠτͷઃఆΛߋ৽ͯ͠ͱͳΓ·͢👏
Ϟδϡʔϧ3&45GVM"1*ΛσϓϩΠ ͍Α͍Α࠷ޙͷಈ࡞֬ೝ👀 υΩυΩ
ಈ࡞֬ೝ ͔͜͜Β͍ઓ͍͕࢝·Γ·͢🔥 Θ͔Βͳ͍ͳΓʹ+BWB4DSJQUͱͷίʔυͱ֨ಆ͠·ͨ͠🔥🔥🔥
ಈ࡞֬ೝ ৭ʑͱௐࠪͯ͠ΈΔͱ "SD(*4ͷαϙʔτ͕ऴ͍ྃͯͨ͜͠ͱ͕ݪҼͰͨ͠🥲
ಈ࡞֬ೝ ࠓදࣔ͞Ε·ͨ͠🎉 ͔͠͠·ͩଓ͖·͢ਤΛΫϦοΫͯ͠ԿԠ͕͋Γ·ͤΜɻɻ
ಈ࡞֬ೝ ೪Γ·͕ͨࣗ͠ྗͰղܾͰ͖ͣ ϝϯόʔʹϔϧϓΛ͠·ͯ͠Τϥʔௐࠪํ๏Λڭ͍͖͑ͯͨͩ·ͨ͠N @@ N Τϥʔ༰ˠ6ODBVHIU5ZQF&SSPSWJFXUIFOJTOPUBGVODUJPO WJFXUIFO͕ؔݺͼग़͍ͤͯͳ͍͜ͱ͕ݪҼͷΑ͏Ͱ͢ɻ ࠔͬͨ࣌σϕϩούʔπʔϧͷ$POTPMFΛ֬ೝ
ಈ࡞֬ೝ "SD(*4ͷ"1*ϦϑΝϨϯεΛ֬ೝͯ͠ΈΔͱΤϥʔͷग़͍͕ͯͨؔมߋ͞Ε͍ͯ·ͨ͠⚡ Τϥʔ༰ˠ6ODBVHIU5ZQF&SSPSWJFXUIFOJTOPUBGVODUJPO WJFXUIFO͕ؔݺͼग़͍ͤͯͳ͍͜ͱ͕ݪҼͷΑ͏Ͱ͢ɻ ࠔͬͨ࣌σϕϩούʔπʔϧͷ$POTPMFΛ֬ೝ
ಈ࡞֬ೝ ίʔυΛमਖ਼ͯ͠ϦϙδτϦQVTI͠·͢💻
ಈ࡞֬ೝ ࠓͪΌΜͱϚʔΫ͞Ε·ͨ͠
ಈ࡞֬ೝ ࠓϢχίʔϯͷΞχϝʔγϣϯʹෆ۩߹͕ൃੜ ೦ͳ͕ΒλΠϜΞοϓͱͳΓͪ͜Βमਖ਼Ͱ͖·ͤΜͰͨ͠ 55
ಈ࡞֬ೝ %ZOBNP%#ͷॻ͖ࠐΈͪΌΜͱಈ࡞͍ͯ͠·ͨ͠👏
·ͱΊ
w ࣮ࡍʹಈ͘αʔϏεΛߏஙͰ͖Δͷ໘ന͘ɺͱͯڵຯ͕༙͖·ͨ͠✨ w ϋϯζΦϯ࣮ࢪͯ͠Ξτϓοτ͢ΔͱΑΓཧղ͕ਂ·Δ͜ͱΛܦݧͰ͖·ͨ͠🙌 w ࠓճϋϯζΦϯप͠·ͯ͠ɺ܁Γฦ࣮͠ࢪ͢Δ͜ͱେͩͱࢥ͍·ͨ͠🔄 िˠͱΓ͋͑ͣಈ͘ͱ͜Ζ·ͰਐΊΔɻ िˠΘ͔Βͳ͍ͱ͜ΖΛௐͳ͕ΒਐΊΔɻ िˠৄࡉͳखॱݟͣʹϞδϡʔϧͷݟग़͚ͩ֬͠ೝͯ͠ߏஙͯ͠ΈΔɻ ·ͱΊ
w ࣮ࡍʹಈ͘αʔϏεΛߏஙͰ͖Δͷͱͯ໘ന͘ɺͱͯڵຯ͕༙͖·ͨ͠✨ w ϋϯζΦϯ࣮ࢪͯ͠Ξτϓοτ͢ΔͱΑΓཧղ͕ਂ·Δ͜ͱΛܦݧͰ͖·ͨ͠🙌 w ࠓճϋϯζΦϯप͠·ͯ͠ɺ܁Γฦ࣮͠ࢪ͢Δ͜ͱେͩͱࢥ͍·ͨ͠🔄 िˠͱΓ͋͑ͣಈ͘ͱ͜Ζ·ͰਐΊΔɻ िˠΘ͔Βͳ͍ͱ͜ΖΛௐͳ͕ΒਐΊΔɻ िˠৄࡉͳखॱݟͣʹϞδϡʔϧͷݟग़͚ͩ֬͠ೝͯ͠ߏஙͯ͠ΈΔɻ ·ͱΊ
ϋϯζΦϯΛ࣮ࢪͯ͠Έͯ৽͍͕ٙ͠ੜ·Εͨ͜ͱ͕ऩ֭Ͱͨ͠👨💻 $PHOJUPͷೝূͷৄࡉ"NQMJGZͷػೳͳͲෆ໌ͳ͕ଟ͔ͬͨͷͰ ܧଓతʹ࣮ࢪͯ͠ཧղΛਂΊ͍͖͍ͯͨͰ͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ