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
250
Laravel × オニオンアーキテクチャで始めるテスト駆動開発
canon1ky
5
2.4k
BDDフレームワークで始める、E2Eテストのススメ
canon1ky
1
570
2019年11月20日 ビアバッシュ LT発表資料
canon1ky
0
460
仲間と起業、経営から廃業に至る中で学んだ「ビジョン」の本当の大切さ
canon1ky
2
78
Other Decks in Programming
See All in Programming
Amazon Bedrock Knowledge Bases Hands-on
konny0311
0
130
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
10
3.6k
Bakuraku E2E Scenario Test System Architecture #bakuraku_qa_study
teyamagu
PRO
0
630
AIを駆使して新しい技術を効率的に理解する方法
nogu66
0
450
Tangible Code
chobishiba
3
500
Webサーバーサイド言語としてのRustについて
kouyuume
1
5.1k
contribution to astral-sh/uv
shunsock
0
590
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
100
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
2
130
SidekiqでAIに商品説明を生成させてみた
akinko_0915
0
120
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
230
CSC509 Lecture 10
javiergs
PRO
0
170
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Designing Experiences People Love
moore
142
24k
Thoughts on Productivity
jonyablonski
73
4.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1k
The Cult of Friendly URLs
andyhume
79
6.7k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
The Invisible Side of Design
smashingmag
302
51k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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ճΔ͚ͩͰ͔ͳΓମײతʹΘ͔Δͱࢥ͍·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