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
610
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
「JAWS-UG初心者支部#61 初心者向けオンラインLT大会」にて発表した内容です。
Ren Yamanashi
July 24, 2024
Tweet
Share
More Decks by Ren Yamanashi
See All by Ren Yamanashi
保守性を高める AWS CDK のセオリー・ベストプラクティス
yamanashi_ren01
6
1.1k
CDK開発におけるコーディング規約の運用
yamanashi_ren01
3
470
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
680
Other Decks in Programming
See All in Programming
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
310
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
200
Testing Trophyは叫ばない
toms74209200
0
860
Laravel Boost 超入門
fire_arlo
3
210
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
260
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
500
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
520
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
230
複雑なドメインに挑む.pdf
yukisakai1225
5
1.1k
Namespace and Its Future
tagomoris
6
700
Navigating Dependency Injection with Metro
zacsweers
3
240
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Cult of Friendly URLs
andyhume
79
6.6k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Bash Introduction
62gerente
615
210k
Designing for humans not robots
tammielis
253
25k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Designing Experiences People Love
moore
142
24k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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ָ͍͠ʂʂ