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
430
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
「JAWS-UG初心者支部#61 初心者向けオンラインLT大会」にて発表した内容です。
Ren Yamanashi
July 24, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
Kotlinの好きなところ
kobaken0029
0
160
Mercari AI/LLM Hackathon TeamBの発表資料
imaikosuke
0
200
Re:proS_案内資料
rect
0
250
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
3
980
ピクシブ百科事典のWebフロントエンドパフォーマンス改善
higara
0
170
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
6
200
Nuxt UI Pro、NuxtHub、Nuxt Scripts、Nuxtエコシステムをふんだんに利用して開発するコーポレートサイト@Vue Fes Japan 2024
shingangan
3
810
Amazon Neptuneで始めてみるグラフDB-OpenSearchによるグラフの全文検索-
satoshi256kbyte
4
290
推し活の ハイトラフィックに立ち向かう Railsとアーキテクチャ - Kaigi on Rails 2024
falcon8823
6
1.1k
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
2
1.6k
リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果
katty0324
2
2.6k
Tuning GraphQL on Rails
pyama86
2
670
Featured
See All Featured
A better future with KSS
kneath
237
17k
Adopting Sorbet at Scale
ufuk
73
9k
Ruby is Unlike a Banana
tanoku
96
11k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Raft: Consensus for Rubyists
vanstee
136
6.6k
A Philosophy of Restraint
colly
203
16k
4 Signs Your Business is Dying
shpigford
180
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
Optimizing for Happiness
mojombo
376
69k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
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ָ͍͠ʂʂ