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
690
0
Share
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
「JAWS-UG初心者支部#61 初心者向けオンラインLT大会」にて発表した内容です。
Ren Yamanashi
July 24, 2024
More Decks by Ren Yamanashi
See All by Ren Yamanashi
保守性を高める AWS CDK のセオリー・ベストプラクティス
yamanashi_ren01
6
1.4k
CDK開発におけるコーディング規約の運用
yamanashi_ren01
3
680
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
850
Other Decks in Programming
See All in Programming
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
340
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
5.6k
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
170
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
2
200
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.3k
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
220
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
3.2k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
850
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
180
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
350
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
210
How to build a perfect <img>
jonoalderson
1
5.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
230
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Building the Perfect Custom Keyboard
takai
2
780
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ָ͍͠ʂʂ