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
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
16
9.2k
これからの設計で変わること pre:invent2024アップデート速報 / pre:invent2024 network update
tomoyakitaura
1
210
セキュリティ活動をちょっとずつやる戦略を実行した気づき / Incremental Security Initiatives
tomoyakitaura
0
150
社内共通コンテナレジストリを設立して、開発者体験向上を狙ってみた /Establishing container registry to improve DX
tomoyakitaura
2
190
LTワークショップ3日目 / LT Workshop Day 3
tomoyakitaura
0
160
LTワークショップ2日目 / LT Workshop Day 2
tomoyakitaura
0
150
LTワークショップ(1日目) / LT workshop day 1
tomoyakitaura
1
170
これまでの監視とクラウド時代の監視 / Monitoring the Past and the Cloud
tomoyakitaura
1
270
エンタープライズにおけるSRE立ち上げとNew Relic選定に至った背景とは / SRE Startup and New Relic in the Enterprise
tomoyakitaura
2
790
Other Decks in Technology
See All in Technology
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
140
サーバシステムを無理なくコンテナ移行する際に伝えたい4つのポイント/Container_Happy_Migration_Method
ozawa
1
110
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
510
Multitenant 23ai の全貌 - 機能・設計・実装・運用からマイクロサービスまで
oracle4engineer
PRO
2
120
セマンティックレイヤー入門
ikkimiyazaki
9
3.3k
コード品質向上で得られる効果と実践的取り組み
ham0215
2
210
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
300
銀行でDevOpsを進める理由と実践例 / 20250317 Masaki Iwama
shift_evolve
1
120
一人QA時代が終わり、 QAチームが立ち上がった話
ma_cho29
0
290
OCI見積もり入門セミナー
oracle4engineer
PRO
0
120
Tirez profit de Messenger pour améliorer votre architecture
tucksaun
1
160
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
20k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
A Modern Web Designer's Workflow
chriscoyier
693
190k
BBQ
matthewcrist
88
9.5k
RailsConf 2023
tenderlove
29
1k
Writing Fast Ruby
sferik
628
61k
For a Future-Friendly Web
brad_frost
176
9.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
29
2k
Six Lessons from altMBA
skipperchong
27
3.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
A Philosophy of Restraint
colly
203
16k
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 ͝੩ௌ͋Γ͕ͱ͏ޚ࠲͍·ͨ͠