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
ロードバランサーの種類に応じた使い分け / How to use different type...
Search
TomoyaKitaura
September 29, 2020
Technology
0
110
ロードバランサーの種類に応じた使い分け / How to use different types of load balancers
09/30に発表した資料です。
TomoyaKitaura
September 29, 2020
Tweet
Share
More Decks by TomoyaKitaura
See All by TomoyaKitaura
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
87
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing container registry to improve DX
tomoyakitaura
2
170
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
140
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
130
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
140
これまでの監視とクラウド時代の監視 / Monitoring the Past and the Cloud
tomoyakitaura
1
220
エンタープライズにおけるSRE立ち上げとNew Relic選定に至った背景とは / SRE Startup and New Relic in the Enterprise
tomoyakitaura
2
720
AWSとNew Relicのデータ連携を超高速で実装した話 / The story of a super-fast implementation of data integration between AWS and New Relic
tomoyakitaura
0
1.4k
Resilience Hubの登場が騒がれないなんておかしい!? / Resilience Hub is the best.
tomoyakitaura
0
220
Other Decks in Technology
See All in Technology
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
7
810
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
Lexical Analysis
shigashiyama
1
150
Taming you application's environments
salaboy
0
180
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
190
The Rise of LLMOps
asei
7
1.4k
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
590
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
強いチームと開発生産性
onk
PRO
34
11k
Platform Engineering for Software Developers and Architects
syntasso
1
520
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
How to Ace a Technical Interview
jacobian
276
23k
It's Worth the Effort
3n
183
27k
How GitHub (no longer) Works
holman
310
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Facilitating Awesome Meetings
lara
50
6.1k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Transcript
ϩʔυόϥϯαʔͷ छྨʹԠ͍͚ͨ͡ 2020/09/30 Tech Talk ͖ͨ͏Β
ΞδΣϯμ 2 1.ෛՙࢄͱ 2.ෛՙࢄͷछྨ 3.L4ͱL7 4.ෛՙࢄํࣜͦΕͧΕͷϝϦοτσϝϦοτ 5.·ͱΊ
ෛՙࢄͱ 3 ҰݴͰ͍͏ͳΒ Մ༻ੑΛߴΊΔͨΊͷख๏
͜ͷੈʹෛՙࢄ͕ଘࡏ͠ͳ͔ͬͨΒ 4 - 1ͷαʔόʔͰؤுΒͳ͍ͱ͍͚ͳ͍ - ෳͷαʔόʔΛ༻ҙͨ͠ͱͯ͠ϦΫΤετͷΓ ସ͑Ͳ͏͢Δ - ෳͷ͏ͪɺ1͕ࢮΜͩΒͦͷαʔόʔʹϦΫΤ ετΛૹΓͨ͘ͳ͍
- ෳͷαʔόʔΛ༻ҙͨ͠ͱͯ͠ɺϦΫΤετΛۉ ʹࡹ͚ͳ͍ͱ̍͋ͨΓͷཁٻεϖοΫ͕ߴ͘ͳΔ
5 ݺΜͩʁ
ෛՙࢄํࣜͷछྨ 6 https://www.infraexpert.com/study/loadbalancer4.html
ෛՙࢄͷछྨ 7 - DNSϥϯυϩϏϯ - L4ϩʔυόϥϯγϯά - L7ϩʔυόϥϯγϯά
8 L4? L7? ʢWireSharkσϞʣ
9 ͰɺͲΕΛ͍͍͑ͷʁ
DNSϥϯυϩϏϯ 10 υϝΠϯͷࡧҾ࣌ʹIPΞυϨεΛ ަޓʹฦ͢ͱ͍͏ํ๏ ϝϦοτɿDNSͷઃఆม͑Δ͚ͩͳͷͰ͓खܰ σϝϦοτɿ୯ମͰࢮ׆ࢹ͕Ͱ͖ͳ͍ɻ ɹɹɹɹɹɹηογϣϯཧͰ͖ͳ͍ɻ
L4ϩʔυόϥϯγϯά 11 L4ͷػೳΛͬͨෛՙࢄΛߦ͏ɻ TCPηογϣϯ͕LBͰऴ͠ͳ͍ͷͰ SourceIPͱPort͕λʔήοτ·Ͱอ࣋͞ΕΔɻ DestinationIPΛॻ͖͑͢ΔํࣜͷNATϩʔυόϥϯαͱ L2ػೳΛͬͨDSRํࣜͷϩʔυόϥϯα͕ଘࡏ͢Δɻ AWSͷNLBNATํࣜͰHyperplaneͱݺΕΔಛघͳAWSಠࣗ ͷෛՙࢄٕज़͕࠾༻͞ΕͯΔɻ
L4ϩʔυόϥϯγϯά 12 ϝϦοτɿLBࣗମͷIPΛݻఆͰ͖Δɻ ɹɹɹɹɹߴՄ༻ੑɺߴεϧʔϓοτɺϨΠςϯγ ɹɹɹɹɹSource IPͱPort·Ͱอ࣋͞ΕΔɻ ɹɹɹɹ ʢX-Forwarded-For͕ෆཁʣ σϝϦοτɿL7ϩʔυόϥϯαͷΑ͏ʹ ث༻ͳϧʔςΟϯά͕ઃܭͰ͖ͳ͍ɻ
L7ϩʔυόϥϯγϯά 13 L7ʢHTTP/HTTPSʣͷػೳΛͬͨෛՙࢄΛߦ͏ɻ ͳΜͱ͍ͬͯߴͳϦΫΤετϧʔςΟϯά͕Ͱ͖Δɻ
L7ϩʔυόϥϯγϯά 14 ɾύεϕʔεϧʔςΟϯά -> example.com/game example.com/lobby ɾϗετϕʔεϧʔςΟϯά -> game.example.com lobby.example.com
ɾHTTPϔομʔϕʔεϧʔςΟϯά -> UserAgent͕Safari͔Chrome͔ ɾΫΤϦจࣈྻϕʔεϧʔςΟϯά -> example.com?version=v1 example.com?version=v2 ɾϧʔςΟϯάͷॲཧʹIFจ͕ॻ͚Δ
L7ϩʔυόϥϯγϯά 15 ϝϦοτɿհͨ͠௨Γ͍ΖΜͳϧʔςΟϯά͕Ͱ͖Δɻ σϝϦοτɿNLBͷϝϦοτͷཪฦ͠
16 ·ͱΊ
17 - ωοτϫʔΫͷཁ͕݅ߴ͍߹L4ϩʔυόϥϯαʔબ ࢶʹೖΔ͔͠Εͳ͍ɻ - ීஈ͍ΓॊೈͳϧʔςΟϯάϙϦγʔΛѻ͑ΔL7 ϩʔυόϥϯαʔ͕͍͍͢ɻ - ࠷৽ͷk8sߏͳͲͰαʔϏεσΟεΧόϦDNSϥϯυ ϩϏϯͱLBͷෳ߹ٕͰ͔͍͍ͬ͜ײ͡ʹͳ͍ͬͯΔΒ͍͠
18 ͝੩ௌ͋Γ͕ͱ͏ޚ࠲͍·ͨ͠