Amazon CloudFront
๐ก ์ฐธ๊ณ :
- Amazon CloudFront๋ ๋ฌด์์ ๋๊น?
- [AWS] CloudFront ์ ๋ํ์ฌ
- AWS SAA-03 Practice Exams (Udemy)
regional edge cache(๋ฆฌ์ ์ฃ์ง ์บ์)
๋ฆฌ์ ์ฃ์ง ์บ์(REC; Regional Edge Cace)๋, ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ์ ์์ผ๋ฉฐ ๊ธ๋ก๋ฒ ํ๊ฒ ๋ฐฐํฌ๋ CloudFront ์์น(locations)๋ฅผ ๋งํ๋ค. Origin1๊ณผ Edge Location2 ์ฌ์ด์ ์์นํด ์๋ค.
์ ๊ณตํ ์ฝํ ์ธ ๊ฐ ์บ์๊ฐ ์ ์ง๋ ์ ๋๋ก ์ธ๊ธฐ ์์ง ์์๋ ์บ์๋ ๋ ์ค๋ซ๋์ ๋จ์ผ๋ฉฐ, Edge Location ๋ณด๋ค ์บ์ ์คํ ๋ฆฌ์ง ์ฉ๋์ด ํฌ๋ค. ์ฆ, ๋ฆฌ์ ์ฃ์ง ์บ์๋ ๋ชจ๋ ์ ํ์ ์ฝํ ์ธ โ ํนํ ์๊ฐ์ด ์ง๋๋ฉด์ ์ ์ฐจ ์ฌ์ฉ๋์ง ์๊ฒ ๋๋ ์ฝํ ์ธ ์ ์ ์ฉํ๋ค. ์ด๋ฌํ ์ฝํ ์ธ ์ ์๋ก๋ ๋์์, ์ฌ์ง ๋๋ ์ํธ์ํฌ์ ๊ฐ์ ์ฌ์ฉ์ ์์ฑ ์ฝํ ์ธ , ์ ํ ์ฌ์ง ๋ฐ ๋์์๊ณผ ๊ฐ์ ์ ์ ์๊ฑฐ๋ ์์ฐ, ๊ฐ์๊ธฐ ์ฌ์ฉ์๊ฐ ๋ง์์ง ์ ์๋ ๋ด์ค ๋ฐ ์ด๋ฒคํธ ๊ด๋ จ ์ฝํ ์ธ ๋ฑ์ด ์๋ค.
๋ฆฌ์ ์ฃ์ง ์บ์ ์๋ ๋ฐฉ์
CloudFront์์ ๋ฆฌ์ ์์ง ์บ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์
๊ฐ์ฒด์ ์ฌ์ฉ๋ฅ ์ด ๋จ์ด์ง๋ฉด, ๊ฐ๋ณ Edge Location์ด ์ด๋ฌํ ๊ฐ์ฒด๋ฅผ ์ ๊ฑฐํ๊ณ , ํ๋ณด๋ ๊ณต๊ฐ์ ์ฌ์ฉ๋ฅ ์ด ๋์ ์ฝํ ์ธ ๊ฐ ์ฌ์ฉํ๋๋ก ํ๋ค. ํ์ง๋ง, ์์์ ์ธ๊ธํ๋ฏ์ด, ๋ฆฌ์ ์ฃ์ง ์บ์๋ ๊ฐ๋ณ Edge Location๋ณด๋ค ์บ์ ๊ณต๊ฐ์ด ๋ ํฌ๋ค. ์ฆ, ๊ฐ์ฒด๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฆฌ์ ์ฃ์ง ์บ์ ์์น์ ๋ ์ค๋ ์บ์ ์ํ๋ก ์ ์ง๋๋ค.
๋ฐ๋ผ์, ๋ ๋ง์ ์ฝํ ์ธ ๋ฅผ ์ต์ข ์ฌ์ฉ์๋ก ๋ถํฐ ๊ฐ๊น์ด ๊ฑฐ๋ฆฌ๊ฐ ๋๋๋ก ์ ์งํ ์ ์๋ค. CloudFront๊ฐ Origin์ผ๋ก ๋์๊ฐ์ผ ํ ํ์์ฑ์ด ์ค์ด๋ค๊ณ , ์ต์ข ์ฌ์ฉ์๋ฅผ ์ํ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ๋ ํฅ์๋๋ค.
๋ฆฌ์ ์ฃ์ง ์บ์๋ฅผ ํตํด ๋ฐฐํฌ๋๋ ์ ํ์ ์ฝํ ์ธ :
- ์ ํ ์ฌ์ง ๋ฑ์ e-commerce assets
- ์ฌ์ฉ์ ์ ์ ๋น๋์ค(User-generated videos)
- style sheets, JavaScript ํ์ผ ๋ฑ์ ์ ์ ์ฝํ ์ธ
๋ฆฌ์ ์ฃ์ง ์บ์๋ฅผ ํตํด ๋ฐฐํฌ๋์ง ์๋ ์ ํ์ ์ฝํ ์ธ :
- ์์ฒญ ์ ๊ฒฐ์ ๋ ๋์ ์ฝํ
์ธ (๋ชจ๋ ํค๋๋ฅผ ์ ๋ฌํ๋๋ก ๊ตฌ์ฑ๋ cache-behavior)
(*์๋ฌธ: Dynamic content, as determined at request time (cache-behavior configured to forward all headers)) - ํ๋ก์ ๋ฉ์๋ PUT/POST/PATCH/OPTIONS/DELETE๋ origin์ผ๋ก ๋ฐ๋ก ์ด๋ํ๋ค
(*์๋ฌธ: Proxy methods PUT/POST/PATCH/OPTIONS/DELETE go directly to the origin)
โ ์ง์ญ ์ฃ์ง ์บ์๋ฅผ ํตํด ํ๋ก์ํ์ง ์๋๋ค. - Origin์ด S3 ๋ฒํท์ด๊ณ , ์์ฒญ์ ์ต์ REC๊ฐ S3 ๋ฒํท๊ณผ ๋์ผํ ๋ฆฌ์ ์ ์๋ ๊ฒฝ์ฐ, Edge Location์ด REC๋ฅผ ๊ฑด๋ ๋ฐ๊ณ S3 ๋ฒํท์ผ๋ก ์ง์ ์ด๋ํ๋ค.
CloudFront ๋์ ์์
- ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ก์ธ์ค ํ๊ณ , ํ๋ ์ด์์ ๊ฐ์ฒด์ ๋ํ ์์ฒญ์ ๋ณด๋ธ๋ค.
- DNS๋ ์ฌ์ฉ์์๊ฒ ์ ํฉํ CloudFront POPs(Edge Location)3์ผ๋ก ๋ผ์ฐํ ํ๋ค.4
- CloudFront๋ ์บ์์ ์์ฒญ๋ ๊ฐ์ฒด๊ฐ ์๋์ง ํ์ธํ๋ค.
- ๊ฐ์ฒด๊ฐ ์บ์์ ์์ผ๋ฉด, ์ด๊ฒ์ ์ฌ์ฉ์์๊ฒ ๋ฐํํ๋ค.
- ๊ฐ์ฒด๊ฐ ์บ์์ ์์ผ๋ฉด, ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด Region Edge Cache(REC)์ ์บ์๊ฐ ์๋์ง ์์ฒญํ๋ค.
- REC์๋ ์์ผ๋ฉด CloudFront๋ Origin server(ex. S3 ๋ฒํท ๋๋ HTTP ์๋ฒ)๋ก ์์ฒญ์ ์ ๋ฌํ๋ค.
- origin server๋
Origin > REC > Edge Location > CloudFront๊ฐ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ
์์์ ๋ฐ๋๋ค. (์ด ๋, ์บ์๋ ์ถ๊ฐ๋๋ค)- REC์ ์บ์๊ฐ ์๋ค๋ฉด, REC๋ ์ฝํ ์ธ ๋ฅผ ์์ฒญํ Edge Location์ผ๋ก ๋ฐํํ๋ค.
- Origin์ผ๋ก๋ถํฐ REC์ ์ฝํ ์ธ ์ ์ฒซ ๋ฒ์งธ byte๊ฐ ๋์ฐฉํ๋ ์ฆ์, Edge Location์ ์ด๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ฐํํ๋ค.
- Edge Location์ ๋์ค์ ์ํด ์ด ์ฝํ ์ธ ์บ์๋ฅผ ์ ์ฅํ๋ค.
์ดํ ์ฝํ ์ธ ๋ TTL๋์ Edge Location์ ์บ์ฑ๋์ด ๋ฎ์ ์ง์ฐ ์๊ฐ(low-latency)์ผ๋ก ์ฝํ ์ธ ๋ฅผ ์์ฒญํ ์ ์๋ค.
-
Origin: Origin server; ์ฝํ ์ธ ๊ฐ ์์นํ๊ณ ์๋ ๊ทผ์์ ๋งํ๋ค. (ex. EC2 Instance, S3 Bucket, On-Premiseโฆ)ย ↩
-
Edge Location: CloudFront ์๋น์ค๊ฐ ์ฝํ ์ธ ๋ฅผ ์บ์ฑํ๊ณ , Client์๊ฒ ์ ๊ณตํ๋ ์ง์ ํน์ ์บ์ ์๋ฒ๋ฅผ ๋งํ๋ค. POP(Point of Presence)๋ผ๊ณ ๋ ํ๋ค.ย ↩
-
CloudFront POPs: Point of Presence; ์ํธ ์ ์ ์์น. Edge Location์ด๋ผ๊ณ ๋ ํจ.ย ↩
-
์ฌ์ฉ์์๊ฒ ์ต์ ์ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ POP; ์ผ๋ฐ์ ์ผ๋ก ์ง์ฐ ์๊ฐ๊ณผ ๊ด๋ จํด ๊ฐ์ฅ ๊ฐ๊น์ด POP๋ฅผ ๋งํ๋ฉฐ, ์์ฒญ์ Edge Location์ผ๋ก ๋ผ์ฐํ ํ๋ค.ย ↩
๋๊ธ๋จ๊ธฐ๊ธฐ