Skip to Content

๋ฌธ์ œ ํ•ด๊ฒฐ

์‹œ์Šคํ…œ ์šด์˜ ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์š” ๋ฌธ์ œ์˜ ์›์ธ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

์—‘์…€ ์—…๋กœ๋“œ ์‹คํŒจ

ํŒŒ์ผ ํ˜•์‹ ์˜ค๋ฅ˜

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
โ€์ง€์›ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ ํ˜•์‹โ€.xls(๊ตฌ๋ฒ„์ „), .csv ๋“ฑ ์—…๋กœ๋“œ.xlsx ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ ํ›„ ์žฌ์—…๋กœ๋“œ
โ€์—ด ์ˆ˜๊ฐ€ ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹คโ€๊ฐ‘์ง€๊ฐ€ 21์—ด ๋ฏธ๋งŒ์ด๊ฑฐ๋‚˜ ์„์ง€๊ฐ€ 3์—ด ๋ฏธ๋งŒ์›๋ณธ ์—‘์…€์˜ ์—ด ๊ตฌ์กฐ ํ™•์ธ โ€” ํ—ค๋” ํ–‰ ์—†์ด ์ฒซ ํ–‰๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ
โ€๋‚ ์งœ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹คโ€ํŒŒ์ผ๋ช…์— ๋‚ ์งœ ํŒจํ„ด ์—†์ŒํŒŒ์ผ๋ช…์— YYYY-MM-DD, YYYYMMDD, YY-MM-DD, YYMMDD ์ค‘ ํ•˜๋‚˜ ํฌํ•จ

์ธ์ฝ”๋”ฉ ๋ฌธ์ œ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
์ œํ’ˆ๋ช…/๊ฑฐ๋ž˜์ฒ˜๋ช…์ด ๊นจ์ ธ ๋ณด์ž„์—‘์…€ ํŒŒ์ผ ์ธ์ฝ”๋”ฉ ๋ถˆ์ผ์น˜Excel์—์„œ .xlsx๋กœ ๋‹ค์‹œ ์ €์žฅ (UTF-8 ๊ธฐ๋ณธ)
ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ?๋กœ ํ‘œ์‹œํ•œ๊ธ€ ์™ธ ํŠน์ˆ˜๋ฌธ์ž ์ธ์ฝ”๋”ฉ ์†์‹ค์›๋ณธ ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ˆ˜๋ฌธ์ž ํ™•์ธ ํ›„ ์ˆ˜์ •

ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ

๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์—…๋กœ๋“œ ์‹œ ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ์ œํ•œ
ํŒŒ์ผ ํฌ๊ธฐNginx ์„ค์ •์˜ client_max_body_size ํ™•์ธ
ํ–‰ ์ˆ˜์ œํ•œ ์—†์Œ (๋ฉ”๋ชจ๋ฆฌ ํ—ˆ์šฉ ๋ฒ”์œ„)
๋™์‹œ ์—…๋กœ๋“œ๊ฐ™์€ ๋‚ ์งœ ๋™์‹œ ์—…๋กœ๋“œ ์‹œ ํ›„์ˆœ์œ„ ๋ฎ์–ด์“ฐ๊ธฐ

ํ‘œ์ค€์ฝ”๋“œ ๋งคํ•‘ ์˜ค๋ฅ˜

์ฝ”๋“œ๋งคํ•‘์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

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

ํ‘œ์ค€์ฝ”๋“œ ์กฐํšŒ ์‹คํŒจ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
โ€ํ‘œ์ค€์ฝ”๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹คโ€Supabase ๋งˆ์Šคํ„ฐ DB์— ๋ฏธ๋“ฑ๋กMA101 API๋กœ KPIS์—์„œ ์ตœ์‹  ์ฝ”๋“œ ์กฐํšŒ ํ›„ ๋งˆ์Šคํ„ฐ ์—…๋ฐ์ดํŠธ
๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Œ๋งˆ์Šคํ„ฐ ๋ฐ์ดํ„ฐ ๋ฏธ์ ์žฌ๋งˆ์Šคํ„ฐ๋ฐ์ดํ„ฐ ์žฌ์—…๋กœ๋“œ ๋˜๋Š” ๋ฐ”์ฝ”๋“œ/์—‘์…€ ์†Œ์Šค ๋™๊ธฐํ™” ํ™•์ธ
๋งŒ๋ฃŒ๋œ ํ‘œ์ค€์ฝ”๋“œcancel_date๊ฐ€ ์„ค์ •๋œ ์ฝ”๋“œMA101๋กœ ํ›„์† ์ฝ”๋“œ ํ™•์ธ, ํ•ด๋‹น ์ฝ”๋“œ๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€

