๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป๐Ÿ“

[250103] AWS(EC2, RDS, S3, Redis)

by _silver 2025. 1. 3.

1. EC2 (Amazon Elastic Compute Cloud)

์‚ฌ์šฉ ๋ชฉ์ :

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋กœ ์‚ฌ์šฉํ•˜์—ฌ Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰.
  • REST API ์„œ๋ฒ„, WebSocket ์„œ๋ฒ„ ๋“ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๋กœ์ง์„ ์ฒ˜๋ฆฌ.

์—ญํ• :

  1. ์‚ฌ์šฉ์ž ์š”์ฒญ ์ฒ˜๋ฆฌ:
    • ํด๋ผ์ด์–ธํŠธ(์›น, ๋ชจ๋ฐ”์ผ ์•ฑ)์—์„œ ๋ณด๋‚ด๋Š” ์š”์ฒญ์„ ๋ฐ›์•„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์บ์‹ฑ, AI ๋ชจ๋ธ ๋“ฑ์„ ํ˜ธ์ถœํ•˜์—ฌ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜.
    • ์˜ˆ: ์‚ฌ์šฉ์ž๊ฐ€ ์Œ์‹ ์ถ”์ฒœ์„ ์š”์ฒญํ•˜๋ฉด EC2์—์„œ AI ๋ชจ๋ธ ํ˜ธ์ถœ ๋ฐ ์ถ”์ฒœ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜.
  2. AI์™€ ํ†ต์‹ :
    • OpenAI API ๋˜๋Š” Hugging Face ๋ชจ๋ธ์„ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ์ž ์งˆ๋ฌธ ์ฒ˜๋ฆฌ.
  3. ์„œ๋ฒ„ ํ™•์žฅ:
    • ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€ ์‹œ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ž๋™์œผ๋กœ ํ™•์žฅ(Auto Scaling).

2. RDS (Relational Database Service, PostgreSQL)

์‚ฌ์šฉ ๋ชฉ์ :

  • PostgreSQL ๊ด€๋ฆฌํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž ์ •๋ณด, ์Œ์‹ ์„ ํ˜ธ ๋ฐ์ดํ„ฐ, ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ €์žฅ.

์—ญํ• :

  1. ํšŒ์› ๊ด€๋ฆฌ:
    • ํšŒ์›๊ฐ€์ž… ์‹œ ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ(Bcrypt ํ•ด์‹œ), ๋‚˜์ด, ์„ฑ๋ณ„ ๋“ฑ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ.
    • ๋กœ๊ทธ์ธ ์‹œ RDS์—์„œ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ์กฐํšŒ.
  2. ์Œ์‹ ์„ ํ˜ธ ๋ฐ์ดํ„ฐ:
    • ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ(๋น„๊ฑด, ๋งต๊ธฐ ๋‹จ๊ณ„ ๋“ฑ)๋ฅผ ์ €์žฅ.
    • ์Œ์‹ ์ถ”์ฒœ ์‹œ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•„ํ„ฐ๋ง.
  3. ๋Œ€ํ™” ํžˆ์Šคํ† ๋ฆฌ ์ €์žฅ:
    • AI์™€ ๋‚˜๋ˆˆ ๋Œ€ํ™” ๊ธฐ๋ก์„ ์ €์žฅ(6๊ฐœ์›” ํ›„ ์ž๋™ ์‚ญ์ œ).
  4. ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ:
    • PostgreSQL์˜ ํŠธ๋žœ์žญ์…˜๊ณผ ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์„ ํ™œ์šฉํ•ด ๋ฐ์ดํ„ฐ ์‹ ๋ขฐ์„ฑ ํ™•๋ณด.

3. S3 (Simple Storage Service)

์‚ฌ์šฉ ๋ชฉ์ :

  • ์ด๋ฏธ์ง€ ๋ฐ ์ •์  ํŒŒ์ผ ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉ.

์—ญํ• :

  1. AI ์ด๋ฏธ์ง€ ์ƒ์„ฑ ๊ฒฐ๊ณผ ์ €์žฅ:
    • AI๊ฐ€ ์ƒ์„ฑํ•œ ์Œ์‹ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ URL ํ˜•ํƒœ๋กœ ์ œ๊ณต.
    • ์˜ˆ: ์Œ์‹ ์ถ”์ฒœ ๊ฒฐ๊ณผ์— ๊ด€๋ จ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ˜ํ™˜.
  2. ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์ด๋ฏธ์ง€:
    • ์‚ฌ์šฉ์ž ์—…๋กœ๋“œ ์ด๋ฏธ์ง€ ์ €์žฅ ๋ฐ ์ ‘๊ทผ.
  3. ์ •์  ํŒŒ์ผ ๊ด€๋ฆฌ:
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ •์  ์ž์›(์˜ˆ: HTML, CSS, JavaScript ํŒŒ์ผ)์„ ์ €์žฅ.
  4. ํ™•์žฅ์„ฑ ๋ฐ ์•ˆ์ •์„ฑ:
    • ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์ ธ๋„ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋ฌด์ œํ•œ ํ™•์žฅ ๊ฐ€๋Šฅ.

4. ElastiCache (Redis ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค)

์‚ฌ์šฉ ๋ชฉ์ :

  • Redis๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ , ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ.

