๐ŸŠ ElastiCache

Belugaยท2024๋…„ 5์›” 24์ผ

AWS ์ž„์‹œ

๋ชฉ๋ก ๋ณด๊ธฐ
30/35
post-thumbnail

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 : ์œ ์ง€ ์‹œ๊ฐ„ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด ์„ธ์…˜์„ ๋งŒ๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค.
profile
๊ฐœ๋ฐœ์ž

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