๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ฝ๏ธ ํ”„๋กœ์ ํŠธ/ํ”„๋กœ์ ํŠธ ์ •๋ณด๐Ÿชช

[RB] ๋ผ์ดํŠธ์„ธ์ผ๋กœ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌํ•˜๊ธฐ (2์ฐจ ๋ฐฐํฌ)

by OR15A 2024. 4. 21.
  • 1์ฐจ ๋ฐฐํฌ
    • ๋‹ค์–‘ํ•œ AWS์˜ ์„œ๋น„์Šค ์ด์šฉํ•˜์—ฌ ๋ฐฐํฌ ๊ฒฝํ—˜ ์Œ“์Œ (EC2, RDS, S3, ELB, CloudFront ๋“ฑ)
    • ๋น„์šฉ ๋ถ€๋‹ด์œผ๋กœ ์„œ๋น„์Šค ์‚ญ์ œ
  • 2์ฐจ ๋ฐฐํฌ
    • ๋ผ์ดํŠธ์„ธ์ผ์„ ์ด์šฉํ•˜์—ฌ ๋กœ์ปฌ์—์„œ ์šฐ๋ถ„ํˆฌ ์ธ์Šคํ„ด์Šค์— SSH๋กœ ์—ฐ๊ฒฐ
    • ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์—”์ง„์—‘์Šค์™€ SSL/TLS(Let's Encrypt)๋ฅผ ์„ค์ •ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•จ
  • 3์ฐจ ๋ฐฐํฌ๋Š” GitHub Action + Docker + ECR ์„ ์ด์šฉํ•  ์˜ˆ์ •

 

 

๋ฐฐํฌ ํ™˜๊ฒฝ 

  • ๋ผ์ดํŠธ์„ธ์ผ์€ AWS์˜ ๊ฒฝ์ œ์ ์ธ ๊ฐ€๊ฒฉ์— ๊ฐ€๋ฒผ์šด ์›Œํฌ๋กœ๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ƒ ์„œ๋ฒ„ ์„œ๋น„์Šค
  • ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๋ฉด์„œ๋„ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Œ

 

๋ฐฐํฌ ๊ณผ์ •

  • ๋กœ์ปฌ์—์„œ ์šฐ๋ถ„ํˆฌ ์ธ์Šคํ„ด์Šค์— SSH๋กœ ์—ฐ๊ฒฐ
    • ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์šฐ๋ถ„ํˆฌ ์ธ์Šคํ„ด์Šค์— SSH๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ์„œ๋ฒ„ ๊ตฌ์ถ•์„ ์‹œ์ž‘
  • ์šฐ๋ถ„ํˆฌ ์ธ์Šคํ„ด์Šค ์„ค์ •
    • ๋ผ์ดํŠธ์„ธ์ผ ์ธ์Šคํ„ด์Šค์—์„œ ์šฐ๋ถ„ํˆฌ ์šด์˜ ์ฒด์ œ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ธฐ๋ณธ์ ์ธ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ์„ ์„ค์ •
  • ์—”์ง„์—‘์Šค ์„ค์น˜ ๋ฐ SSL/TLS ์„ค์ •
  • ๋งˆ๋ฆฌ์•„DB ์„ค์น˜
    • ๋ผ์ดํŠธ์„ธ์ผ์€ MySQL๊ณผ PostgreSQL๋งŒ ์ง€์›
    • RB ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋งˆ๋ฆฌ์•„DB๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ธ์Šคํ„ด์Šค ์•ˆ์—์„œ DB๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์„ค์ •ํ•จ
  • ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ
    • ๋นŒ๋“œ๋œ JAR ํŒŒ์ผ์„ ์šฐ๋ถ„ํˆฌ ์ธ์Šคํ„ด์Šค์— ์ „์†กํ•˜๊ณ , Java๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ”„๋ง ๋ถ€ํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰

 

์žฅ์ 

  • ๋น„์šฉ ์ ˆ๊ฐ
    • AWS์˜ ๋ณต์žกํ•œ ์„œ๋น„์Šค ๊ตฌ์„ฑ์— ๋น„ํ•ด ๋ผ์ดํŠธ์„ธ์ผ์€ ๊ฒฝ์ œ์ ์ธ ๋น„์šฉ์œผ๋กœ ๊ฐ€๋ฒผ์šด ์›Œํฌ๋กœ๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด ๋น„์šฉ์„ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ
    • SSL/TLS๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ์•ˆ์ „ํ•œ ์ „์†ก์„ ๋ณด์žฅํ•˜๊ณ , ์—”์ง„์—‘์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์„œ๋ฒ„์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์Œ์Œ
  • ์‰ฌ์šด ๊ด€๋ฆฌ
    • ์šฐ๋ถ„ํˆฌ ์ธ์Šคํ„ด์Šค์—์„œ ๋ชจ๋“  ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์„œ๋น„์Šค์˜ ๊ด€๋ฆฌ์™€ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•จ
  • ํšจ์œจ์ ์ธ ์„œ๋น„์Šค์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ 
    • ๋„คํŠธ์›Œํ‚น ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์‘๋‹ต ์†๋„๊ฐ€ ๋น ๋ฆ„
    • ๋™์ผํ•œ ๋ฌผ๋ฆฌ์  ํ™˜๊ฒฝ์—์„œ ์„œ๋น„์Šค์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์‹คํ–‰๋˜๋ฏ€๋กœ ๋„คํŠธ์›Œํฌ ์ง€์—ฐ์ด ์ตœ์†Œํ™”๋˜๊ณ  ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๊ฐ€ ํ–ฅ์ƒ๋จ
    • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€๋จ