Cloudfront
- Edge Location์ ํ์ฉํด์ย ์ ์ /๋์ ์ฝํ
์ธ ๋ฅผ ์ ์ ๋ค์๊ฒ ๋ณด๋ค ๋น ๋ฅด๊ฒ ์ ๋ฌํด์ฃผ๋ ์๋น์ค
- Edge Location : ์ฝํ ์ธ ๊ฐ ์บ์(Cache)๋๊ณ ์ ์ ์๊ฒ ์ ๊ณตํ๋ ๊ณณ
- ์๋ฆฌ : Cloudfront๋ ์ฌ๋ฌ ๋๋ผ์ Edge๋ฅผ ๋ณด์ ํ๊ณ ์์ย ยป
- ๋ง์ฝ ์์ฒญ ๋ฐ์ ์ปจํ ์ธ ๊ฐ Edge Location์ ์๋ค๋ฉดย ยป ๋ฐ๋ก ์ ์ ๋ค์๊ฒ ์ฝํ ์ธ ๋ฅผ ์ ๊ณต
- ๋ง์ฝ ์์ฒญ ๋ฐ์ ์ปจํ
์ธ ๊ฐ Edge Location์ ์๋ค๋ฉดย ยป ๊ฐ์ฅ ๊ฐ๊น์ด Edge์ ์ ๊ทผํ์ฌ, origin์์ ์ ๋ณด๋ฅผ ์ ๊ณต๋ฐ๊ณ , TTL(Time to Live)๋งํผ Edge Location์ ์บ์ฑย ยป ์ ์ ๋ค์๊ฒ ์ฝํ
์ธ ๋ฅผ ์ ๊ณต
- Edge์ Origin ์ฌ์ด์ ๋ฐ์ดํฐ ์ ์ก์ ์ง์์ ์ธ ์ฐ๊ฒฐ์ ์ ์งํ๊ธฐ์ ์ฝํ ์ธ ์ ์ก ์๋์ ํฅ์์ด ์ฆ๊ฐ๋ฉ๋๋ค.
- origin (ex. AWS service(EC2 Instance, S3 Bucket), On-Premise etcโฆ)
- static contents : S3 (์บ์ฑ์ผ๋ก ์ ๊ทผ ์๋ ์ต์ ํ)
- dynamic contents : ๋คํธ์ํฌ ์ต์ ํ, ์ฐ๊ฒฐ ์ ์ง, Gzip ์์ถ ๋ฑ์ ์ฌ์ฉ
Content Delivery Network(CDN)
- ๋ง์ฝ ํน์ ์น ํ์ด์ง๋ฅผ ์๋ฒ์ ์์ฒญํ ๋ ํ์ฌ ์ด๋์์ ๋ถ๋ ค์ง๋์ง, ์น ํ์ด์ง๋ฅผ ๋ถ๋ฌ์ค๋ ค๊ณ ํ๋ ์ฌ์ฉ์๊ฐ ์ด๋์ ๊ฑฐ์ฃผํ๋์ง์ ๊ทผ๊ฑฐํ์ฌ ์ฝํ ์ธ ์น ํ์ด์ง์ ์ ๋ฌํด์ฃผ๋ ๋ถ์ฐ ๋คํธ์ํฌ
- ๋๋ถ๋ถ CDN์ ๋ณดํต ์ ์ /๋์ ์ปจํ
์ธ ๋ฅผ ๋ถ๋ฆฌํด์ ์ฌ์ฉ
- ๋์ ์ปจํ ์ธ ๋ App Server์์ ๊ตฌ๋๋๊ณ , ๊ทธ ์์ ์ ์ ์ปจํ ์ธ ๋ CDN Server๋ฅผ ํตํด End-Point๋ฅผ ๊ตฌ๋ถ์ง์ด ์ปจํ ์ธ ๋ฅผ ์ ๋ฌ
- ์ ์ ์ปจํ
์ธ ํ์ผ
- html, css, js, image, etcโฆ (์๋ฒ(EC2)๊ฐ ํ์ํ์ง ์์, ์์ฃผ ๋ฐ๋์ง ์๋ ์ ์ ํ์ผ๋ค)
- ์ฌ๋ฌ CDN Server์ ์ฌ๋ ค ์ฌ์ฉ์๊ฐ ์ข ๋ ๋น ๋ฅด๊ฒ ์ฝํ ์ธ ๋ฅผ ์ ๋ฌ๋ฐ์ ์ ์๊ฒ ํด์ค๋ค.
- origin : S3
- S3์ ๋ฃ์ด ํธ์คํ ํ๋๊ฒ์ด ํจ์ฌย ์ ๋ ดํ๊ฒ ๋จนํ๋ค.
- ์์ฒ, ์๋ง๋ช ์ฌ๋๋ค์๊ฒ ํ๊บผ๋ฒ์ ์๋น์ค ๋์ด๋ ์๊ด ์์ ์ ๋๋ก ๊ฒฌ๊ณ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์คํ ์ค์ผ์ผ๋ง์ด๋ ๋ก๋๋ฐธ๋ฐ์ ์์ ์ด ํ์์๋ค.
- ๋์ ์ปจํ
์ธ
- ์๋ฒ๊ฐ ํ์ํ ์ฝํ ์ธ (Node.js ์น์๋ฒ, PHP, Go, Python ๋ฑ ์๋ฒ์์ ๋งค๋ฒ ๋ฐ๋๋ ์ปจํ ์ธ , DB์กฐํ ๋ฑ ex. ๋ก๊ทธ์ธ, ๊ฒ์ํ)
- ์์ฃผ ๋ณ๊ฒฝ๋๋ ์ ๋ณด, ์ฌ์ฉ์๊ฐ ๋ณด๋ธ ์์ฒญ์ ํฌํจ๋ ์์ธ์ ๋ฐ๋ผ ๊ทธ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋๋ ์ปจํ ์ธ
- ์ ์ ์บ์ฑํ๋ค๋ฉด TTL ์๊ฐ ๋์ ์ฌ์ฉ์๋ ์๋กญ๊ฒ ์ถ๊ฐ/์์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์๊ฒ ๋๋ค.
Example
์๋ฒ(EC2)์ ์ฐ์ฐ์ด ํ์ํ ๋์ ์ฝํ ์ธ ์ ์์ฒญ์ EC2๋ก ํฅํ๊ฒ Distribution ์ฒ๋ฆฌํ๊ณ ์๋ฒ๊ฐ ํ์ํ์ง ์์ ์ ์ ์ฝํ ์ธ ๋ S3 ๋ฒํท ๋ฑ์ผ๋ก Distribution ์ฒ๋ฆฌํ๋ ๊ตฌ์ฑ์ ๊ณ ๋ คํด๋ณผ ์ ์๋ค.
Recommend
ํน๋ณํ ์ด์ ๊ฐ ์๋ ํ Cloudfront๋ฅผ App Server ์๋จ์ ๋ฐฐ์นํ์ฌ ๋ณด์ ๋ฐ ์ฑ๋ฅ ์ฆ๊ฐ๋ฅผ ๊ถ์ฅํ๋ค. ๋ํ Cloudfront Traffic์ ๊ฒฝ์ฐ ์ฌ์ฉ๋์ ๋ฐ๋ผ ๋น์ฉ์ ์ ๊ฐํ๊ธฐ๋ฅผ ๋ฐ๋๋ค. (CloudFront์ ๊ฒฝ์ฐ ์ฌ์ฉ๋์ ๋ฐ๋ผ ๋น์ฉ์ ํ ์ธ ๋ฐ์ ์ ์๋ค.)
reference
- https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-S3-%EC%A0%95%EC%A0%81-%EC%9B%B9-%EC%82%AC%EC%9D%B4%ED%8A%B8-%ED%98%B8%EC%8A%A4%ED%8C%85-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%84%A4%EC%A0%95Route-53
- https://medium.com/wizpace/aws-cloudfront%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EB%8F%99%EC%A0%81-%EC%BB%A8%ED%85%90%EC%B8%A0-%EC%A0%84%EC%86%A1%ED%95%98%EA%B8%B0-dynamic-content-delivery-c249da4b269b
- https://overcome-the-limits.tistory.com/378
- https://blog.leedoing.com/35
- https://bosungtea9416.tistory.com/entry/AWS-CloudFront
- https://velog.io/@ragnarok_code/Amazon-CloudFront%EB%9E%80
Comments powered by Disqus.