AWS a to z - CloudFront

NTbellยท2025๋…„ 2์›” 19์ผ
0

CloudFrontโ˜๏ธ


๐Ÿš€ AWS CloudFront๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๊ธ€๋กœ๋ฒŒ CDN(Content Delivery Network) ์„œ๋น„์Šค
์›น์‚ฌ์ดํŠธ, ๋™์˜์ƒ ์ŠคํŠธ๋ฆฌ๋ฐ, API ์„œ๋น„์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค

์บ์‹œ ๋ฌดํšจํ™” (Cache Invalidation)

  • ์‹ ๊ทœ ๋ฐฐํฌ ๋˜๋Š” ์ž˜๋ชป๋œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์‹œ ์บ์‹œ ๋ฌดํšจํ™”๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐ ๊ฐ€๋Šฅ
  • TTL(Time to Live)์ด ์ง€๋‚˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์บ์‹œ๋œ ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ โ†’ ์ฆ‰๊ฐ์ ์ธ ์˜ค๋ฆฌ์ง„ ๋ณ€๊ฒฝ ๋ฐ˜์˜ ํ•„์š” ์‹œ ์‚ฌ์šฉ
  • ์ „์ฒด ๋˜๋Š” ๋ถ€๋ถ„์ ์œผ๋กœ ์บ์‹œ ์ดˆ๊ธฐํ™” ๊ฐ€๋Šฅ
  • /ํด๋”/* ๋˜๋Š” * ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ํŒŒ์ผ๋งŒ ๋ฌดํšจํ™” ๊ฐ€๋Šฅ
  • ๋ฌดํšจํ™”๋ฅผ ์‹คํ–‰ํ•˜๋ฉด TTL๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ์ฆ‰์‹œ ์บ์‹œ ์‚ญ์ œ ๊ฐ€๋Šฅ

โš  ์ฃผ์˜์‚ฌํ•ญ

  • ์บ์‹ฑ๋œ ํŒŒ์ผ ์š”์ฒญ์ด ๋งŽ์œผ๋ฉด CloudFront ๋น„์šฉ ๋ฐœ์ƒ
  • TTL์ด ์งง๊ฑฐ๋‚˜ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํŒŒ์ผ์˜ ๊ฒฝ์šฐ ์บ์‹œ ์ œ๊ฑฐ ํ›„ ์˜ค๋ฆฌ์ง„ ์š”์ฒญ์ด ๋งŽ์•„์ง€๋ฉด์„œ ๋น„์šฉ ์ฆ๊ฐ€
  • ์บ์‹œ ๋ฌดํšจํ™” ์‹œ ์ „์ฒด * ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋น„์ถ”์ฒœ!
    • ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„์— ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ๋ถ€ํ•˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ โ†’ ์„œ๋น„์Šค ์•ˆ์ •์„ฑ ์ €ํ•˜ ๐Ÿ“‰
    • ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„ ์š”์ฒญ ์ฆ๊ฐ€๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก ๋น„์šฉ ๋ฐ ์œ ์ง€ ๋น„์šฉ ์ƒ์Šน ๐Ÿ’ฐ

Content Delivery Network (CDN)

  • ์ฝ๊ธฐ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
  • ์—ฃ์ง€(Edge) ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œ(์ž„์‹œ ์ €์žฅ)ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ํ–ฅ์ƒ
  • AWS๋Š” 216๊ฐœ ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜ ์œ ์ง€
  • DDoS ๊ณต๊ฒฉ ๋ฐฉ์–ด ๊ธฐ๋Šฅ ์ œ๊ณต
  • AWS Shield ๋ฐ WAF(Web Application Firewall)์™€ ์—ฐ๋™ ๊ฐ€๋Šฅ

์˜ค๋ฆฌ์ง„ (Origin)

CloudFront์—์„œ ์˜ค๋ฆฌ์ง„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ:

1๏ธโƒฃ S3

  • ์ •์  ํŒŒ์ผ ๋ฐฐํฌ ๋ฐ ์—ฃ์ง€ ์บ์‹ฑ ๊ฐ€๋Šฅ
  • CloudFront Origin Access Identity(OAI)๋กœ ๋ณด์•ˆ ํ–ฅ์ƒ ๊ฐ€๋Šฅ ๐Ÿ”’
  • CloudFront๋ฅผ S3 ํŒŒ์ผ ์—…๋กœ๋“œ์˜ ์ž…๊ตฌ๋กœ ํ™œ์šฉ ๊ฐ€๋Šฅ

2๏ธโƒฃ Custom Origin (HTTP)

  • Application Load Balancer(ALB)
  • EC2 ์ธ์Šคํ„ด์Šค
  • S3 ์ •์  ์›น์‚ฌ์ดํŠธ (์ผ๋ฐ˜ S3์™€ ๋‹ค๋ฆ„!)
  • ๊ธฐํƒ€ HTTP ๋ฐฑ์—”๋“œ

๐Ÿ’ก CloudFront ์—ฃ์ง€์™€ ์˜ค๋ฆฌ์ง„ ๊ฐ„ ํ†ต์‹ ์€ ํ”„๋ผ์ด๋น— ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง

CloudFront vs S3 ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ (Cross-Region Replication)

โœ… CloudFront

  • ๊ธ€๋กœ๋ฒŒ ์—ฃ์ง€ ๋„คํŠธ์›Œํฌ ํ™œ์šฉ
  • TTL์ด ์„ค์ •๋œ ์ƒํƒœ๋กœ ์บ์‹ฑ
  • ์ •์  ์ฝ˜ํ…์ธ ๋ฅผ ์ „ ์„ธ๊ณ„ ์–ด๋””์„œ๋‚˜ ๋น ๋ฅด๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์ ํ•ฉ

โœ… S3 Cross-Region Replication (CRR)

  • ๋ฆฌ์ „๋ณ„๋กœ ๊ฐœ๋ณ„ ์„ค์ • ํ•„์š”
  • ํŒŒ์ผ์„ ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธ
  • ์ฝ๊ธฐ ์ „์šฉ (์˜ค๋ฆฌ์ง„์—์„œ๋งŒ ํŒŒ์ผ ์ˆ˜์ • ๊ฐ€๋Šฅ)
  • ํŠน์ • ๋ฆฌ์ „ ๋‚ด์—์„œ ๋‚ฎ์€ ์ง€์—ฐ์œจ๋กœ ๋™์  ์ฝ˜ํ…์ธ  ์ œ๊ณตํ•  ๋•Œ ์œ ์šฉ

Geo Location (์ง€๋ฆฌ์  ์ ‘๊ทผ ์ œํ•œ)

CloudFront ๋ฐฐํฌ(Distribution)์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๋Š” ๊ธฐ๋Šฅ

  • Allowlist(ํ—ˆ์šฉ ๋ฆฌ์ŠคํŠธ) โœ…
    • ํŠน์ • ๊ตญ๊ฐ€์—์„œ๋งŒ ํ•ด๋‹น ๋ฐฐํฌ ์ ‘๊ทผ ๊ฐ€๋Šฅ
  • Blocklist(์ฐจ๋‹จ ๋ฆฌ์ŠคํŠธ) โŒ
    • ํŠน์ • ๊ตญ๊ฐ€์—์„œ ํ•ด๋‹น ๋ฐฐํฌ ์ ‘๊ทผ ๋ถˆ๊ฐ€

๐Ÿ“Œ ๊ตญ๊ฐ€ ๊ตฌ๋ถ„ ๋ฐฉ๋ฒ•: ์„œ๋“œํŒŒํ‹ฐ Geo-IP DB ์ด์šฉ
๐Ÿ“Œ ์ €์ž‘๊ถŒ ๋ณดํ˜ธ ๋ฐ ๊ตญ๊ฐ€๋ณ„ ์ฝ˜ํ…์ธ  ์ œํ•œ์„ ์œ„ํ•ด ์‚ฌ์šฉ

๐Ÿ’ฐ ๊ฐ€๊ฒฉ ์ •์ฑ…

  1. ์ „ ์„ธ๊ณ„ CloudFront ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜๋ณ„๋กœ ๊ฐ€๊ฒฉ ์ฐจ๋“ฑ ์ ์šฉ
  2. ์—ฃ์ง€์—์„œ์˜ ์บ์‹ฑ ๋น„์šฉ์€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ โœ–๏ธ
  3. ์—ฃ์ง€์—์„œ ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ ๋น„์šฉ ๋ฐœ์ƒ โ†’ ๋งŽ์ด ์กฐํšŒ๋ ์ˆ˜๋ก ๋น„์šฉ ์ฆ๊ฐ€ ๐Ÿ“ˆ

๐Ÿ’ก ๋น„์šฉ ์ ˆ๊ฐ์„ ์œ„ํ•œ ๋ฐฉ๋ฒ•:

  • ์‚ฌ์šฉํ•˜๋Š” ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜ ์ˆ˜ ์ค„์ด๊ธฐ
  • Price Class ์„ค์ • ํ™œ์šฉ (์‚ฌ์šฉํ•  ๋ฆฌ์ „ ์„ ํƒ ๊ฐ€๋Šฅ)

๐Ÿ’ฒ Price Class ์˜ต์…˜

  • Price Class All โ†’ ๋ชจ๋“  ๋ฆฌ์ „ ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜ ์‚ฌ์šฉ (๋น„์šฉ ์ตœ๋Œ“๊ฐ’)
  • Price Class 200 โ†’ ๋Œ€๋ถ€๋ถ„์˜ ๋ฆฌ์ „์„ ์‚ฌ์šฉํ•˜๋‚˜, ๊ฐ€์žฅ ๋น„์‹ผ ๋ฆฌ์ „ ์ œ์™ธ
  • Price Class 100 โ†’ ๊ฐ€์žฅ ์ €๋ ดํ•œ ๋ฆฌ์ „๋งŒ ์‚ฌ์šฉ (๋น„์šฉ ์ ˆ๊ฐ ๊ฐ€๋Šฅ)
profile
์ตœ์ข…๋นˆ์˜ ์ปดํ“จํ„ฐ๊ต์‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด