์ต๊ทผ์ ๋์๊ฒ ์์๋ ์ฝ์ง๊ธฐ๋ฅผ ๋ค๋ฅธ ์ฌ๋์ ๊ฒช์ง ์๊ธฐ๋ฅผ ๋ฐ๋ผ๋ฉฐ ๊ธ์ ์ ์ด๋ณธ๋ค.
๋ด๊ฐ ๋ค๋๊ณ ์๋ ํ์ฌ์์ ์ ๊ท API์๋ฒ๋ฅผ ์คํํ์๋๋ฐ, AWS CloudFront(์ดํCF)๋ฅผ ๋ถ์ฌ์ ์๋น์ค๋ฅผ ์คํํ์๋ค.
์ด API ์๋ฒ๋ ๊ฒฐ๊ณผ๊ฐ ์๋ค๋ฉด 200 OKAY ์์ผ๋ฉด 404๋ฅผ ์ฃผ๋ ๋งค์ฐ ๊ฐ๋จํ ์๋ฒ์๋ค.
๊ทธ๋ฆฌ๊ณ ์๋น์ค๋ฅผ ๋ฐฐํฌํ๊ณ ์ค์๋ฒ์์ ์ต์ข ํ ์คํธ๋ฅผ ํด๋ณด๊ณ ์๋๋ฐ, ํ ์คํธ ์๋ฒ์์ ๋ฐ์ํ์ง ์๋ ๋ฌธ์ ๊ฐ AWS CloudFront์ ์ค์ ๋ฏธ์ค๋ก ์ธํ์ฌ, ์ค ์๋ฒ์์ ๋ฐ์ํ๋๊ฒ์ด์๋ค.
์ด ๊ธ์ ๊ทธ ์ด์๋ฅผ ํด๊ฒฐ ํ ์ด์ผ๊ธฐ์ด๋ค.
๊ฒฐ๊ณผ๊ฐ ๋๋น์ ์๋๋ฐ ์ ์ค์๋ฒ๋ ๊ฒฐ๊ณผ๋ฅผ ์์ฃผ์ง?
QA์กฐ์ง์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ ธ์ผ๋, ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์๋๋ค ๋ผ๋ ์ด์ผ๊ธฐ๋ฅผ ๋ฃ๊ณ ํ์ธ์ ํด๋ณด์๋ค.
๋ถ๋ช DB์๋ ์๋ค.. ์ง์ง ์๋ค.. ์ ๋ง ์๋๋ฐ, ์ค์ ์๋ฒ์์ ์๋ต์ด ์์ค๋๊ฒ์ด์๋ค.
๋ฌด์จ ๋ฌธ์ ๊ฐ ์๊ฒผ๋๊ฐ ํ๊ณ ๋ก์ปฌ์ ๋๋ฏธ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ ํ ์คํธ๋ ํด๋ณด๊ณ ๋ค ํด๋ณด์์ง๋ง.. ํ ์คํธ ์๋ฒ์ ๊ฒฐ๊ณผ์์๋ 200 OKAY์์ง๋ง, ์ค ์๋ฒ์์๋ง 404๊ฒฐ๊ณผ๊ฐ ๋์ค๊ณ ์๋๊ฒ์ด์๋ค.
์์ฒญ๋ ๋ฉํ๋ถ๊ดด๊ฐ ๋ฐ์ํ๋ ์ด ์์ ์ ๋ฌธ๋ ๋จธ๋ฆฌ์์์ Invalidation์ ํ๋ฒ ํด๋ด์ผ๊ฒ ๋ค. ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
Invalidation์ ๋ ๋ฆฌ๊ณ , ๋ค์ ํ์ธ์ ํด๋ณด๋ ๋๋๊ฒ๋ ๊ฒฐ๊ณผ๊ฐ ์ ์์ ์ผ๋ก ๋ด๋ ค์ค๋๊ฒ์ด์๋ค.
AWS CloudFront๊ฐ Cache ํ๋ ๋ฐฉ๋ฒ
์ฒ์์ ๋ด๊ฐ ์๊ฐํ๋ Cache ์ ๋ต์ 100 ~ 3xx (HTTP ์ฑ๊ณต)์ ๋ํ ๊ฒฐ๊ณผ๋ง Cache ํ ๊ฒ์ด๋ผ๊ณ ๋ฌด์์์ ์ผ๋ก ์๊ฐ ํ๊ณ ์์๋ค.
ํ์ง๋ง, ๋ด๊ฐ ์๊ฐํ๋ ๋ฐฉ์๊ณผ ๋ฌ๋๋๊ฒ์ด ์ด ๋ฌธ์ ์ ์๋ฐ์ ์ด์๋ค.
์ผ๋จ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ง์กด์ Origin ์๋ฒ์์ ์๋ต์ ๋ชจ๋ Cache ํ๊ฒ ๋๋ค.
์ด๋ป์ ๊ฒฐ๋ก ์ ์ผ๋ก 400 ~ 5xx (์ค๋ฅ or ์คํจ) ์ญ์ Cache ๋์ด๋ฒ๋ฆฐ๋ค๋ ๋ป์ด๋ค.
์์์ ์ด์ผ๊ธฐ ํ๋๊ฒ์ฒ๋ผ, ๋ด๊ฐ ๋ง๋ API์๋ฒ๋ ์ฒ์์๋ 404์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ค๊ฐ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค๋ฉด 200์ผ๋ก ๋ฐ๋๋ ์๋ฒ๋ค.
๋น์ฐํ, ์ฒ์ ์์ฒญํ์๋ 404๋ฅผ CloudFront๊ฐ Cacheํ๊ธฐ ๋๋ฌธ์ MAX TTL ์๊ฐ์ด ์ง๋ ๋๊น์ง ๊ฒฐ๊ณผ๋ 404๋ก Cache๋๊ฒ ๋๋๊ฒ์ด๋ค.
AWS CloudFront์์ Error Status Code์ ๋ํ Cache์ ๋ต ๋ณ๊ฒฝ ๋ฐฉ๋ฒ
ํด๋น ์ด์๋ฅผ ํด๊ฒฐ ํ๊ธฐ ์ํ์ฌ, ๊ตฌ๊ธ์ ํตํด ๊ฒ์์ ํด๋ณธ ๊ฒฐ๊ณผ ์ญ์๋ ๋ง์ ์ฌ๋๋ค์ด ๋์ ๋น์ทํ ์ด์๋ก ์ฝ์ง์ ํ๊ณ ์์๋ค.
์ด์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ๋ฐฉ๋ฒ์ ์ ๋ฆฌ ํด๋ณด๋ฉด, ์ฐ์ CF์ค์ ์ผ๋ก ๋ค์ด๊ฐ๋ค.
๊ทธ๋ฆฌ๊ณ ์๋จ ํญ์ค “Error Pages” ํญ์ ์ ํํ๊ณ Create Custom Error Response๋ฅผ ํด๋ฆญํ๋ค.
๊ทธ๋ผ, ์ ์ฑ ์ ๋ณ๊ฒฝํ Error Status Code์ Cache TTL์ ์ง์ ํ ์์๊ฒ ๋๋ค.
์ด๋ ๊ฒ ๋๋ฉด Error๋ฅผ Cache ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์๋ค.
๋ง์น๋ฉฐ
์ฌ์ค ์ฒ์์ ๋๊ฒ ๋นํฉ์ค๋ฌ์ด ์ด์์๋ค. ๋ถ๋ช ๋๋น์ ๊ฒฐ๊ณผ๊ฐ ์๋๋ฐ ๊ฒฐ๊ณผ๊ฐ ์๋ค๊ณ ํ๋ ๋ฉ์ธ์ง๊ฐ ๋์ค๊ณ ์์๊ธฐ ๋๋ฌธ์ด๋ค.
ํ์ง๋ง, ์ฒ์์ ์๋ฒ์ ์ํคํ ์ฒ๋ฅผ ์ค๊ณ ํ์๋, CF์ ๋ํด ์กฐ๊ธ๋ง ๋ ๊น๊ฒ ์์๋ดค์ผ๋ฉด ์ด๋ฐ ์ด์๋ ์์์๊ฒ๊ฐ์๋ฐ, ์ด ๋ถ๋ถ์ ๋ํด์๋ ์์ผ๋ก ์กฐ๊ธ ๋ ์กฐ์ฌํด์ผ ํ ๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐ๋๋ค.
์ด์จ๋ , ๋์ ๊ฐ์ ์ด์๋ฅผ ๊ฒช๋ ์ฌ๋์ด ์ด ๊ธ์ ๋ณด๊ณ ๋ช ์พํ๊ฒ ํด๊ฒฐ ํ์ผ๋ฉด ํ๋ ๋ฐ๋จ๊ณผ ํจ๊ป ์ด ๊ธ์ ๋ง์น๊ฒ ์ต๋๋ค.
๋๊ธ