๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

 

CDN ์ด๋ž€? (Contents Delivery Network)

- ์ง€๋ฆฌ์ , ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋–จ์–ด์ ธ์žˆ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ปจํ…์ธ  ์ œ๊ณต์ž์˜ ์ปจํ…์ธ ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ 

- "์„ธ๊ณ„์— ๋„๋ฆฌ ํผ์ง„ ์ค‘๊ณ„์„œ๋ฒ„๋“ค์˜ ์ง‘ํ•ฉ"

- ๋Œ€์šฉ๋Ÿ‰ ๋˜๋Š” ์‚ฌ์šฉ์ž์˜ ์žฆ์€ ์š”์ฒญ์ด ์žˆ๋Š” ์ปจํ…์ธ ๋“ค์„ Cache ์„œ๋ฒ„์— ๋ถ„์‚ฐ ๋ฐฐ์น˜ํ•˜์—ฌ ์ปจํ…์ธ ์˜ ์ „์†ก ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ ์ง‘์ค‘ & ๋ณ‘๋ชฉํ˜„์ƒ ๋ฐ ๋ฐ์ดํ„ฐ ์†์‹ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ์ปจํ…์ธ  ์ „์†ก ๊ธฐ์ˆ 

- CDN์€ ์„œ๋ฒ„์™€ ์‚ฌ์šฉ์ž ์‚ฌ์ด์˜ ๋ฌผ๋ฆฌ์ ์ธ ๊ฑฐ๋ฆฌ๋ฅผ ์ค„์—ฌ ์ฝ˜ํ…์ธ  ๋กœ๋”ฉ์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•œ๋‹ค. CDN์€ ๊ฐ ์ง€์—ญ์— ์บ์‹œ ์„œ๋ฒ„(PoP, Points of presence)๋ฅผ ๋ถ„์‚ฐ ๋ฐฐ์น˜ํ•ด, ๊ทผ์ ‘ํ•œ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ์›๋ณธ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ์บ์‹œ ์„œ๋ฒ„๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

 

 

 

CDN์ด ํ•„์š”ํ•œ ์ด์œ 

S3 ์™€ ๊ฐ™์€ "์ผ๋ฐ˜์ ์ธ ์ •์  ํ˜ธ์ŠคํŒ…"์„ ํ†ตํ•ด ์›น ์ปจํ…์ธ ๋ฅผ ์ด์šฉ์ž๋“ค์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ๊ตญ์— ํ•ด๋‹น ์ •์  ์„œ๋ฒ„๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์œ ๋Ÿฝ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋จผ ๋‚˜๋ผ์˜ ์ด์šฉ์ž๋“ค์—๊ฒŒ๋Š” ํ•œ๊ตญ์— ๊ฑฐ์ฃผํ•˜๋Š” ์ด์šฉ์ž๋“ค์— ๋น„ํ•ด ๋น ๋ฅธ ๋กœ๋”ฉ ์†๋„๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์–ด๋ ต๋‹ค. "๋ฌผ๋ฆฌ์ ์ธ ๊ฑฐ๋ฆฌ"๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ปจํ…์ธ ๋ฅผ ๋กœ๋“œํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ ๋˜ํ•œ ์ฆ๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด ๋น„ํšจ์œจ์„ ์—†์• ๊ธฐ ์œ„ํ•ด, ์ „์„ธ๊ณ„์— ๋ฟŒ๋ ค์ ธ ์žˆ๋Š” ๊ฐ์ข… ์ค‘๊ณ„์„œ๋ฒ„๋“ค, ์ฆ‰ CDN์ด ์›น ์ž์›์„ ๋Œ€์‹  ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ •์  ์„œ๋ฒ„์— ๋นŒ๋“œ๋œ ๋ฒˆ๋“ค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๊ณผ ๊ฐ์ข… ์ •์  ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜์—ฌ ๋ฐฐํฌ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, ๊ทธ ์™ธ์—๋„ ์„œ๋น„์Šค ํ’ˆ์งˆ์„ ํ–ฅ์ƒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ธํ”„๋ผ ์ž‘์—…๋“ค์ด ์กด์žฌํ•œ๋‹ค.

 

์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์šด์˜ํ•˜๊ฑฐ๋‚˜ ์›น ์‚ฌ์ดํŠธ์—์„œ ๊ทธ๋ž˜ํ”ฝ ์ด๋ฏธ์ง€, ๋™์˜์ƒ ํŒŒ์ผ ๋“ฑ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋ฉด CDN ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. CDN์€ ๋™์˜์ƒ ์ŠคํŠธ๋ฆฌ๋ฐ์ด๋‚˜ ์˜จ๋ผ์ธ ๊ฒŒ์ž„, ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ „์†ก, ๊ทธ๋ฆฌ๊ณ  ํ•ด์ƒ๋„๊ฐ€ ๋†’์•„ ์šฉ๋Ÿ‰์ด ํฐ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค๋ฃจ๋Š” ์‡ผํ•‘๋ชฐ, ํฌํ„ธ ์‚ฌ์ดํŠธ ๋“ฑ์—์„œ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต์„ ์œ„ํ•ด ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํŠน์ • ๊ตญ๊ฐ€๋‚˜ ์ง€์—ญ๋งŒ์„ ํƒ€๊นƒ์œผ๋กœ ํ•˜๋Š” ์›น ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•œ๋‹ค๋ฉด CDN ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ CDN์„ ์ด์šฉํ•˜๋ฉด ์˜คํžˆ๋ ค ๋ถˆํ•„์š”ํ•œ ์—ฐ๊ฒฐ ์ง€์ ์ด ๋Š˜์–ด๋‚˜ ์›น ์‚ฌ์ดํŠธ์˜ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

