
ElastiCache
- RDS๊ฐ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฐฉ์
- ElastiCache๋ ์บ์ฑ ๊ธฐ์ ์ธ Redis ๋๋ Memcached๋ฅผ ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ค๋ค.
- ์บ์(Cache) : ๋งค์ฐ ๋์ ์ฑ๋ฅ๊ณผ ์งง์ ์ง์ฐ ์๊ฐ์ ๊ฐ์ง ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์บ์๋ ์ฝ๊ธฐ ์ง์ฝ์ ์ธ ์ํฌ๋ก๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ก๋๋ฅผ ์ค์ฌ์ค๋ค.
- ์ผ๋ฐ์ ์ธ ์ฟผ๋ฆฌ๋ ์บ์์ ์ ์ฅ๋๋ฏ๋ก, ๋งค๋ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฟผ๋ฆฌํ์ง ์์๋ ๋๋ค.
- ์บ์๋ง ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํ ์ ์๋ค.
- ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ๋ฅผ ElastiCache์ ์ ์ฅํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ ๋น์ ์ฅํ์ผ๋ก ํ ์ ์๊ฒ ๋์์ค๋ค.
- RDS์ ๋์ผํ ์ด์ ์ด ์๊ธฐ ๋๋ฌธ์, AWS๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด์์ฒด์ ๋ฅผ ์ ์ง ๊ด๋ฆฌํ ์ ์๋ค.
- ํจ์น, ์ต์ ํ, ์ค์ , ๊ตฌ์ฑ, ๋ชจ๋ํฐ๋ง, ์ฅ์ ๋ณต๊ตฌ, ๋ฐฑ์
๋ฑ...
- Amazon ElastiCache๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ ํ๋ฆฌ์ผ์ด์
์ ์ฝ๋๋ฅผ ๋ง์ด ๋ฐ๊ฟ์ผ ํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฟผ๋ฆฌํ๊ธฐ ์ ์ ์บ์๋ฅผ ์ฟผ๋ฆฌํ๋๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๋ณ๊ฒฝํด์ผ ํ๋ค.
ElastiCache Solution Architecture - DB Cache
- Amazon ElastiCache, RDS ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ ๋, ์ ํ๋ฆฌ์ผ์ด์
์ ElastiCache๋ฅผ ์ฟผ๋ฆฌํ์ฌ ์ฟผ๋ฆฌ๊ฐ ์ด๋ฏธ ๋ฐ์ํ๋์ง ํ์ธํ๋ค.
- ์ด๋ฏธ ๋ฐ์ํ์ฌ ElastiCache์ ์ ์ฅ๋์ด ์๋ค๋ฉด, ์บ์ ํํธ๋ผ๊ณ ํ๋ค. ๋ฐ๋ก ElastiCache์์ ๋ต์ ๊ฐ์ ธ์จ๋ค. ์ฟผ๋ฆฌ๋ฅผ ์ํํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ด๋ํ๋ ์๊ฐ์ด ์ ์ฝ๋๋ค.
- ์บ์ ๋ฏธ์ค๊ฐ ๋ฐ์ํ๋ฉด, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค.
- ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ ๋ค๋ฅธ ์ธ์คํด์ค์์ ๊ฐ์ ์ฟผ๋ฆฌ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์บ์์ ๋ค์ ์ธ ์ ์๊ณ ๋ค์์ ๋์ผํ ์ฟผ๋ฆฌ๊ฐ ์ผ์ด๋๋ฉด ์บ์ ํํธ๊ฐ ๋๋ค.
- RDS ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ก๋๋ฅผ ์ค์ด๋๋ฐ ๋์์ด ๋๊ณ ๋ฐ์ดํฐ๋ฅผ ์บ์์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์บ์ ๋ฌดํจํ ์ ๋ต์ด ์์ด์ผํ๋ค. ๊ฐ์ฅ ์ต์ ๋ฐ์ดํฐ๋ง ์ฌ์ฉํ์ฌ์ผ ํ๋ค.
ElastiCache Solution Architecture - User Session Store
- ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ ๋น์ ์ฅ์ผ๋ก ๋ง๋ค๊ธฐ์ํด ์ฌ์ฉ์ ์ธ์
์ ์ ์ฅํ ๋ ์ฆ, ์ฌ์ฉ์๊ฐ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์
์ ๋ก๊ทธ์ธํ๋ฉด, ์ ํ๋ฆฌ์ผ์ด์
์ด ์ธ์
๋ฐ์ดํฐ๋ฅผ Amazon ElastiCache์ ์ด๋ค.
- ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค๋ฅธ ์ธ์คํด์ค๋ก ๋ฆฌ๋๋ ์
๋๋ฉด, ์ ํ๋ฆฌ์ผ์ด์
์ ๊ทธ ์ธ์
์ ์ธ์
์บ์๋ฅผ Amazon ElastiCache์์ ์ง์ ๊ฒ์ํ ์ ์์ผ๋ฏ๋ก, ์ฌ์ฉ์๋ ๋ค์ ๋ก๊ทธ์ธํ ํ์ ์์ด ์ฌ์ ํ ๋ก๊ทธ์ธ ์ํ๊ฐ ๋๋ค.
- ์ฆ, ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ ๋น์ ์ฅํ์ผ๋ก ๋ง๋๋ ๊ฒ์ด๋ค.
Redis vs Memcached
Redis
- ์๋ ์ฅ์ ์กฐ์น ๊ธฐ๋ฅ์ด ์๋ ๋ค์ค AZ๊ฐ ์๋ค.
- ์ฝ๊ธฐ๋ฅผ ํ์ฅํ๊ณ ๊ณ ๊ฐ์ฉ์ฑ์ ๊ฐ์ง๊ธฐ ์ํ ์ฝ๊ธฐ ๋ณต์ ๋ณธ์ด ์๋ค.
- AOF ์ง์์ฑ์ ์ด์ฉํ ๋ฐ์ดํฐ ๋ด๊ตฌ์ฑ์ด ์๋ค.
- ๋ฐฑ์
๋ฐ ๋ณต์ ๊ธฐ๋ฅ์ด ์๋ค.
- ์บ์๋ก์, ์ธํธ ๋ฐ ์ ๋ ฌ๋ ์ธํธ๋ฅผ ์ง์ํ๋ค.
- Redis๋ ๋ณต์ ๋๋ ์บ์, ๊ฐ์ฉ์ฑ๊ณผ ๋ด๊ตฌ์ฑ์ด ๋ฐ์ด๋๋ค.
Memcached
- ๋ฐ์ดํฐ ๋ถํ ์ ์ํด ๋
ธ๋๋ฅผ ์ฌ์ฉํ๊ณ ์ด๋ฅผ ์ค๋ฉ์ด๋ผ๊ณ ํ๋ค.
- ๊ณ ๊ฐ์ฉ์ฑ์ด ์๊ณ ๋ณต์ ๊ฐ ์ผ์ด๋์ง ์์ผ๋ฉฐ ์๊ตฌ ์บ์๊ฐ ์๋๋ฉฐ ๋ฐฑ์
๋ฐ ๋ณต์๋ ์๋ค.
- ๋ฉํฐ์ค๋ ๋ ์ํคํ
์ฒ์ด๋ค.
- ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ๋ชจ๋ ์ค๋ฉ์ ํตํด ์๋ํ๋ค.
- ๋ถ์ฐ๋์ด ์๋ ์์ํ ์บ์๋ก ๋ฐ์ดํฐ๊ฐ ์์ค๋์ด๋ ๊ด์ฐฎ๊ณ ๊ณ ๊ฐ์ฉ์ฑ, ๋ฐฑ์
๋ฐ ๋ณต์๊ธฐ๋ฅ์ด ์๋ค.
Cache Security
- ElastiCache๋ Redis์์๋ง IAM์ธ์ฆ์ ์ง์ํ๋ฉฐ, ๋๋จธ์ง ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
- ElastiCache์์ IAM ์ ์ฑ
์ ์ ์ํ๋ฉด AWS API ์์ค ๋ณด์์๋ง ์ฌ์ฉ๋๋ค.
- Redis AUTH
- Redis Cluster๋ฅผ ๋ง๋ค ๋, ๋น๋ฐ๋ฒํธ์ ํ ํฐ์ ์ค์ ํ ์ ์๋ค.
- ์บ์ ์์ค์ ์ถ๊ฐ ๋ณด์ ์์ค์ ์ ๊ณตํ๋ค. (๋ณด์ ๊ทธ๋ฃน์ ์ถ๊ฐ)
- SSL ์ ์ก ์ค ์ํธํ๋ ์ง์ํ๋ค.
- Memcached
- SASL ๊ธฐ๋ฐ ์น์ธ์ ์ ๊ณตํ๋ค.
ElastiCache ์ฌ์ฉ ํจํด
- Lazy Loading(์ง์ฐ ๋ก๋ฉ) : ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์บ์๋๊ณ ๋ฐ์ดํฐ๊ฐ ์บ์์์ ์ง์ฒด๋ ์ ์๋ค.
- ์ ํ๋ฆฌ์ผ์ด์
์ ์บ์ ํํธ๊ฐ ์๋ ๊ฒฝ์ฐ, ElastiCache๋ ์บ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
- ์บ์ ๋ฏธ์ค์ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ๊ณ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์บ์์ ์ฐ๊ฒ ๋๋ค.
- ์บ์ ํํธ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ๋ฐ์ดํฐ๋ฅผ Amazon ElastiCache์ ๋ก๋ํ๋ ์ ๋ต
- Write Through : ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๊ธฐ๋ก๋ ๋๋ง๋ค ์บ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์
๋ฐ์ดํธํ๋ค. ๋ฐ์ดํฐ๊ฐ ์ง์ฒด๋์ง ์๋๋ค.
- Session Store : ์ ์ง ์๊ฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํด ์ธ์
์ ๋ง๋ฃํ ์ ์๋ค.