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
68
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
230
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
17
10k
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
220
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
170
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing container registry to improve DX
tomoyakitaura
2
200
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
170
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
160
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
190
Other Decks in Technology
See All in Technology
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
820
rubygem開発で鍛える設計力
joker1007
1
130
OAuth/OpenID Connectで実現するMCPのセキュアなアクセス管理
kuralab
5
880
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
2
400
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1.1k
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
290
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
2
390
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
110
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
730
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
150
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
150
エンジニア向け技術スタック情報
kauche
0
110
Featured
See All Featured
It's Worth the Effort
3n
184
28k
A better future with KSS
kneath
239
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Site-Speed That Sticks
csswizardry
10
650
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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 ͝੩ௌ͋Γ͕ͱ͏ޚ࠲͍·ͨ͠