KPIS API ์—ฐ๋™ ์‹คํŒจ

์ธ์ฆ์„œ ๊ด€๋ จ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
์ „์†ก ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™”์ธ์ฆ์„œ ๋งŒ๋ฃŒ ๋˜๋Š” ๋ฏธ๋“ฑ๋ก๊ด€๋ฆฌ์ž > ์ธ์ฆ์„œ ๊ด€๋ฆฌ์—์„œ ์œ ํšจํ•œ .pfx ์—…๋กœ๋“œ
โ€์ธ์ฆ์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹คโ€์—…๋กœ๋“œ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์˜ค์ž…๋ ฅ์ธ์ฆ์„œ ์‚ญ์ œ ํ›„ ์˜ฌ๋ฐ”๋ฅธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์žฌ์—…๋กœ๋“œ
โ€์ธ์ฆ์„œ ์„œ๋ช… ์‹คํŒจโ€์ธ์ฆ์„œ ํŒŒ์ผ ์†์ƒ ๋˜๋Š” ํ˜•์‹ ์˜ค๋ฅ˜.pfx ํŒŒ์ผ ์œ ํšจ์„ฑ ํ™•์ธ ํ›„ ์žฌ๋ฐœ๊ธ‰
SOAP ํ˜ธ์ถœ ์‹œ 401 ์‘๋‹ตJWT ํ† ํฐ ๋งŒ๋ฃŒ์„œ๋ฒ„ ์žฌ์‹œ์ž‘์œผ๋กœ ํ† ํฐ ์žฌ๋ฐœ๊ธ‰, ๋˜๋Š” kpis_jwt_tokens ํ…Œ์ด๋ธ” ์ดˆ๊ธฐํ™”

์ธ์ฆ์„œ ๋งŒ๋ฃŒ ์˜ˆ๋ฐฉ

์ธ์ฆ์„œ ๊ฐฑ์‹  ๊ถŒ์žฅ ์ผ์ •:

์‹œ์ ์กฐ์น˜
D-30๊ฐฑ์‹  ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์‹ ์ฒญ ์‹œ์ž‘
D-7๊ฐฑ์‹  ์ธ์ฆ์„œ ์ˆ˜๋ น ํ™•์ธ, ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ๊ฒ€์ฆ
D-1์šด์˜ ์„œ๋ฒ„์— ์ƒˆ ์ธ์ฆ์„œ ์—…๋กœ๋“œ ์™„๋ฃŒ

๋„คํŠธ์›Œํฌ ๊ด€๋ จ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
โ€ECONNREFUSEDโ€ ๋˜๋Š” ํƒ€์ž„์•„์›ƒKPIS ์„œ๋ฒ„ ์ ๊ฒ€ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์žฅ์• KPIS ๊ณต์ง€์‚ฌํ•ญ ํ™•์ธ, ์‹œ๊ฐ„ ํ›„ ์žฌ์‹œ๋„
โ€ENOTFOUNDโ€DNS ํ•ด์„ ์‹คํŒจOracle Cloud ์„œ๋ฒ„์˜ DNS ์„ค์ • ํ™•์ธ
API ํ˜ธ์ถœ์€ ๋˜์ง€๋งŒ ์‘๋‹ต์ด ๋น„์–ด์žˆ์ŒKPIS ์„œ๋ฒ„ ๋ถ€๋ถ„ ์žฅ์• ๋‹ค๋ฅธ API(MA101 ๋“ฑ ์กฐํšŒ)๋กœ ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ
ํŠน์ • API๋งŒ ์‹คํŒจIP ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ ๋ฌธ์ œOracle Cloud ์„œ๋ฒ„์˜ ๊ณต์ธ IP๊ฐ€ KPIS์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

IP ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ ํ™•์ธ

KPIS API๋Š” ๋“ฑ๋ก๋œ IP์—์„œ๋งŒ ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

# Oracle Cloud ์„œ๋ฒ„์—์„œ ์™ธ๋ถ€ IP ํ™•์ธ curl -s ifconfig.me

ํ‘œ์‹œ๋œ IP๊ฐ€ KPIS์— ๋“ฑ๋กํ•œ IP์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋ถˆ์ผ์น˜ ์‹œ KPIS ๊ด€๋ฆฌ์ž์—๊ฒŒ IP ๋ณ€๊ฒฝ ์‹ ์ฒญ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