CDN์˜ ์ด์ 

1. ์˜จ๋ผ์ธ ์ปจํ…์ธ ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ „์†กํ•  ์ˆ˜ ์žˆ์Œ

2. ๊ฐ€์šฉ์„ฑ, ์‹œ์Šคํ…œ์„ ์ •์ƒ์ ์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ •๋„๊ฐ€ ๋†’์•„์ง

3. ์™ธ๋ถ€ ๊ณต๊ฒฉ ๋ฐฉ์ง€

 

 

 

CDN์˜ ์›๋ฆฌ

์‚ฌ์šฉ์ž์™€ ๊ฐ€๊นŒ์šด ๊ณณ์— ์œ„์น˜ํ•œ Cache Server์— Content๋ฅผ ์ €์žฅ(์บ์‹ฑ)ํ•ด๋‘์—ˆ๋‹ค๊ฐ€ ์š”์ฒญ ์‹œ์— Cache Server๊ฐ€ ์‘๋‹ต์„ ์ฃผ๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. ์ด ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌผ๋ฆฌ์ ์ธ ๊ฑฐ๋ฆฌ์˜ ์ œ์•ฝ์—†์ด ๋‚˜์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด Cache Server์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅธ ๋ฆฌ์†Œ์Šค ๋‹ค์šด๋กœ๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

1.  (์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋””๋ฐ”์ด์Šค์ธ PC๋‚˜ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์˜) ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์ฃผ์†Œ์— ์ ‘๊ทผํ•˜์—ฌ HTML, ์ด๋ฏธ์ง€, CSS, JavaScript ํŒŒ์ผ ๋“ฑ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ฝ˜ํ…์ธ ๋ฅผ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์š”์ฒญ

 

2. DNS๋Š” ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ๊ฐ ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜๋ฉด End User์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜์— ์ตœ์ ์œผ๋กœ ๋ฐฐ์น˜๋œ CDN ์„œ๋ฒ„์— End User๋ฅผ ๋งคํ•‘ํ•˜๊ณ , ํ•ด๋‹น ์„œ๋ฒ„๋Š” ์š”์ฒญ๋œ ํŒŒ์ผ์˜ ์บ์‹ฑ๋œ ๋ฒ„์ „์œผ๋กœ ์‘๋‹ต(์ „์†ก). 

 

3. ์„œ๋ฒ„๊ฐ€ ํŒŒ์ผ์„ ์ฐพ๋Š” ๋ฐ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ CDN ํ”Œ๋žซํผ์˜ ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ์ฐพ์€ ๋‹ค์Œ End User์—๊ฒŒ ์‘๋‹ต์„ ์ „์†ก. ์ฝ˜ํ…์ธ ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์ฝ˜ํ…์ธ ๊ฐ€ ์˜ค๋ž˜๋œ ๊ฒฝ์šฐ, CDN์€ ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์š”์ฒญ ํ”„๋ก์‹œ๋กœ ์ž‘๋™ํ•˜์—ฌ ํ–ฅํ›„ ์š”์ฒญ์— ๋Œ€ํ•ด ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋„๋ก Patch๋œ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅ

 

 

 

์ฐธ๊ณ ) ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ CDN 

ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ CDN์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์•„๋ž˜๋งํฌ์—์„œ ์‰ฝ๊ฒŒ CDN ๋งํฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

https://cdnjs.com/libraries

 

Libraries - cdnjs - The #1 free and open source CDN built to make life easier for developers

cdnjs offers a large collection of popular libraries for JavaScript, CSS and more. Search the full collection and start using them on your website. - Simple. Fast. Reliable. Content delivery at its finest. cdnjs is a free and open-source CDN service truste

cdnjs.com

์•„๋งˆ์กด์˜ "ํด๋ผ์šฐ๋“œ ํ”„๋ก ํŠธ"๋ฅผ ์ด์šฉํ•ด ๋‚˜๋งŒ์˜ CDN์„ ๊ตฌ์ถ•ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

 


Reference

https://www.akamai.com/ko/our-thinking/cdn/what-is-a-cdn

https://library.gabia.com/contents/infrahosting/8985/

https://codingmoondoll.tistory.com/entry/Cloud-Front-%EB%9E%80

https://ijbgo.tistory.com/32 

๋ฐ˜์‘ํ˜•

'๐ŸŒ• Front > ๐Ÿ“š Theory' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ปดํŒŒ์ผ, ์ธํ„ฐํ”„๋ฆฌํ„ฐ, JIT  (0) 2021.01.27