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
280
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
170
Laravel × オニオンアーキテクチャで始めるテスト駆動開発
canon1ky
5
2.2k
BDDフレームワークで始める、E2Eテストのススメ
canon1ky
1
520
2019年11月20日 ビアバッシュ LT発表資料
canon1ky
0
430
仲間と起業、経営から廃業に至る中で学んだ「ビジョン」の本当の大切さ
canon1ky
2
71
Other Decks in Programming
See All in Programming
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
28
4.2k
rails newと同時に型を書く
aki19035vc
5
710
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
300
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
7
1.4k
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
130
ErdMap: Thinking about a map for Rails applications
makicamel
1
660
最近のVS Codeで気になるニュース 2025/01
74th
1
100
快速入門可觀測性
blueswen
0
500
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
120
2025.01.17_Sansan × DMM.swift
riofujimon
2
560
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
선언형 UI에서의 상태관리
l2hyunwoo
0
270
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Mobile First: as difficult as doing things right
swwweet
222
9k
Building Applications with DynamoDB
mza
93
6.2k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Building Adaptive Systems
keathley
38
2.4k
Why Our Code Smells
bkeepers
PRO
335
57k
4 Signs Your Business is Dying
shpigford
182
22k
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ճΔ͚ͩͰ͔ͳΓମײతʹΘ͔Δͱࢥ͍·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