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
20200109サポーターズ勉強会
Search
kazuma.murata
January 09, 2020
Programming
0
300
20200109サポーターズ勉強会
「雰囲気でAWSネットワークを触る人のための、AWSネットワーク再入門」の発表資料です。
kazuma.murata
January 09, 2020
Tweet
Share
More Decks by kazuma.murata
See All by kazuma.murata
ROSCAFE_2社に聞く_DevOpsの最新事例__SocialDog発表スライド_.pdf
canon1ky
1
270
Laravel × オニオンアーキテクチャで始めるテスト駆動開発
canon1ky
5
2.4k
BDDフレームワークで始める、E2Eテストのススメ
canon1ky
1
590
2019年11月20日 ビアバッシュ LT発表資料
canon1ky
0
480
仲間と起業、経営から廃業に至る中で学んだ「ビジョン」の本当の大切さ
canon1ky
2
84
Other Decks in Programming
See All in Programming
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
270
Oxlint JS plugins
kazupon
1
1.1k
Ruby x Terminal
a_matsuda
5
520
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
110
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
200
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
110
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
110
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
420
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
120
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
130
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
400
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
81
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
480
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
190
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
460
A Tale of Four Properties
chriscoyier
162
24k
Producing Creativity
orderedlist
PRO
348
40k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Documentation Writing (for coders)
carmenintech
77
5.3k
KATA
mclloyd
PRO
35
15k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Building AI with AI
inesmontani
PRO
1
760
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
150
Transcript
งғؾͰAWSωοτϫʔΫΛ ৮ΔਓͷͨΊͷ AWSωοτϫʔΫ࠶ೖ
ࣗݾհ ɾଜాओຏ (@canon1ky) ɾגࣜձࣾShowcaseGig ɾઍ༿ݝࢢࢢࡏॅ ʢࢁསݝग़ʣ ɾόοΫΤϯυΤϯδχΞ ɾϏʔτϚχΞSPօ ɾϚΠϒʔϜ: νʔζσβʔτ
օ͞Μ
AWSωοτϫʔΫ ཧղ͍ͯ͠·͔͢ʁ
• ϧʔτςʔϒϧͬͯͲ͏ͯ͠ඞཁͳͷʁ • Nat Gatewayͷ໊લฉ͍ͨ͜ͱ͕͋Δ͚ͲΠϚΠν Θ͔Βͳ͍ • σϑΥϧτVPC͋Δ͠ͱΓ͋͑ͣͬͱ͔͘…
લ - ֤छϦιʔεΛཧղ͢Δ 1. VPC 2. Subnet 3. Route Table
4. Internet Gateway 5. Nat Gateway 6. શମ૾ 7. σϑΥϧτVPC
ޙ - ΞʔΩςΫνϟͷྫ 1. EC2Ͱߏ͢Δ؆୯ͳWebαʔόʔͷྫ 2. EKSΛͬͨྫ
ڞ༗ࣄ߲ • ࠶ೖͳͷͰEC2RDSͷ֓ཁઆ໌͠·ͤΜ ʢ͕࣌ؒΓͳ͍…ʣ • ࡉ͔͍ͱ͜Ζ·ͰಥͬࠐΈ·ͤΜ ʢશମ૾Λཧղ͢Δͷ͕తʣ • ࢿྉWebʹUP͠·͢
લ - ֤छϦιʔεΛཧղ͢Δ
ͦͷલʹ
͓͖͍͑ͯͨલఏ • άϩʔόϧαʔϏε • ϦʔδϣϯαʔϏε • AZαʔϏε
άϩʔόϧαʔϏε • AWSΞΧϯτ୯ҐͰஔ͔ΕΔϦιʔε • શϦʔδϣϯͰڞ௨ • ྫ: IAM, CloudWatch, Route53
ϦʔδϣϯαʔϏε • Ϧʔδϣϯ୯ҐͰஔ͔ΕΔϦιʔε • ౦ژϦʔδϣϯɺΞϝϦΧϦʔδϣϯͳͲ • ྫ: VPC, S3, DynamoDB
AZαʔϏε • AZ୯ҐͰஔ͔ΕΔϦιʔε • AZ: ϦʔδϣϯΛ͞Βʹࡉ͔ͬͨ͘ͷ • ྫ: Subnet, EC2,
RDS
ωοτϫʔΫͬͯʁ
VPC • ԾωοτϫʔΫ • AWSωοτϫʔΫͷҰ൪େ͖͍ׅΓ • ࡞࣌ʹϓϥΠϕʔτIPࢦఆ • ϓϥΠϕʔτIP: VPCͰͷΈ͏IPΞυϨε
• AWSωοτϫʔΫͷதͰҰ൪࠷ॳʹ࡞Δͷ ϦʔδϣϯαʔϏε
Subnet • VPCΛ͞Βʹׂۭͨؒ͠ • ʮʓʓΞΫηε͞Εͯྑ͍͚Ͳ˚˚ΞΫηε ͞ΕͨΒ·͍ͣʂʂʯ • ࣗͰେ͖͞ΛܾΊͯαϒωοτΛ࡞Δ • Πϯελϯεඞͣαϒωοτͷதʹ࡞Δ
";αʔϏε
αϒωοτͷྫ • VPC: 10.0.0.0/16 • αϒωοτ1: 10.0.1.0/24 → 256ݸͷIPΞυϨε •
αϒωοτ2: 10.0.2.0/24 → 256ݸͷIPΞυϨε • αϒωοτ3: 10.0.3.0/20 → 4096ݸͷIPΞυϨε • αϒωοτ4: 10.0.19.0/20 → 4096ݸͷIPΞυϨε αϒωοτϚεΫͷࣈͰ αϒωοτͷେ͖͞ΛܾΊΒΕΔ ϓϥΠϕʔτ*1
ߏਤ
Route Table • Πϯελϯε͔ΒɺͲ͜ʹ௨৴͕͍͔͘ͷϧʔϧ ΛఆΊ͓ͯ͘ͷ • αϒωοτΛ࡞ͬͨঢ়ଶͰΠϯελϯεΛ͓͍ͯ ࣗҎ֎ͷαʔόʔʹΞΫηεͰ͖ͳ͍ • ௨৴ܦ࿏ͷಓΛ࡞ΔΠϝʔδ
• ͜Ε͕ͳ͍ͱΠϯελϯε͔ΒଞͷϦιʔε௨৴ ͕Ͱ͖ͳ͍ ϦʔδϣϯαʔϏε
ߏਤ *1 5BSHFU -PDBM *(8 *1 5BSHFU
-PDBM *1 5BSHFU -PDBM *(8 *1 5BSHFU -PDBM 4VCOFU 4VCOFU 4VCOFU 4VCOFU αϒωοτͷΠϯελϯε͔Β ΞΫηε ˠ71$ͷϦιʔεʹ௨৴͕ඈͿ αϒωοτͷΠϯελϯε͔Β ΞΫηε ˠ*(8ʹ௨৴͕ඈͿ
Internet Gateway(IGW) • ΠϯελϯεͱΠϯλʔωοτΛܨ͙ίϯϙʔωϯτ • VPCʹ࡞ • ϧʔτςʔϒϧͰαϒωοτͱඥ͚Δ • IGWͱඥ͚ͮΔ
→ ύϒϦοΫαϒωοτ • IGWͱඥ͚ͮͳ͍ → ϓϥΠϕʔταϒωοτ ϦʔδϣϯαʔϏε *1 5BSHFU -PDBM *(8
Public Subnet • ΠϯελϯεʹύϒϦοΫIP͕༩͞ΕΔ • Πϯλʔωοτ͔ΒΠϯελϯεʹΞΫηεՄೳ • Πϯελϯε͔ΒΠϯλʔωοτ্ͷαʔόʔʹΞΫη εՄೳ
Private Subnet • Πϯλʔωοτͱःஅ͞Ε͍ͯΔঢ়ଶ • ʮDB֎͔ΒݟΒΕͨ͘ͳ͍ʂʂʯ • ΠϯελϯεʹύϒϦοΫIP༩͞Εͳ͍ • VPCͷΠϯελϯεͱ௨৴͕Մ
• ޙड़ͷNGWΛ͏ͱ֎͖ͷ௨৴ͷΈՄೳͱͳΔ
Nat Gateway(NGW) • Πϯλʔωοτͷ֎͖ͷ௨৴ΛڐՄ͢Δ ίϯϙʔωϯτ • ʮ֎͔ΒΞΫηεͰ͖ͳ͍Α͏ʹ͍͚ͨ͠ͲɺΠϯελ ϯε͔ΒύοέʔδͷΠϯετʔϧͱ͔͍ͨ͠ʂʯ • ϓϥΠϕʔταϒωοτʹΞλον͢ΔͱɺϓϥΠϕʔ
ταϒωοτͰ֎͖௨৴͕ڐՄ͞ΕΔ • ͪΐͬͱߴ͍ (0.045USD/hour → 4000ԁऑ / ݄) ";αʔϏε *1 5BSHFU -PDBM /(8
Ϣʔεέʔε • ϓϥΠϕʔταϒωοτͷΠϯελϯε͔Β • ֎෦APIΛݺͼग़͍ͨ͠ • ύοέʔδͷΠϯετʔϧΛߦ͍͍ͨ • ఆظతʹΫϩʔϦϯά͍ͨ͠
શମ૾
σϑΥϧτVPCͬͯʁ • AWSΞΧϯτΛ࡞Δͱඞͣ༻ҙ͞Ε͍ͯΔVPC • AWSϕετϓϥΫςΟεͰɺσϑΥϧτVPCΛ ͏͜ͱඇਪ • ύϒϦοΫαϒωοτ2ͭͷΈͷαϒωοτ͕ଘࡏ
ࢀߟϖʔδIUUQTEPDTBXTBNB[PODPNKB@KQWQDMBUFTUVTFSHVJEF EFGBVMUWQDIUNMEFGBVMUWQDDPNQPOFOUT
EC2ΠϯελϯεΛஔ͘·Ͱ 1. VPC࡞ 2. ΠϯελϯεΛஔ͘αϒωοτͷཁ݅ΛܾΊΔ ɾIPΞυϨεͷൣғ ɾύϒϦοΫαϒωοτ or ϓϥΠϕʔταϒωοτ 3.
αϒωοτ࡞ 4. IGW࡞ 5. ඞཁͰ͋ΕNGWΛ࡞ 6. ϧʔτςʔϒϧ࡞ 7. Πϯελϯεઃஔ
ޙ - ΞʔΩςΫνϟͷྫ
؆୯ͳWebαʔόʔͷྫ(1) w ύϒϦοΫαϒωοτ w &-# w &$ w ϓϥΠϕʔταϒωοτ w
3%4
؆୯ͳWebαʔόʔͷྫ(2) w ύϒϦοΫαϒωοτ w &-# w ౿Έαʔόʔ w /(8 w
ϓϥΠϕʔταϒωοτ w &$ w 3%4 ΑΓηΩϡΞ
EKSΛͬͨྫ(1) w ύϒϦοΫαϒωοτ w &-# w &$ w ϓϥΠϕʔταϒωοτ w
3%4 &,4ϦιʔεΛ࡞͢Δͱ͖ʹɺ ύϒϦοΫαϒωοτΛొ͢Δ
EKSΛͬͨྫ(2) w ύϒϦοΫαϒωοτ w &-# w /(8 w ϓϥΠϕʔταϒωοτ" w
&$ w ϓϥΠϕʔταϒωοτ# w 3%4 &,4ϦιʔεΛ࡞͢Δͱ͖ʹɺ ύϒϦοΫαϒωοτͱϓϥΠϕʔταϒωοτ"Λొ͢Δ ΑΓηΩϡΞ
·ͱΊ • ࠓճઆ໌ͨ͠ϦιʔεΛҰ௨Γԡ͓͚͑ͯ͞ͳΜ ͱ͔ͳΔ • DHCPΦϓγϣϯͱ͔ɺVPCΤϯυϙΠϯτ͑ ΒΕΕͳ͓ྑ͠ • VPC࡞Δ~EC2ཱͯΔ~ApacheೖΕΔ~ΞΫηεʂ Λ1ճΔ͚ͩͰ͔ͳΓମײతʹΘ͔Δͱࢥ͍·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