API ์‘๋‹ต ์ฝ”๋“œ

์‘๋‹ต์˜๋ฏธ๋Œ€์‘
200์ •์ƒ (๋ฐ์ดํ„ฐ ๋‚ด์šฉ์€ ๋ณ„๋„ ํ™•์ธ)โ€”
401์ธ์ฆ ์‹คํŒจAPI KEY, JWT, ์ธ์ฆ์„œ ํ™•์ธ
403๊ถŒํ•œ ์—†์Œ (IP ๋ฏธ๋“ฑ๋ก ํฌํ•จ)ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ ํ™•์ธ
429Rate Limit ์ดˆ๊ณผ์ž ์‹œ ํ›„ ์žฌ์‹œ๋„
500KPIS ์„œ๋ฒ„ ์˜ค๋ฅ˜KPIS ๊ด€๋ฆฌ์ž ๋ฌธ์˜
503์„œ๋น„์Šค ์ผ์‹œ ์ค‘๋‹จKPIS ์ ๊ฒ€ ์ผ์ • ํ™•์ธ

๋ฐ˜์†ก ์ฒ˜๋ฆฌ ๋Œ€์‘ (DC001~DC007)

MA112 ๊ฒฐ๊ณผ์—์„œ ๋ฐ˜์†ก๋œ ๊ฑด์˜ ์ฝ”๋“œ๋ณ„ ๋Œ€์‘ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

DC001: ํ‘œ์ค€์ฝ”๋“œ ๋ถˆ์ผ์น˜

์›์ธ: ์กด์žฌํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋œ ํ‘œ์ค€์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ์ ˆ์ฐจ:

  1. MA101 API๋กœ ํ•ด๋‹น ์ œํ’ˆ์˜ ์˜ฌ๋ฐ”๋ฅธ ํ‘œ์ค€์ฝ”๋“œ ์กฐํšŒ
  2. cancel_date๊ฐ€ ์„ค์ •๋œ ์ฝ”๋“œ์ธ์ง€ ํ™•์ธ
  3. ํ‘œ์ค€์ฝ”๋“œ ์ˆ˜์ • ํ›„ MA113 ๋ฐ˜์†ก์‹ ์ฒญ

DC002: ๋ฏธ๋“ฑ๋ก ๊ฑฐ๋ž˜์ฒ˜

์›์ธ: KPIS์— ๋“ฑ๋ก๋˜์ง€ ์•Š์€ ๊ฑฐ๋ž˜์ฒ˜ ์‚ฌ์—…์ž๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ์ ˆ์ฐจ:

  1. MA102 API๋กœ ๊ฑฐ๋ž˜์ฒ˜ ๋“ฑ๋ก์—ฌ๋ถ€ ํ™•์ธ
  2. ์‚ฌ์—…์ž๋“ฑ๋ก๋ฒˆํ˜ธ ์˜คํƒ€ ํ™•์ธ (10์ž๋ฆฌ)
  3. ๋ฏธ๋“ฑ๋ก ๊ฑฐ๋ž˜์ฒ˜๋ฉด KPIS ํฌํ„ธ์—์„œ ๊ฑฐ๋ž˜์ฒ˜ ๋“ฑ๋ก ์„ ํ–‰

DC003: ๋ณด๊ณ ๊ธฐ๊ฐ„ ์™ธ ๊ณต๊ธ‰์ผ์ž

์›์ธ: ๊ณต๊ธ‰์ผ์ž๊ฐ€ ํ•ด๋‹น ๋ถ„๊ธฐ ๋ณด๊ณ ๊ธฐ๊ฐ„ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ์ ˆ์ฐจ:

  1. MA116 API๋กœ ํ•ด๋‹น ๋ถ„๊ธฐ์˜ ๋ณด๊ณ ๊ธฐ๊ฐ„ ์กฐํšŒ
  2. ๊ณต๊ธ‰์ผ์ž(N์—ด)๊ฐ€ ๋ณด๊ณ ๊ธฐ๊ฐ„ ๋‚ด์ธ์ง€ ํ™•์ธ
  3. ๊ธฐ๊ฐ„ ์™ธ ๊ณต๊ธ‰๊ฑด์€ ํ•ด๋‹น ๋ถ„๊ธฐ๋กœ ์ด๋™ํ•˜์—ฌ ์žฌ์ œ์ถœ

DC004: ์ค‘๋ณต๋ณด๊ณ 

