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
290
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
230
Laravel × オニオンアーキテクチャで始めるテスト駆動開発
canon1ky
5
2.3k
BDDフレームワークで始める、E2Eテストのススメ
canon1ky
1
560
2019年11月20日 ビアバッシュ LT発表資料
canon1ky
0
460
仲間と起業、経営から廃業に至る中で学んだ「ビジョン」の本当の大切さ
canon1ky
2
77
Other Decks in Programming
See All in Programming
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
1
1.4k
Infer入門
riru
4
1.4k
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
600
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
760
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
590
DataformでPythonする / dataform-de-python
snhryt
0
160
AIのメモリー
watany
13
1.4k
令和最新版手のひらコンピュータ
koba789
13
7.4k
パスタの技術
yusukebe
1
280
Constant integer division faster than compiler-generated code
herumi
2
580
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
230
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
3
810
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
760
GitHub's CSS Performance
jonrohan
1031
460k
Speed Design
sergeychernyshev
32
1.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Faster Mobile Websites
deanohume
308
31k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Side Projects
sachag
455
43k
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ճΔ͚ͩͰ͔ͳΓମײతʹΘ͔Δͱࢥ͍·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