Skip to content

Latest commit

ย 

History

History
88 lines (62 loc) ยท 4.64 KB

File metadata and controls

88 lines (62 loc) ยท 4.64 KB

Init Cloud IaC ์ •์  ์Šค์บ” ๋ฐ ์‹œ๊ฐํ™” ๋„๊ตฌ

๊ฐœ์š”

๋งŽ์€ ์ •์  ์Šค์บ” ๋„๊ตฌ๋“ค์€ ๊ตญ๋‚ด ํด๋ผ์šฐ๋“œ ๋ฒค๋”๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์ •์  ์Šค์บ”์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•ก์„ธ์Šค ํ‚ค์™€ ๋น„๋ฐ€ ํ‚ค๋ฅผ ํ†ตํ•œ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์˜ ๋™์  ์ ๊ฒ€์€ ๋งŽ์€ ์‹œ๊ฐ„์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ, ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ๊ฐ€ ์ด๋ฏธ ํ”„๋กœ๋น„์ €๋‹ ๋˜์—ˆ๋‹ค๋ฉด ์ด๋ฅผ ์ˆ˜์ •ํ•จ์— ๋งŽ์€ ๋น„์šฉ์ด ๋ฐœ์ƒํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด์—, "Shift Left"๋ฅผ ๋ชจํ† ๋กœ ์ธํ”„๋ผ์— ๋Œ€ํ•œ ์‚ฌ์ „์ ๊ฒ€์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ๊ตญ๋‚ด ํด๋ผ์šฐ๋“œ ๋ฒค๋” NCloud์—์„œ ์ถœ๋ฐœํ•˜์—ฌ ๊ธ€๋กœ๋ฒŒ ๋ฒค๋” AWS์— ๋Œ€ํ•œ ์ •์  ์Šค์บ”๊ณผ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ์‹œ๊ฐํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ, ISMS-P ๊ธฐ๋ฐ˜์˜ ์ปดํ”Œ๋ผ์ด์–ธ์Šค ๋งคํ•‘ ๋ณด๊ณ ์„œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ ํ™˜๊ฒฝ์ด ์ปดํ”Œ๋ผ์ธ์Šค๋ฅผ ์ค€์ˆ˜ํ•˜๋Š”์ง€ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์˜ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ๋ฐ IaC์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • AWS : ๋ช…์‹ค์ƒ๋ถ€ํ•œ ํด๋ผ์šฐ๋“œ ์ตœ๋Œ€ ๊ฐ•์ž๋กœ ๋„“์€ ๋ฒ”์šฉ์„ฑ์„ ์ง€๋‹™๋‹ˆ๋‹ค.
  • NCP : ๊ตญ๋‚ด ํด๋ผ์šฐ๋“œ์˜ ๋†’์€ ์ ์œ ์œจ์„ ๊ฐ€์ง€๋ฉฐ 2021๋…„ ๊ตญ๋‚ด ํด๋ผ์šฐ๋“œ ์ ์œ ์œจ 3์œ„์— ์œ„์น˜ํ•˜๊ธฐ๋„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Terraform : ์ฝ”๋“œํ˜• ์ธํ”„๋ผ์˜ ์ตœ๋Œ€ ์ ์œ ์œจ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

์‚ฐ์ถœ๋ฌผ

์‹œ์—ฐ ์˜์ƒ

์œ ํŠœ๋ธŒ

๋Œ€์‹œ๋ณด๋“œ ์˜ˆ์‹œ

์‹œ๊ฐํ™” ์˜ˆ์‹œ

์‚ฌ์šฉํ•œ Git ๋ธŒ๋žœ์น˜ ์ „๋žต

  • Main : ๊ณต์‹ ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ์œ„ํ•œ ๋ธŒ๋žœ์น˜
  • Demo : ๋ฐ๋ชจ ์‹œ์—ฐ์„ ์œ„ํ•œ ๋ธŒ๋žœ์น˜, ๋ณ„๋„ ์‹œ์—ฐ ๋ฒ„์ „์„ ๊ด€๋ฆฌ
  • Dev : ๊ฐœ๋ฐœ ์‚ฌํ•ญ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ธŒ๋žœ์น˜, Main์œผ๋กœ ๋ณ‘ํ•ฉ
  • Feature : ํŠน์ • ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ธŒ๋žœ์น˜, Dev๋กœ ๋ณ‘ํ•ฉ
  • Fix : ๊ธด๊ธ‰ ์ƒํ™ฉ์—์„œ ์ˆ˜์ •์„ ์œ„ํ•œ ๋ธŒ๋žœ์น˜, Main์œผ๋กœ ๋ณ‘ํ•ฉ

Install

ํ•œ๊ธ€ ์„ค์น˜ ๊ฐ€์ด๋“œ
English Install Guide

๋ ˆ์ด์–ด๋“œ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ Rest API

  • ์•ฑ ์„œ๋ฒ„์—์„œ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋„๋ก ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ๊ณผ DB ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • JWT๋ฅผ ์ด์šฉํ•œ ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ์œผ๋กœ ์•ฑ ์„œ๋ฒ„์˜ ์ƒํƒœ์™€ ์ƒ๊ด€์—†์ด ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๋ช…์„ธ

  • ํŒจํ‚ค์ง€๋ฅผ ์ž์›์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ๋ถ„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ถ๊ทน์ ์œผ๋กœ ๋„๋ฉ”์ธ ๊ธฐ๋ฐ˜์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€ํ–ฅํ•˜๋„๋ก ๋ถ„๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Swagger๋ฅผ ํ†ตํ•ด API๋ฅผ ๋ช…์„ธํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ERD Cloud๋ฅผ ํ†ตํ•ด DB ์Šคํ‚ค๋งˆ๋ฅผ ๋ช…์„ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฐธ์—ฌ ์ธ์›

1์ฐจ ํ”„๋กœ์ ํŠธ

PM, ๋ณด์•ˆ์—ฐ๊ตฌ ๋ณด์•ˆ์—ฐ๊ตฌ FE BE ์˜คํ”ˆ์†Œ์Šค ์—ฐ๊ตฌ
๋ฐฐ๊ฒฝ์„ ์ฐจ์œ ๋‹ด ์ž„ํƒœ์ธ ์ •๊ธˆ์ข… ๋ฐ•๋ณ‘์ œ

2์ฐจ ์‚ฌ์—…ํ™”

๋ฐฑ์—”๋“œ ์ฃผ์š” ๊ฐœ๋ฐœ ๊ธฐ๋ก

Github OAuth์˜ ์ ์šฉ
Azure ์•ฑ์„œ๋น„์Šค ๊ธฐ๋ฐ˜ ์™ธ๋ถ€ ์ธ๊ฐ€์„œ๋ฒ„
Swagger ํ•„์ˆ˜ ์†์„ฑ์ด ์—†์„ ๋•Œ์˜ NPE ์ฒ˜๋ฆฌ
DB ์ธ๋ฑ์Šค ์ ์šฉ์„ ํ†ตํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ
๋ฆฌํŒฉํ„ฐ๋ง ๊ณผ์ •์—์„œ์˜ DTO ์ˆ˜์ •