์—ญํ• :

  1. ๋ง›์ง‘ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์บ์‹ฑ:
    • ์‚ฌ์šฉ์ž๊ฐ€ ๋ง›์ง‘์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ Redis์— ์บ์‹ฑํ•˜์—ฌ ๋ฐ˜๋ณต ์š”์ฒญ ์‹œ DB ๋ถ€ํ•˜ ๊ฐ์†Œ ๋ฐ ๋น ๋ฅธ ์‘๋‹ต ์ œ๊ณต.
    • TTL(Time-To-Live)์„ ์„ค์ •ํ•ด ์ผ์ • ์‹œ๊ฐ„ ํ›„ ์ž๋™ ์‚ญ์ œ.
  2. ์ฑ„ํŒ… ์ƒํƒœ ๊ด€๋ฆฌ:
    • ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…๋ฐฉ ๋‚ด ์œ ์ € ์ƒํƒœ(์ ‘์† ์—ฌ๋ถ€, ๋ฉ”์‹œ์ง€ ๊ธฐ๋ก)๋ฅผ ์ €์žฅ.
    • Redis์˜ Pub/Sub์„ ํ™œ์šฉํ•ด ์ฑ„ํŒ…๋ฐฉ ์œ ์ € ๋ชฉ๋ก์„ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ.
  3. ์„ธ์…˜ ๊ด€๋ฆฌ:
    • Spring Security์™€ Redis๋ฅผ ํ†ตํ•ฉํ•ด ๋กœ๊ทธ์ธ ์„ธ์…˜์„ ๊ด€๋ฆฌ.
    • JWT ํ† ํฐ๊ณผ ํ•จ๊ป˜ Redis์— ์„ธ์…˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์—ฌ ๋น ๋ฅธ ์ธ์ฆ ์ฒ˜๋ฆฌ.
  4. ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์บ์‹ฑ:
    • AI ์ถ”์ฒœ ๊ฒฐ๊ณผ์™€ ๋Œ€ํ™” ์ƒํƒœ๋ฅผ Redis์— ์ €์žฅํ•ด ๋Œ€ํ™” ํ๋ฆ„์„ ์œ ์ง€.

๊ฐ ์„œ๋น„์Šค๊ฐ€ ๊ธฐ๋Šฅ๋ณ„๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹

AWS ์„œ๋น„์Šค์‚ฌ์šฉ ์‚ฌ๋ก€

EC2 Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ์‹คํ–‰, ์‚ฌ์šฉ์ž ์š”์ฒญ ์ฒ˜๋ฆฌ, OpenAI API ํ˜ธ์ถœ, WebSocket ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ์ฒ˜๋ฆฌ.
RDS (PostgreSQL) ํšŒ์› ์ •๋ณด ์ €์žฅ(์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ), ์Œ์‹ ์„ ํ˜ธ ๋ฐ์ดํ„ฐ ์ €์žฅ, ๋Œ€ํ™” ํžˆ์Šคํ† ๋ฆฌ ์ €์žฅ ๋ฐ ์ž๋™ ์‚ญ์ œ(6๊ฐœ์›”).
S3 ์Œ์‹ ์ถ”์ฒœ ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€ ์ €์žฅ, ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์ €์žฅ, ์ •์  ๋ฆฌ์†Œ์Šค(CSS, JS) ๊ด€๋ฆฌ.
ElastiCache (Redis) ๋ง›์ง‘ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์บ์‹ฑ, ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ์ƒํƒœ ๊ด€๋ฆฌ, ์„ธ์…˜ ์ •๋ณด ์ €์žฅ, AI ์ถ”์ฒœ ๊ฒฐ๊ณผ ์บ์‹ฑ ๋ฐ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ.

์™œ ์ด ์„œ๋น„์Šค ๊ตฌ์„ฑ์ด ์ ํ•ฉํ•œ๊ฐ€?

  1. EC2:
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ํ™•์žฅ(Auto Scaling) ๊ฐ€๋Šฅ.
    • ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€ ์‹œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ตœ์†Œํ™”.
  2. RDS (PostgreSQL):
    • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ๊ณผ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ด€๊ณ„๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌ.
    • JSON ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•ด ์œ ์—ฐํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณต.
  3. S3:
    • ๋Œ€๊ทœ๋ชจ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์™€ ์ •์  ํŒŒ์ผ ์ €์žฅ์— ์ ํ•ฉํ•˜๋ฉฐ, ๋น„์šฉ ํšจ์œจ์ .
    • ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์ด ๋น ๋ฅด๊ณ  ์•ˆ์ •์ .
  4. ElastiCache (Redis):
    • ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ .
    • DB ๋ถ€ํ•˜ ๊ฐ์†Œ ๋ฐ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์บ์‹ฑ ๊ฐ€๋Šฅ.

์ด ์„œ๋น„์Šค ๊ตฌ์„ฑ์„ ํ†ตํ•ด ์•ˆ์ •์„ฑ, ์„ฑ๋Šฅ, ํ™•์žฅ์„ฑ์„ ํ™•๋ณดํ•˜๋ฉด์„œ๋„ ๋น„์šฉ ํšจ์œจ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋กœ ์„ธ๋ถ€ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์ด ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด ์–ธ์ œ๋“  ์งˆ๋ฌธํ•ด์ฃผ์„ธ์š”! ๐Ÿ˜Š