์›์ธ: ์ด๋ฏธ ๋“ฑ๋ก๋œ ๋™์ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ์ ˆ์ฐจ:

  1. MA112๋กœ ๊ธฐ๋“ฑ๋ก ๊ฑด์˜ ์ ‘์ˆ˜๋ฒˆํ˜ธ ํ™•์ธ
  2. ์žฌ์ œ์ถœ์ด ์•„๋‹Œ ์ •์ •(๊ณต๊ธ‰๊ตฌ๋ถ„ 4) ๋˜๋Š” **์ทจ์†Œ(๊ณต๊ธ‰๊ตฌ๋ถ„ 5)**๋กœ ์ฒ˜๋ฆฌ
  3. MA113 ๋ฐ˜์†ก์‹ ์ฒญ์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ

DC004๋Š” ๋‹ค๋ฅธ ๋ฐ˜์†ก์ฝ”๋“œ์™€ ๋‹ฌ๋ฆฌ MA113์ด ์•„๋‹Œ ์ •์ •/์ทจ์†Œ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

DC005: ์ˆ˜๋Ÿ‰/๊ธˆ์•ก ์˜ค๋ฅ˜

์›์ธ: ๋‹จ๊ฐ€ x ์ˆ˜๋Ÿ‰ โ‰  ๊ธˆ์•ก ์ •ํ•ฉ์„ฑ์ด ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ์ ˆ์ฐจ:

  1. ํ•ด๋‹น ํ–‰์˜ ๋‹จ๊ฐ€(P์—ด), ์ˆ˜๋Ÿ‰(M์—ด), ๊ธˆ์•ก(O์—ด) ํ™•์ธ
  2. ๋‹จ๊ฐ€ x ์ˆ˜๋Ÿ‰ = ๊ธˆ์•ก (1์› ์ด๋‚ด ์˜ค์ฐจ ํ—ˆ์šฉ) ๊ฒ€์ฆ
  3. ๋ถˆ์ผ์น˜ ์‹œ ๋‹จ๊ฐ€ ๋˜๋Š” ์ˆ˜๋Ÿ‰ ์ˆ˜์ • (๊ธˆ์•ก์€ ๋ถˆ๋ณ€)

DC006: ์„์ง€ ๋ˆ„๋ฝ

์›์ธ: ์ผ๋ จ๋ฒˆํ˜ธ๊ตฌ๋ถ„(U์—ด)์ด 0(๋ถ€์ฐฉ)์ธ๋ฐ ์„์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ์ ˆ์ฐจ:

  1. ํ•ด๋‹น ์—ฐ๋ฒˆ์˜ ์„์ง€ ๋ฐ์ดํ„ฐ ์กด์žฌ ํ™•์ธ
  2. ์„์ง€ ํŒŒ์ผ์ด ๋ˆ„๋ฝ๋˜์—ˆ์œผ๋ฉด ์žฌ์—…๋กœ๋“œ
  3. ์ผ๋ จ๋ฒˆํ˜ธ๊ฐ€ ๋ถˆํ•„์š”ํ•œ ํ’ˆ๋ชฉ์ด๋ฉด ์ผ๋ จ๋ฒˆํ˜ธ๊ตฌ๋ถ„์„ 1(์ƒ๋žต)๋กœ ๋ณ€๊ฒฝ

DC007: ์š”์–‘๊ธฐ๊ด€๊ธฐํ˜ธ ์˜ค๋ฅ˜

์›์ธ: ๊ณต๊ธ‰ํ˜•ํƒœ๊ฐ€ 9(์š”์–‘๊ธฐ๊ด€)์ธ๋ฐ ์š”์–‘๊ธฐ๊ด€๊ธฐํ˜ธ๊ฐ€ ๋ˆ„๋ฝ๋˜์—ˆ๊ฑฐ๋‚˜ ํ˜•์‹์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ์ ˆ์ฐจ:

  1. ๊ณต๊ธ‰ํ˜•ํƒœ(F์—ด) = 9 ํ™•์ธ
  2. ์š”์–‘๊ธฐ๊ด€๊ธฐํ˜ธ(I์—ด)๊ฐ€ 8์ž๋ฆฌ์ธ์ง€ ํ™•์ธ
  3. ๊ฑด๊ฐ•๋ณดํ—˜์‹ฌ์‚ฌํ‰๊ฐ€์›์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์š”์–‘๊ธฐ๊ด€๊ธฐํ˜ธ ์กฐํšŒ ํ›„ ์ˆ˜์ •

