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
120
ロードバランサーの種類に応じた使い分け / How to use different types of load balancers
09/30に発表した資料です。
TomoyaKitaura
September 29, 2020
Tweet
Share
More Decks by TomoyaKitaura
See All by TomoyaKitaura
New Relicの推せるところ・推せないところ / newrelic good and bad
tomoyakitaura
0
93
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
250
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
17
10k
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
230
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
180
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing container registry to improve DX
tomoyakitaura
2
200
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
180
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
160
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
200
Other Decks in Technology
See All in Technology
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
230
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
5
480
Claude Codeから我々が学ぶべきこと
s4yuba
6
1.7k
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
8
2k
robocopy の怖い話/scary-story-about-robocopy
emiki
0
460
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
140
AI人生苦節10年で会得したAIがやること_人間がやること.pdf
shibuiwilliam
1
270
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
260
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
430
2025-07-31: GitHub Copilot Agent mode at Vibe Coding Cafe (15min)
chomado
2
370
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
170
Rubyの国のPerlMonger
anatofuz
3
730
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2k
Code Reviewing Like a Champion
maltzj
524
40k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
How STYLIGHT went responsive
nonsquared
100
5.7k
What's in a price? How to price your products and services
michaelherold
246
12k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
Adopting Sorbet at Scale
ufuk
77
9.5k
Speed Design
sergeychernyshev
32
1.1k
Docker and Python
trallard
45
3.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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 ͝੩ௌ͋Γ͕ͱ͏ޚ࠲͍·ͨ͠