230804 Cloudfront, EBS

๋‚˜์œค๋นˆยท2023๋…„ 8์›” 4์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
31/55

๐Ÿ“Œ Cloudfront

1. Cloudfront๋ž€?

  • AWS๊ฐ€ ์ œ๊ณตํ•˜๋Š” Content Delivery Network ์„œ๋น„์Šค์ด๋‹ค.
  • S3 ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ Edge Locations์— ์บ์‹ฑํ•ด์„œ ๊ทผ์ฒ˜์˜ ์œ ์ €๊ฐ€ ์š”์ฒญ์„ ํ•  ๋•Œ๋Š” ๊ทธ ์ง€์—ญ์— ์บ์‹ฑ๋œ ๊ณณ์—์„œ ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ค„ ์ˆ˜ ์žˆ๋‹ค.
  • ์บ์‹ฑ๋œ ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋Š˜์–ด๊ฐ€๋‹ˆ ๋•Œ๋ฌธ์— ์ˆ˜ํ‰์  ํ™•์žฅ์„ฑ์— ํ•ด๋‹นํ•œ๋‹ค.
  • ์žฅ์ 
    • ํ–ฅ์ƒ๋œ ์†๋„: ์ง€๋ฆฌ์ ์œผ๋กœ ๊ฐ€๊นŒ์šด ์„œ๋ฒ„์— ์บ์‹ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด์ฒ™ ๋น ๋ฅด๋‹ค. (์˜ˆ: ๋„ทํ”Œ๋ฆญ์Šค)
    • ์•ˆ์ „: CDN ์„œ๋น„์Šค๋ฅผ ํ•ด์ฃผ๋Š” ์—…์ฒด์—์„œ ๋ฐฉํ™”๋ฒฝ์„ ์ œ๊ณตํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, DDoS ๊ณต๊ฒฉ์ด ์™€๋„ ์„œ๋ฒ„๊ฐ€ ๋ถ„์‚ฐ๋˜์–ด ์žˆ๊ณ  ์บ์‹œ๊ธฐ๋Šฅ์œผ๋กœ ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ์€ ๋Š˜์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋‹จ์ 
    • ์บ์‹œ: ์ตœ์‹  ๋™์  ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ์— ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค. (์˜ˆ: ๋‰ด์Šค)
    • ๋น„์šฉ์ด ์ถ”๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

2. Cloudfront ์‚ฌ์šฉํ•˜๊ธฐ

  • Architecture
    • Route53 โ†’ Cloudfront โ†’ S3
  • Route53๊ณผ Cloudfront๊ฐ€ ์—ฐ๊ฒฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋”์ด์ƒ ๋ฒ„ํ‚ท์ด๋ฆ„์„ ๋„๋ฉ”์ธ๋ช…๊ณผ ๋งž์ถœ ํ•„์š”๊ฐ€ ์—†๋‹ค.
  • Distribution ์ƒ์„ฑ ์‹œ CNAME๊ณผ root๋ฅผ ์žŠ์ง€๋ง์ž!

3. Invalidation ํ•ด๋ณด๊ธฐ

  • ์บ์‹ฑ์ด ๋˜์–ด์žˆ๋Š” cdn์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
    1. AWS Management Console์— ๋กœ๊ทธ์ธํ•˜๊ณ  CloudFront ์ฝ˜์†”์„ ์—ฐ๋‹ค.
    2. ๋ฌดํšจํ™”๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋Š” ๋ฐฐํฌ(distribution)๋ฅผ ์„ ํƒํ•œ๋‹ค.
    3. "Invalidations" ํƒญ์„ ํด๋ฆญํ•œ ๋‹ค์Œ "Create Invalidation" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.
    4. "Create Invalidation" ํŒจ๋„์—์„œ ๋ฌดํšจํ™”ํ•˜๋ ค๋Š” ๊ฐ์ฒด์˜ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. ์™€์ผ๋“œ์นด๋“œ(*)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ๋™์‹œ์— ๋ฌดํšจํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.
    5. "Create Invalidation"์„ ํด๋ฆญํ•˜์—ฌ ์š”์ฒญ์„ ์ œ์ถœํ•œ๋‹ค.

๐Ÿ“Œ Elastic Beanstalk

1. EBS ๋“ฑ์žฅ๋ฐฐ๊ฒฝ

3-tier ์•„ํ‚คํ…์ฒ˜

  1. Public Subnet: ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ
  2. Private Subnet: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„
  3. Data Subnet: ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„, ํŒŒ์ผ ์„œ๋ฒ„ ๋“ฑ์ด ์‚ฌ์šฉ
  • 3-tier ์•„ํ‚คํ…์ฒ˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ , ๋†’์€ ๊ฐ€์šฉ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
  • ๊ฐ ๋ ˆ์ด์–ด๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ณผ ์žฅ์•  ๊ทน๋ณต ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋˜ํ•œ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์œ ์ง€๋ณด์ˆ˜์™€ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์šฉ์ดํ•˜๋ฉฐ, ๋ณด์•ˆ์„ฑ์ด ๋†’๋‹ค.
  • ๋Œ€๋ถ€๋ถ„์˜ ์›น์•ฑ์€ ๊ฐ™์€ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๐Ÿค” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๋•Œ๋งˆ๋‹ค ๊ฐ™์€ ์ธํ”„๋ผ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋ฉด?

  • EBS๋Š” ๊ฐœ๋ฐœ์ž ๊ด€์ ์œผ๋กœ AWS๋ฅผ ์ ‘๊ทผํ•œ๋‹ค.
  • DB์„ค์ •, ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ž๋™ ์„ค์ •ํ•˜๋ฉด์„œ ์ž๋™์œผ๋กœ ์Šค์ผ€์ผ๋ง(ํ™•์žฅ์„ฑ)์„ ์ง€์›ํ•œ๋‹ค.

2. EBS๋ž€?

  • EBS(Elastic Beanstalk)๋ž€ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ ํ•„์š”ํ•œ ์ธํ”„๋ผ ์ž์›์„ ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ณ , ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ๊ณผ ์˜คํ† ์Šค์ผ€์ผ๋ง ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
  • Application (์ฝ”๋“œ)
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ, ๊ตฌ์„ฑ ๋ฐ ๊ด€๋ จ ํŒŒ์ผ
    • Elastic Beanstalk๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง€์›ํ•œ๋‹ค.
  • Environment (์ธํ”„๋ผ)
    • Amazone EC2 ์ธ์Šคํ„ด์Šค, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๋“ฑ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑ ๋ฐ ๋ฐฐํฌํ•œ ํ›„์—๋Š” ์ง€ํ‘œ, ์ด๋ฒคํŠธ, ํ™˜๊ฒฝ ์ƒํƒœ ๋“ฑ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ •๋ณด๋ฅผ Elastic Beanstalk ์ฝ˜์†”, API ๋˜๋Š” ํ†ตํ•ฉ๋œ AWS CLI ๋น„๋กฏํ•œ ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ๊ฟˆ๊พธ๋Š”

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