๐ CDN์ด๋
CDN์ Contents Delivery Network์ ์ฝ์๋ก ์นํ์ด์ง, ์ฌ์ง, ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ธฐ์กด ์๋ฒ๊ฐ ์๋๋ฐ ์ CDN์ด ํ์ํ ๊น?
CDN์ ํ์์ฑ
ํด๋ผ์ด์ธํธ๊ฐ ํน์ ํ์ด์ง๋ API๋ฅผ ์์ฒญํ๋ฉด ์๋ฒ๋ ๋ฐ์ ์์ฒญ์ ์๋ง์ ์๋ต์ ๋ณด๋ด์ฃผ๋ ๊ฒ์ด ๊ธฐ๋ณธ์ ์ธ ๋คํธ์ํฌ ํ๋ฆ์ด๋ค. ๊ฒฐ๊ตญ์ ํ๋์ ์์ฒญ๋น ํ๋์ ์๋ต์ ๋ฐ๊ฒ ๋๋๋ฐ, ๋ง์ฝ ์๋น์ค๊ฐ ์์ฒญ๋๊ฒ ์ปค์ก๋ค๊ณ ๊ฐ์ ํ๋ฉด, ์ ์ธ๊ณ ์์ฒ๋ง๋ช ์ด ๋์์ ์์ฒญ์ ํ๋ ๊ฒฝ์ฐ์ ์๋ฒ๋ ์์ฒ๋ง๊ฐ์ ์์ฒญ์ ๋ฐ๋ผ ์๋ต์ ํด์ค์ผํ๋ ์ํฉ์ด ๋๋ค. ์ด๋ ๊ฒ ๋ ๊ฒฝ์ฐ ์๋ฒ์ ์ ์ฅ๊ณผ ํด๋ผ์ด์ธํธ ์ ์ฅ์ ๋ฐ๋ผ ๊ฐ๊ฐ์ ๋ฌธ์ ๊ฐ ์กด์ฌํ๊ฒ ๋๋ค.
๋จผ์ ํด๋ผ์ด์ธํธ ์ ์ฅ์์ ๋ฌผ๋ฆฌ์ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ฅธ ์๋ต์๋๊ฐ ๋๋ฆฌ๊ฒ ๋๋ค. ์์ฆ ๋คํธ์ํฌ๊ฐ ์ผ๋ง๋ ๋น ๋ฅธ๋ฐ ๋ฌผ๋ฆฌ์ ๊ฑฐ๋ฆฌ๊ฐ ์ค์ํ๋๊ณ ํ ์๋ ์์ง๋ง, ๋น์ฅ ์ธ๊ตญ ์ฌ์ดํธ์ ์ ์์์ ๋๋ฆฌ๊ฒ ํ๋ฉด์ด ๋จ๊ณ , ์ฌ์ง์ด ๋จ์ง ์๋ ๋ฌธ์ ๋ฅผ ๋ณผ ์ ์๋ค. ๋คํธ์ํฌ ์ก์์ ๊ณผ์ ์ ๊ฑฐ์น ๋ ์ฐ๋ฆฌ๋๋ผ์ ๊ฐ์ด ๋คํธ์ํฌ ์๋๊ฐ ๋น ๋ฅด๋ค๋ฉด ๋ฌธ์ ๊ฐ ์์ง๋ง, ์ฐ๋ฆฌ๊ฐ ์ ์ํ๋ ๋ชจ๋ ์ฌ์ดํธ ์ง์ญ์ด ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์, ์๋ต์๋์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค. ๋งํ์๋ฉด ํญ์ ๋ถ์ฐ์ ์๋ ๋ณธ์ ์์ ์์ธ๋ก ๋ฐฐ๋ฌ์ ์ํฌ ๋ ์๊ธธ ์ ์๋ ๋ฐฐ๋ฌ ๋ฌธ์ ์ ๊ฐ๋ค.
๋๋ฒ์งธ๋ก ์๋ฒ์ ์ ์ฅ์์ ๋ณด๋ฉด ์ ๋ง ๋ง์ ์์ฒญ์ ๋ฐ์์ ์ฒ๋ฆฌํ๋ค๊ณ ํ์ ๋, ๋น์ฐ ์๋ฒ ์์ฒด์ ๋ถ๋ด์ด ๋์ด๋๊ฒ ๋๋ค. ํ๋์ ์๋ฆฌ์ฌ๊ฐ ์๋ฆฌํ๋ ๊ฒ๋ณด๋ค ์ฌ๋ฌ ์๋ฆฌ์ฌ๋ฅผ ๊ณ ์ฉํด ํ๊บผ๋ฒ์ ๋ง์ ์ฃผ๋ฌธ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํ๋ ๊ฒ์ด ํจ์ฌ ํจ์จ์ ์ด๊ณ ํผ์์ ๋ชจ๋ ์ฃผ๋ฌธ์ ๋ค ์ฒ๋ฆฌํ๋ ๊ธฐ์กด ์๋ฆฌ์ฌ์ ๋ถ๋ด์ ์ค์ฌ์ค ์ ์๋ค. ๊ธฐ์กด ์๋ฒ๋ฅผ ๋ณธ์ , CDN์ ์ฒด์ธ์ ์ผ๋ก ์๊ฐํด, ๋ณธ์ ์ ์๋ฆฌ์ฌ ์๋ฅผ ์ ๊ฒ (๋์ญํญ์ ์ ๊ฒ) ์ ์งํ ์ ์์ด ๋น์ฉ์ ์ค์ผ ์ ์๋ ์ฅ์ ์ ๊ฐ์ง๋ค.
์ด๋ฌํ ๋๊ฐ์ง ์ธก๋ฉด์ ๊ณ ๋ฏผ์ ํ๋ฒ์ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด CDN์ด๋ค. ํด๋ผ์ด์ธํธ ์ ์ฅ์์๋ ์ค์ ์์นํ ์๋ฒ๊น์ง ์์ฒญ์ ์ ๋ฌํ์ง ์๊ณ , ํ์ฌ ์์นํ ์ง์ญ์ CDN์ ์ด์ฉํด ๋น ๋ฅด๊ฒ ํ์ํ ์ปจํ ์ธ ๋ฅผ ๋ฐ์์ฌ ์ ์๊ณ , ์๋ฒ ์ ์ฅ์์๋ ์ง์ญ๋ง๋ค ์๋ฒ๋ฅผ ๋ ์ผ๋ก์จ ์ปจํ ์ธ ์์ฒญ์ ๋ํ ์๋ต์ ํ์ง ์์๋ ๋๋๊น ๋ถ๋ด์ด ์ค๊ฒ ๋๋ค. ์ด๋ ๊ฒ ์ง์ญ๋ง๋ค ๋ ์๋ฒ๋ฅผ Edge๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, ๋ชจ๋ ์๋ฒ์ ๊ธฐ๋ฅ์ ๋ค ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋๋ผ ์นํ์ด์ง, ์ด๋ฏธ์ง, ๋์์๊ณผ ๊ฐ์ ์ปจํ ์ธ ์ ๋ํด ์บ์ฑํ๊ณ ์๋ค.
[Cloudflare์ CDN ์ฌ์ง]
๊ทธ๋ ๋ค๋ฉด ํด๋ผ์ด์ธํธ๋ ๋ถ๋ช ๊ฐ์ ๋๋ฉ์ธ ์ฃผ์๋ก ์์ฒญ์ ๋ณด๋ด๊ฒ ๋ ํ ๋ฐ, ์ด๋ค ๊ฒ์ ์ง์ ์๋ฒ์ ์์ฒญ์ด ๊ฐ์ผํ๊ณ , ์ด๋ค ๊ฒ์ CDN์์ ์ฒ๋ฆฌํ ์ ์์ํ ๋ฐ ์ด๋ฌํ ์์ฒญ์ ๋ํ ๋ถ๋ฆฌ๋ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋์ด์ ธ ์๋๊ฑธ๊น?
๋ค์ ๋์ค๋ DNS์ ๋ฐ์ ๋ GSLB
ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ๋ณด๋ด๊ณ ์์ฒญ์ ์๋ง์ ์๋ต์ ๋ฐ๊ธฐ ์ํด์๋ ํด๋น ์๋ฒ์ IP์ฃผ์๋ฅผ ๊ฐ์ ธ์์ผํ๋ค. ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ ๋๋ฉ์ธ ์ฃผ์๋ฅผ IP์ฃผ์๋ก ๋งคํํด์ฃผ๋ ๊ฒ์ DNS (Domain Namve System)๊ฐ ๋ด๋นํด์ฃผ๋ ๊ฒ์ ์ ๋ฒ ๊ธ์ ์์ฑํ๋ฉฐ ์ ์ ์์๋ค. ์ฌ๊ธฐ์ CDN์ด ์ถ๊ฐ๋๋ฉด์ ๋จ์ํ ๋๋ฉ์ธ์ ์๋ฒ์ IP์ฃผ์๋ฅผ ์ฐพ๋๊ฒ ์๋๋ผ ํด๋น ์์ฒญ์ด ์บ์ฑ๋์ด ์๋ ์ฝํ ์ธ ์ผ ๊ฒฝ์ฐ๋ ์ง์ญ๋ณ๋ก ๊ฐ๊น์ด CDN์ ์์ฒญํ ์ ์๊ฒ ์ฐ๊ฒฐํ๋ ์ผ์ด ํ์ํ๊ฒ ๋์๋ค.
DNS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฐ ๋ณต์กํ ์ผ์ ํด์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก GSLB (Global Server Load Banlancing) ์ด๋ค. GSLB๋ ์์ฒญํ๋ ์ฌ์ฉ์์ ์์น์ ๋ฐ๋ผ ์๋ง์ ์๋ฒ๋ฅผ ์ฐพ์์ ์ฐ๊ฒฐํด์ฃผ๋๋ฐ, ์ด๋ ์๋ง์ ์๋ฒ๋ GSLB์ Load Balancing์ด๋ ๋จ์ด๊ฐ ๋ด๊ฒจ์๋ฏ, ํ์ฌ ์์น์ ๊ฐ๊น์ด ๊ฑฐ๋ฆฌ์ ์๋ฒ๋ง์ ๊ณ ๋ คํ๋ ๊ฒ์ด ์๋๋ผ ํด๋น ์๋ฒ์ ํ์ฌ ์ฌ์ฉ์๊ฐ ๋ชฐ๋ฆด ๊ฒฝ์ฐ ๋ฑ์ ์๋ฒ์ ์ํ๋ฅผ ๊ณ ๋ คํด์ ์ ์ ํ ์๋ฒ๋ก ์ฐ๊ฒฐํด์ค๋ค.
์ด๋ ๊ฒ ์๋ฒ ์ํ๊น์ง ๊ณ ๋ คํ๊ธฐ ๋๋ฌธ์ DDoS์ ๊ฐ์ ๊ณต๊ฒฉ์ผ๋ก ๊ฐ์๊ธฐ ๋ง์ ์์ฒญ์ด ๋ชฐ๋ ค์ ํด๋น ์๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ ๊ฒฝ์ฐ์, CDN์ผ๋ก ์ฐ๊ฒฐํด๋์๋ค๋ฉด ๊ทธ ์ง์ญ์ CDN๋ง ๊ณต๊ฒฉ๋นํ๊ณ , ์ดํ ๊ฐ์ ์ง์ญ์ ์์ฒญ์ ๋ค๋ฅธ ์๋ฒ๋ก ์๋์ผ๋ก ์์ฒญํ๊ฒ ์ฐ๊ฒฐํด์ค์ ์๋น์ค ์์ฒด์ ์ฅ์ ๋์์๋ ๊ฐ์ ์ ๊ฐ์ง ์ ์๋ค.
์บ์ฑ๊ณผ TTL
๋ฐ์ดํฐ๋ฅผ ์ผ๋ง๋ ์ค๋ ์กด์ฌํ๋๋ก ํ ์ง์ ๋ํ ์ฉ์ด๋ TTL (Time To Live)๋ก ์๋ฒ์ ์บ์ฑํ ๋ฐ์ดํฐ์ ์ ํจ์๊ฐ์ ์ ํ๋ ๊ฒ์ผ๋ก ๋ง์น React-query์์ cache-Time์ ์ ํ๊ณ , ์๊ฐ์ด ์ง๋๋ฉด ์๋กญ๊ฒ ์์ฒญ์ ๋ณด๋ด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ๊ณผ ๊ฐ๋ค. ์ด๋ฌํ TTL์ค์ ์ ๋ธ๋ผ์ฐ์ ์์ ํ ๊ฒฝ์ฐ์๋ HTTPํค๋์ Cache-Control๋ถ๋ถ์ ํตํด ์ง์ ํด์ค ์ ์๊ณ , CDN์ ์ด์ฉํ๋ค๋ฉด ํด๋น ์
์ฒด์์ ์๋ง์ TTL์ ์๋ํํด์ฃผ๊ฑฐ๋ ๊ฐ๊ฐ ์บ์ฑ๋ ๋ฐ์ดํฐ์ ์๋ง๊ฒ ์ค์ ์ด ๊ฐ๋ฅํ๋ค.
๋ง์น๋ฉฐ
๊ฐ๋จํ๊ฒ CDN์ด ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ์ ์ธ์ง, ์ด๋ป๊ฒ CDN์ด ๋์ํ ์ ์๋์ง ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ดค๋ค. ์ ๋ฆฌํ๋ฉด์ Edge ์ปดํจํ ์ ๋ํด์ ์น๊ฐ๋ฐ์์ ๋ง์ ๊ด์ฌ์ ๊ฐ์ง๊ณ , CDN ์๋ฒ์์ ํ์ด์ง๋ฅผ ๋ง๋ค ์ ์๊ฒ ํ๋ ค๋ ๋ ธ๋ ฅ์ด ๋ฐ์ ๋๊ณ ์๋ ๊ฒ์ ์๋กญ๊ฒ ์ ์ ์์๋ค. ๊ทธ๋์ ์กฐ๊ธ์ฉ Edge ์ปดํจํ ์ ๋ํด์๋ ๊ณต๋ถํ๋ฉด์ ํด๋น ๋ด์ฉ์ ์ถ๊ฐ์ ์ผ๋ก ์์ฑํด ๊ธ์ ์ ๋ฐ์ดํธํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
[์ฐธ๊ณ ์๋ฃ]
- Cloudfare์ CDN ์๊ฐ: https://www.cloudflare.com/ko-kr/learning/cdn/what-is-a-cdn/
- ์น์๋น์ค์ ํ์! CDN์ด ๋ญ๊ฐ์? (์ํํ ์ฝ๋ฉ์ฌ์ ): https://www.youtube.com/watch?v=_kcoeK0ITkQ
- Time To Live (TTL) (imperva): https://www.imperva.com/learn/performance/time-to-live-ttl/