๋ฐ์ํ
HAProxy ๋?
High Availability Proxy
๋ ๊ณ ์ฑ๋ฅ์ TCP/HTTP ๋ก๋๋ฐธ๋ฐ์
L4(TCP Layer) / L7(HTTP Layer) ๋ ๋ฒจ์์ ๋์ํ๋ ์คํ์์ค ๋ก๋๋ฐธ๋ฐ์
์ญํ
- ๋ค์์ ๋ฐฑ์๋ ์๋ฒ๋ก ํธ๋ํฝ์ ๋ถ์ฐ(Load Balancing)
- ์๋ฒ ์ฅ์ ์ ์๋์ผ๋ก failover(๊ณ ๊ฐ์ฉ์ฑ)
- HTTP ์์ฒญ์ ๋ถ์ํ์ฌ ํธ๋ํฝ์ ๋ถ๊ธฐ(Reverse Proxy, ๋ผ์ฐํ )
- TLS ์ข ๋ฃ, ์ธ์ ์ ์ง, ๋ณด์ ํํฐ๋ง ๋ฑ ๊ณ ๊ธ ๊ธฐ๋ฅ
OSI 7๊ณ์ธต๊ณผ HAProxy ์์น
๊ณ์ธต | ์ค๋ช | HAProxy ๊ธฐ๋ฅ |
---|---|---|
L4(์ ์ก๊ณ์ธต, TCP) | IP + Port ๊ธฐ์ค์ผ๋ก ํธ๋ํฝ์ ๋ถ์ฐ | mode tcp |
L7(์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต, HTTP/HTTPS) | HTTP ๋ฉ์๋, ๊ฒฝ๋ก, ์ฟ ํค ๋ฑ์ ๋ถ์ํด ๋ผ์ฐํ | mode http |
๋ก๋๋ฐธ๋ฐ์ฑ ๋ฐฉ์
- HAProxy๋ ๋ค์ํ ํธ๋ํฝ ๋ถ์ฐ ์๊ณ ๋ฆฌ์ฆ ์ง์
๋ฐฉ์ | ์ค๋ช | ํน์ง |
---|---|---|
roundrobin | ์์ฐจ์ ์ผ๋ก ์๋ฒ์ ๋ถ์ฐ | ๊ธฐ๋ณธ๊ฐ |
leastconn | ์ฐ๊ฒฐ์๊ฐ ๊ฐ์ฅ ์ ์ ์๋ฒ๋ก | ์ค์๊ฐ ๋ถํ ์กฐ์ |
source | ํด๋ผ์ด์ธํธ IP ํด์ ๊ธฐ๋ฐ ๋ถ์ฐ | ์ธ์ ๊ณ ์ ์ ์ฌ |
url, url_param | ์์ฒญ ๊ฒฝ๋ก/ํ๋ผ๋ฏธํฐ ๊ธฐ์ค ๋ถ์ฐ | CDN, ์บ์ ์๋ฒ ๋ฑ |
Sticky Session
Sticky Session = ์ธ์ ์ง์์ฑ(Session Affinity)
ํด๋ผ์ด์ธํธ๊ฐ ์ฒ์ ์ฐ๊ฒฐ๋ ์๋ฒ์ ๊ณ์ ์ฐ๊ฒฐ๋๊ฒ ํ๋ ๋ฐฉ์
์ผ๋ฐ์ ์ผ๋ก ๋ก๊ทธ์ธ, ์ฅ๋ฐ๊ตฌ๋ ๋ฑ ์ธ์
์ ๋ณด๊ฐ ํน์ ์๋ฒ์ ์ ์ฅ๋๋ ๊ตฌ์กฐ์์๋ sticky๊ฐ ํ์ํจ
๊ตฌํ๋ฐฉ๋ฒ
- ์ฟ ํค ๊ธฐ๋ฐ: ํด๋ผ์ด์ธํธ ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ์๋ณ ์ฟ ํค ์ฝ์
- IP ๊ธฐ๋ฐ: ํด๋ผ์ด์ธํธ IP๋ก ํด์ ๊ณ์ฐํ์ฌ ๊ฐ์ ์๋ฒ๋ก
- sticky-table ๊ธฐ๋ฐ: ํค-๊ฐ ๊ธฐ๋ฐ ํ ์ด๋ธ๋ก ํด๋ผ์ด์ธํธ ์ํ ์ ์ง
์ฃผ์์
- L7(HTTP) sticky๋ SSL ์ข ๋ฃ ํ์ -> ์ธ์ฆ์(pem) ๋ฐ๋์ ํ์
- L4(TCP) sticky๋ ์ฟ ํค ์์ด๋ ๊ฐ๋ฅ
728x90
๋ฐ์ํ
'์ ๋ฌด ํ์ ์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Oracle] Pivot(ํผ๋ฒ) ํจ์ (1) | 2024.12.24 |
---|---|
[Network] L3, ๋ฐฑ๋ณธ, ACL ? (0) | 2024.06.20 |
[Security/Web] XSS(Cross-Site Scripting) (0) | 2024.06.07 |
[๋คํธ์ํฌ] ๊ณต์ธ IP vs ์ฌ์ค IP โ (0) | 2024.06.05 |
WAS-T ? (0) | 2024.06.05 |