์„œ๋ฒ„ ์žฅ์•  ๋Œ€์‘

์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ

# PM2 ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ํ™•์ธ pm2 status # Express ์„œ๋ฒ„ ๋กœ๊ทธ ํ™•์ธ pm2 logs kpis-dsr-api --lines 50 # ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค ํ™•์ธ df -h # ๋””์Šคํฌ ์šฉ๋Ÿ‰ free -m # ๋ฉ”๋ชจ๋ฆฌ

์„œ๋ฒ„ ์žฌ์‹œ์ž‘

# PM2๋กœ ์žฌ์‹œ์ž‘ pm2 restart kpis-dsr-api # ์žฌ์‹œ์ž‘ ํ›„ ์ƒํƒœ ํ™•์ธ pm2 status curl -s http://localhost:3002/api/health

Supabase ์—ฐ๊ฒฐ ์žฅ์• 

Supabase ์…€ํ”„ํ˜ธ์ŠคํŒ… ์„œ๋ฒ„(sb.dvsharp.com)์— ์ ‘๊ทผ ๋ถˆ๊ฐ€ํ•œ ๊ฒฝ์šฐ:

# Supabase ์„œ๋ฒ„ ์‘๋‹ต ํ™•์ธ curl -s https://sb.dvsharp.com/rest/v1/ -H "apikey: YOUR_ANON_KEY" # Docker ์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ ํ™•์ธ (Supabase ์„œ๋ฒ„์—์„œ) docker ps

๋กœ์ปฌ DB (cert_config) ์žฅ์• 

# local.db ํŒŒ์ผ ์กด์žฌ ํ™•์ธ ls -lh data/local.db # ํŒŒ์ผ ๊ถŒํ•œ ํ™•์ธ stat data/local.db

Nginx ๊ด€๋ จ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
502 Bad GatewayExpress ์„œ๋ฒ„ ๋‹ค์šดpm2 restart kpis-dsr-api
504 Gateway TimeoutExpress ์‘๋‹ต ์ง€์—ฐ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ค‘์ผ ์ˆ˜ ์žˆ์Œ โ€” ๋กœ๊ทธ ํ™•์ธ
413 Request Entity Too Large์—…๋กœ๋“œ ํŒŒ์ผ ํฌ๊ธฐ ์ดˆ๊ณผNginx client_max_body_size ๊ฐ’ ์ฆ๊ฐ€

Vercel ํ”„๋ก ํŠธ์—”๋“œ ์žฅ์• 

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
ํ™”๋ฉด์€ ๋œจ์ง€๋งŒ API ํ˜ธ์ถœ ์‹คํŒจOracle Cloud ์„œ๋ฒ„ ๋‹ค์šด ๋˜๋Š” Vercel rewrites ๋ฌธ์ œ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ, vercel.json rewrites ์„ค์ • ํ™•์ธ
๋นŒ๋“œ ์‹คํŒจ์ฝ”๋“œ ์˜ค๋ฅ˜ ๋˜๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ˆ„๋ฝVercel ๋Œ€์‹œ๋ณด๋“œ์—์„œ ๋นŒ๋“œ ๋กœ๊ทธ ํ™•์ธ

๊ณตํ†ต ์ง„๋‹จ ์ ˆ์ฐจ

๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ์•„๋ž˜ ์ˆœ์„œ๋กœ ์ง„๋‹จํ•ฉ๋‹ˆ๋‹ค.

  1. PM2 ์ƒํƒœ ํ™•์ธ: pm2 status โ€” ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธ
  2. ์„œ๋ฒ„ ๋กœ๊ทธ ํ™•์ธ: pm2 logs kpis-dsr-api --lines 100 โ€” ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ํ™•์ธ
  3. API ์‘๋‹ต ํ…Œ์ŠคํŠธ: curl http://localhost:3002/api/health โ€” ์„œ๋ฒ„ ์ •์ƒ ๋™์ž‘ ํ™•์ธ
  4. Supabase ์—ฐ๊ฒฐ: ๋ธŒ๋ผ์šฐ์ €์—์„œ sb.dvsharp.com ์ ‘๊ทผ ๊ฐ€๋Šฅ ์—ฌ๋ถ€
  5. ๋„คํŠธ์›Œํฌ: curl -s ifconfig.me โ€” ์™ธ๋ถ€ IP ํ™•์ธ, KPIS ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ

๋‹ค์Œ ๋‹จ๊ณ„