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
540
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
760
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
310
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
540
Other Decks in Programming
See All in Programming
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
3
990
Develop Faster With FrankenPHP
dunglas
2
2.6k
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
150
20250326_生成AIによる_レビュー承認システムの実現.pdf
takahiromatsui
17
5.6k
RubyKaigiで手に入れた HHKB Studioのための HIDRawドライバ
iberianpig
0
1k
OUPC2024 Day 1 解説
kowerkoint
0
400
爆速スッキリ! Rspack 移行の成果と道のり - Muddy Web #11
dora1998
1
150
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
600
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
1.1k
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
240
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
5
830
GDG Super.init(version=6) - From Where to Wear : 모바일 개발자가 워치에서 발견한 인사이트
haeti2
0
560
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
YesSQL, Process and Tooling at Scale
rocio
172
14k
How to Think Like a Performance Engineer
csswizardry
22
1.5k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Code Review Best Practice
trishagee
67
18k
Rails Girls Zürich Keynote
gr2m
94
13k
The Cult of Friendly URLs
andyhume
78
6.3k
Six Lessons from altMBA
skipperchong
27
3.7k
How to train your dragon (web standard)
notwaldorf
91
5.9k
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ָ͍͠ʂʂ