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初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテク...
Search
Ren Yamanashi
July 24, 2024
Programming
0
390
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
「JAWS-UG初心者支部#61 初心者向けオンラインLT大会」にて発表した内容です。
Ren Yamanashi
July 24, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
TypeScriptで 負荷テストを書こう 〜k6のシングルバイナリの秘密〜
dora1998
7
2.8k
Web技術を駆使してユーザーの画面を「録画」する
yukukotani
13
6.2k
詳解UIWindow
natmark
3
2k
ESLint Rule により事業, 技術ドメインに沿った制約と誓約を敷衍させるアプローチのすゝめ
shinyaigeek
1
2.7k
dotfiles について話したい #湘なんか
stefafafan
2
280
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
1
930
LangGraphでのHuman-in-the-Loopの実装
os1ma
3
550
Ruby Parser progress report 2024
yui_knk
2
180
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
390
暴走のウホーレン 〜想いってのはvimrcにしないと伝わらないんだぜ〜 / iosdc_japan_2024
uhooi
1
240
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
610
Desafios e Lições Aprendidas na Migração de Monólitos para Microsserviços em Java
jessilyneh
2
130
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
85
5.6k
We Have a Design System, Now What?
morganepeng
48
7.1k
[RailsConf 2023] Rails as a piece of cake
palkan
44
4.6k
Visualization
eitanlees
142
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
29
2.2k
How To Stay Up To Date on Web Technology
chriscoyier
785
250k
The Mythical Team-Month
searls
218
43k
Scaling GitHub
holman
458
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Faster Mobile Websites
deanohume
304
30k
It's Worth the Effort
3n
182
27k
How to name files
jennybc
75
97k
Transcript
AWSॳ৺ऀͬͯͲ͏ͬͯAWSΛֶͿ? ࢁས ࿇ ʙΞϓϦΤϯδχΞ͕ͬͯྑ͔ͬͨΞʔΩςΫνϟֶशํ๏ʙ JAWS-UGॳ৺ऀࢧ෦#61 ॳ৺ऀ͚ΦϯϥΠϯLTେձ 2024/07/24
ࣗݾհ ɾ2022ʹΤϯδχΞσϏϡʔ 🎉 ɹɾ࠷ॳϑϩϯτΤϯυ (TypeScript / Vue) ɹɾࠓόοΫΤϯυ (TypeScript) ɾॳొஃʂʂ
ɾࢁས ࿇ ɹɾX: @yama_ren_tw ɹɾGitHub: @ren-yamanashi
AWSֶशͷత ɾͳͥAWSֶशΛ͍ͨ͠ʁ ɹɾωοτϫʔΫपΓʹڵຯΛ࣋ͪ࢝Ίͨɾɾɾ (͖͔͚ͬHTTPαʔόʔͷࣗ࡞ͩͬͨ) ɹɾࠓޙۀͰΠϯϑϥܥͷλεΫऔΓΊΔΑ͏ʹͳΓ͍ͨ ΞϓϦΤϯδχΞͷࢲ͕ɺͳͥAWSΛֶश͠Α͏ͱࢥͬͨͷ͔
AWSֶशͷత ɾͲ͏ͬͯAWSֶशΛਐΊΔʁ ɹɾۀͰAWSʹΨοπϦ৮ΕΔͷࣝతʹ͍͠ ɹɾࢿ֨ࢼݧۦಈͰࣝΛ͚ͭΔ 🤔 Ͳ͏ֶͬͯश͢Δɾɾɾʁ
AWSֶशͷత ɾखΛಈ͔͠ͳ͕Βମܥతʹֶͼ͍ͨʂ ɹɾݸਓֶशͱͯ͠WebAPIΛAWSͰߏங ɹɾͦͷաఔͰ৭ʑͳAWSϦιʔεʹ৮ΕͯࣝΛ͚͍ͭͯ͘ ɹɹɾͨͩɺAWSϦιʔεߏΛͲ͏ͨ͠Βྑ͍͔Θ͔Βͳ͍ ɾͲ͏ͬͯAWSֶशΛਐΊΔʁ ɹɾۀͰAWSʹΨοπϦ৮ΕΔͷࣝతʹ͍͠ ɹɾࢿ֨ࢼݧۦಈͰࣝΛ͚ͭΔ 🤔 Ͳ͏ֶͬͯश͢Δɾɾɾʁ
AWSֶशͷత ɾखΛಈ͔͠ͳ͕Βମܥతʹֶͼ͍ͨʂ ɹɾݸਓֶशͱͯ͠WebAPIΛAWSͰߏங ɹɾͦͷաఔͰ৭ʑͳAWSϦιʔεʹ৮ΕͯࣝΛ͚͍ͭͯ͘ ɹɹɾͨͩɺAWSϦιʔεߏΛͲ͏ͨ͠Βྑ͍͔Θ͔Βͳ͍ ɾͲ͏ͬͯAWSֶशΛਐΊΔʁ ɹɾۀͰAWSʹΨοπϦ৮ΕΔͷࣝతʹ͍͠ ɹɾࢿ֨ࢼݧۦಈͰࣝΛ͚ͭΔ 🤔 Ͳ͏ֶͬͯश͢Δɾɾɾʁ
→ ·ͣΞʔΩςΫνϟͷֶश͔Βʂʂ
ͬͯྑ͔ͬͨ ΞʔΩςΫνϟֶशํ๏
ΞʔΩςΫνϟֶशํ๏ ɾ৭ʑͳΞʔΩςΫνϟΛ࡞ͬͯൺֱ͍ͨ͠ ɹɾ؆୯ʹ࡞Γ͍ͨ ❌ ࡉ͔͍ઃఆͱ͔Λ৭ʑߟྀ͠ͳ͕Β ⭕ ͋ΔఔσϑΥϧτͷઃఆΛऔΓೖΕΔ ɾCDKͰߏங͕ྑͦ͞͏ʁ ɹɾTypeScript͕͑ΔͷͰɺίʔσΟϯάͷษڧʹͳΓͦ͏ ɹɾࣾͰCDKҠߦͷऔΓΈ͕ਐΜͰ͍Δ
ֶशͷతɿݸਓֶशͰదͳΞʔΩςΫνϟΛબͰ͖ΔΑ͏ʹͳΔ͜ͱ
ΞʔΩςΫνϟֶशํ๏ ɾCDK ͷ L3 ConstructΛ༻ AWSϦιʔεΛΈ߹Θͤͯɺ͍͍ײ͡ʹύοέʔδϯάͯ͘͠Ε͍ͯΔ (L3 Construct Construct Hub
Ͱݕࡧͨ͠Γ) ɹˠ͜ΕΛ༻ͯ͠ɺநతɾ؆୯ʹΞʔΩςΫνϟΛߏங CDKΛ༻ͯ͠ߏங ɾCDKʹΑͬͯੜ͞ΕΔCloudFormationςϯϓϨʔτΛݟͯɺϦιʔεͷҰཡΛѲ͢Δ ɾCloudFormationͷίϯιʔϧ͔Β؆୯ʹ֤AWSϦιʔεʹඈͯɺ ࣮ࡍͷઃఆ؆୯ʹ֬ೝͰ͖Δ ίεύΑ͘ϦιʔεͷߏΛཧղ͢Δ͜ͱ͕Ͱ͖ͨʂʂ
ΞʔΩςΫνϟֶशํ๏ ۩ମతͳߏஙྫ(ίʔυ) ͨͬͨ20ߦఔͰɺALB + ECS(Fargate) ͕ߏஙͰ͖Δ
ΞʔΩςΫνϟֶशํ๏ ۩ମతͳֶशͷྲྀΕ 1. CDKͰߏங 2. CloudFormationͰϦιʔεߏɾৄࡉઃఆͷѲ 3. ϦιʔεߏৄࡉઃఆͰؾʹͳͬͨͱ͜ΖΛௐΔ ALB +
ECS(Fargate)ͷଞʹɺALB + ECS(EC2) API Gateway + LambdaͳͲ ৭ʑͳΞʔΩςΫνϟΛߏஙͯ͠ɺϦιʔεߏΛൺֱ →ͦΕͧΕͷϦιʔεߏͷಛͳͲΛௐͳ͕ΒѲ ࣗͷతʹదͨ͠ΞʔΩςΫνϟΛબͿͨΊͷࣝΛಘΒΕͨ
·ͱΊ ɾCDK L3 ConstructΛ༻͢Δ͜ͱͰɺAWSॳ৺ऀͷࢲͰ ʮͲͷΑ͏ͳΞʔΩςΫνϟߏͰߏங͢Δͷ͕ྑ͍͔ʯΛஅ͢ΔͨΊͷ͕ࣝಘΒΕ ͨʂʂ ɾಛʹࢲͷΑ͏ͳීஈΠϯϑϥۀʹ͋·Γ৮Εͳ͍ΞϓϦدΓͷΤϯδχΞ͕AWSֶशΛ࢝ ΊΔͷʹྑ͍ͱײͨ͡ɻ ɾCDKָ͍͠ʂʂ