๋ฌด๋ฃŒ๋‹ˆ ์–ด์„œ ๋ฐ›์•„๋ณด์„ธ์—ฌ AI ํ† ํฐ ๊ด€๋ฆฌ์‚ฌ ์–ด์„œ ์ฑ„์šฉํ•˜์„ธ์—ฌ

์ด๋ฏธ์ง€
  AI ํ† ํฐ ๊ณ„์‚ฐ ํ”„๋กœ๊ทธ๋žจ ๋ฆฌํฌํŠธ 1. ํ”„๋กœ๊ทธ๋žจ ๋ชฉ์  ์‚ฌ์šฉ์ž๊ฐ€ AI์— ์ž…๋ ฅํ•˜๋Š” ๊ธ€๊ณผ AI๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ๋‹ต๋ณ€์˜ ํ† ํฐ ์ˆ˜์™€ ์˜ˆ์ƒ ๋น„์šฉ์„ ์ž๋™ ๊ณ„์‚ฐ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ๋‹จ์ˆœํžˆ ๊ธ€์ž ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ: ์ž…๋ ฅ → ์‚ฌ์šฉ ๋ชจ๋ธ ์„ ํƒ → ์ž…๋ ฅ ํ† ํฐ ๊ณ„์‚ฐ → ์ถœ๋ ฅ ํ† ํฐ ์˜ˆ์ƒ/์‹ค์ธก → 1ํšŒ ๋น„์šฉ ๊ณ„์‚ฐ → 1์ผ·1๊ฐœ์›” ๋น„์šฉ ๊ณ„์‚ฐ → ์—ฌ๋Ÿฌ AI ๋ชจ๋ธ ๋น„๊ต ๊นŒ์ง€ ํ•œ ๋ฒˆ์— ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. 2. ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๊ธฐ๋Šฅ ๋‚ด์šฉ ์ž…๋ ฅ ํ† ํฐ ๊ณ„์‚ฐ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋ช‡ ํ† ํฐ์ธ์ง€ ๊ณ„์‚ฐ ์ถœ๋ ฅ ํ† ํฐ ๊ณ„์‚ฐ AI ๋‹ต๋ณ€ ํ† ํฐ ๊ณ„์‚ฐ ์ด ํ† ํฐ Input + Output API ๋น„์šฉ ๋ชจ๋ธ๋ณ„ ์‹ค์ œ ๊ฐ€๊ฒฉ ์ ์šฉ 1ํšŒ ๋น„์šฉ ํ•œ ๋ฒˆ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ ๋น„์šฉ ์ผ์ผ ๋น„์šฉ ํ•˜๋ฃจ ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ์ค€ ์›”๊ฐ„ ๋น„์šฉ 30์ผ ๊ธฐ์ค€ ๋ชจ๋ธ ๋น„๊ต ์—ฌ๋Ÿฌ AI ๋ชจ๋ธ ๋น„์šฉ ๋น„๊ต ํ•œ๊ตญ์–ด ๊ณ„์‚ฐ ํ•œ๊ตญ์–ด ํŠน์„ฑ ๊ณ ๋ ค ์˜์–ด ๊ณ„์‚ฐ ์˜์–ด ํ† ํฐ ๊ณ„์‚ฐ ๊ธด ๋ฌธ์„œ ๊ณ„์‚ฐ PDF/ํ…์ŠคํŠธ ๋“ฑ API ์‚ฌ์šฉ๋Ÿ‰ ๋ถ„์„ ์‹ค์ œ API ๋กœ๊ทธ ๋ถ„์„ ์˜ˆ์‚ฐ ๊ฒฝ๊ณ  ์›” ์˜ˆ์‚ฐ ์ดˆ๊ณผ ์˜ˆ์ƒ ์‹œ ๊ฒฝ๊ณ  3. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„ “๊ธ€์ž ์ˆ˜ × ์–ผ๋งˆ” ๋ฐฉ์‹์œผ๋กœ ๋งŒ๋“ค๋ฉด ์•ˆ ๋œ๋‹ค. AI ํ† ํฐ์€ ๋ชจ๋ธ๋งˆ๋‹ค ํ† ํฌ๋‚˜์ด์ €๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ™์€ ๋ฌธ์žฅ์ด๋ผ๋„ OpenAI Anthropic Google Meta Mistral Cohere ๋“ฑ์—์„œ ํ† ํฐํ™” ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์—๋Š” ๋ชจ๋ธ๋ณ„ Tokenizer / ๊ณต์‹ ๊ฐ€๊ฒฉํ‘œ ๋ฅผ ์—ฐ๊ฒฐํ•ด์•ผ ํ•œ๋‹ค. 4. ๊ณ„์‚ฐ ๊ตฌ์กฐ ๊ธฐ๋ณธ ๊ณ„์‚ฐ์€ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๋‹ค. ์ž…๋ ฅ Input Tokens = ํ”„๋กฌํ”„ํŠธ ํ† ํฐ ์ˆ˜ ์ถœ๋ ฅ Output Tokens = AI ๋‹ต๋ณ€ ํ† ํฐ ์ˆ˜ ์ด ํ† ํฐ Total Tokens = Input Tokens + Output Tokens ๋น„์šฉ ๋ชจ๋ธ์˜ ๊ฐ€๊ฒฉ์ด Input $X / 1M tokens Output $Y / 1M tokens ์ด๋ผ๋ฉด, Input Cost = Input Tokens ÷ 1,000,000 × X Output Cost = Output Tokens ÷ 1,000,000 × Y ๊ทธ๋ฆฌ๊ณ  Total Cost = Input Co...

n8n ๋„์ปค ์„ค์น˜ํ–ˆ๋Š”๋ฐ 5678 ํฌํŠธ ์ ‘์† ์•ˆ๋จ ํ•ด๊ฒฐ

 ๋„์ปค(Docker)๋กœ n8n์„ ์„ค์น˜ํ–ˆ๋Š”๋ฐ 5678 ํฌํŠธ๋กœ ์ ‘์†๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋Š” ์ฃผ๋กœ ํฌํŠธ ํฌ์›Œ๋”ฉ ๋ˆ„๋ฝ, ๋ฐฉํ™”๋ฒฝ ์ฐจ๋‹จ, ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ์‹คํŒจ, ๋˜๋Š” ๋ฐ”์ธ๋”ฉ ์ฃผ์†Œ ๋ฌธ์ œ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ•˜๋‚˜์”ฉ ์ฒดํฌํ•˜๋ฉด์„œ ํ•ด๊ฒฐํ•ด ๋ณด์„ธ์š”.

1. ๋„์ปค ์‹คํ–‰ ๋ช…๋ น์–ด(ํฌํŠธ ํฌ์›Œ๋”ฉ) ํ™•์ธ

๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์™ธ๋ถ€ ํฌํŠธ์™€ ๋‚ด๋ถ€ ํฌํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” -p 5678:5678 ์˜ต์…˜์ด ๋ˆ„๋ฝ๋˜์—ˆ๊ฑฐ๋‚˜ ์ž˜๋ชป๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์›์ธ: ๋งŒ์•ฝ ์‹คํ–‰ ๋ช…๋ น์–ด์— -p 5678:5678์ด ์—†์—ˆ๋‹ค๋ฉด ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ๋Š” n8n์ด ๋Œ๊ณ  ์žˆ์ง€๋งŒ, PC๋‚˜ ์„œ๋ฒ„ ์™ธ๋ถ€์—์„œ๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ํฌํŠธ ์˜ต์…˜์„ ๋ช…ํ™•ํžˆ ์ฃผ์–ด ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    Bash
    # ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ ๋ฐ ์‚ญ์ œ
    docker stop n8n
    docker rm n8n
    
    # ํฌํŠธ ํฌ์›Œ๋”ฉ์„ ํฌํ•จํ•˜์—ฌ ์žฌ์‹คํ–‰
    docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n
    

2. ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ƒ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธ (Crash ์ฒดํฌ)

๋ช…๋ น์–ด๋Š” ์ •์ƒ ์ž…๋ ฅํ–ˆ์œผ๋‚˜ n8n ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์–ด๋–ค ์ด์œ (๊ถŒํ•œ ์˜ค๋ฅ˜, ๋””๋ ‰ํ† ๋ฆฌ ๋ฌธ์ œ ๋“ฑ)๋กœ ์‹คํ–‰ ์งํ›„ ์ข…๋ฃŒ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค:

    Bash
    docker ps -a
    
  • ์ฒดํฌ ํฌ์ธํŠธ: STATUS ์—ด์„ ํ™•์ธํ•˜์„ธ์š”.

    • Up ... hours ๋ผ๊ณ  ๋˜์–ด ์žˆ์œผ๋ฉด ์ •์ƒ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

    • Exited (1) ... ์ฒ˜๋Ÿผ ์ข…๋ฃŒ๋˜์–ด ์žˆ๋‹ค๋ฉด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ฃฝ์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ์—๋Ÿฌ ๋กœ๊ทธ ํ™•์ธ: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ฃฝ์–ด์žˆ๋‹ค๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์›์ธ์„ ํŒŒ์•…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    Bash
    docker logs n8n
    

    (๋กœ๊ทธ์— ๊ถŒํ•œ ์˜ค๋ฅ˜(Permission denied)๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ณผ๋ฅจ ๋งคํ•‘ํ•œ ํด๋”(~/.n8n)์˜ ์†Œ์œ ๊ถŒ์ด๋‚˜ ๊ถŒํ•œ์„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.)

3. ๋ฐฉํ™”๋ฒฝ(Firewall) ์„ค์ • ํ™•์ธ

์˜ค๋ผํด ํด๋ผ์šฐ๋“œ, AWS, ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์ด๊ฑฐ๋‚˜ ์šฐ๋ถ„ํˆฌ/๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„ ์ž์ฒด ๋ฐฉํ™”๋ฒฝ์ด ์ผœ์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

  • ํด๋ผ์šฐ๋“œ ์ธ์Šคํ„ด์Šค์ธ ๊ฒฝ์šฐ: ํ•ด๋‹น ํด๋ผ์šฐ๋“œ ์ฝ˜์†”(์›น์‚ฌ์ดํŠธ)๋กœ ์ด๋™ํ•˜์—ฌ ๋ณด์•ˆ ๊ทธ๋ฃน(Security Group) ๋˜๋Š” ์„œ๋ธŒ๋„ท ACL์—์„œ TCP 5678 ํฌํŠธ ์ธ๋ฐ”์šด๋“œ(Inbound)๋ฅผ ์—ด์–ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฆฌ๋ˆ…์Šค ์ž์ฒด ๋ฐฉํ™”๋ฒฝ(UFW)์ธ ๊ฒฝ์šฐ: ์„œ๋ฒ„ ํ„ฐ๋ฏธ๋„์—์„œ 5678 ํฌํŠธ๋ฅผ ํ—ˆ์šฉํ•ด ์ค๋‹ˆ๋‹ค.

    Bash
    sudo ufw allow 5678/tcp
    sudo ufw reload
    

4. ์ ‘์† ์ฃผ์†Œ(IP) ํ™•์ธ

์ ‘์†ํ•˜๋ ค๋Š” ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์›น ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— ์ž…๋ ฅํ•˜๋Š” ์ฃผ์†Œ๊ฐ€ ๋‹ฌ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‚ด PC(๋กœ์ปฌ)์— ์„ค์น˜ํ•œ ๊ฒฝ์šฐ: http://localhost:5678 ๋˜๋Š” http://127.0.0.1:5678

  • ๊ฐ€์ƒ๋จธ์‹ (Docker Desktop, WSL2 ๋“ฑ)์ธ ๊ฒฝ์šฐ: ๊ฐ„ํ˜น ๋กœ์ปฌํ˜ธ์ŠคํŠธ ๋ฐ”์ธ๋”ฉ์ด ๊ผฌ์ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ๋Š” ๊ฐ€์ƒ๋จธ์‹ ์˜ ์‹ค์ œ ๋‚ด๋ถ€ IP๋‚˜ http://192.168.x.x:5678 ํ˜•ํƒœ์˜ ์‚ฌ์„ค IP๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์›๊ฒฉ ์„œ๋ฒ„(AWS ๋“ฑ)์ธ ๊ฒฝ์šฐ: http://์„œ๋ฒ„์˜๊ณต์ธIP:5678

5. ๋„์ปค ๋ฐ์Šคํฌํƒ‘(Windows/Mac)์ธ ๊ฒฝ์šฐ ๋Œ€์ฒ˜๋ฒ•

์œˆ๋„์šฐ๋‚˜ ๋งฅ์—์„œ Docker Desktop์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ๊ฐ„ํ˜น ํฌํŠธ ๋งคํ•‘ ์—”์ง„์ด ๋จนํ†ต์ด ๋  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: Docker Desktop ํ”„๋กœ๊ทธ๋žจ์„ ์™„์ „ํžˆ ์ข…๋ฃŒ(Quit)ํ•œ ๋’ค ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ๋‹ค์‹œ ์‹คํ–‰ํ•ด ๋ณด์„ธ์š”. ํ˜น์€ ๋Œ€์‹œ๋ณด๋“œ(Dashboard)์—์„œ n8n ์ปจํ…Œ์ด๋„ˆ์˜ Port ํ•ญ๋ชฉ์ด 5678:5678๋กœ ์ •์ƒ ํ™œ์„ฑํ™”(ํŒŒ๋ž€์ƒ‰ ๋งํฌ ํ˜•ํƒœ)๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ํด๋ฆญํ•˜์—ฌ ์ ‘์†ํ•ด ๋ณด์„ธ์š”.


์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

ํด๋กœ๋“œ ์ฝ”๋“œ React TypeScript ์Šคํƒ€์ผ ์ผ๊ด€์„ฑ ์œ ์ง€ ํŒ

๊ธฐํ˜ธ๋กœ ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ ์‹ค์‹œ๊ฐ„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•

ํด๋กœ๋“œ ์ฝ”๋“œ n8n ์›Œํฌํ”Œ๋กœ์šฐ ์ž๋™ํ™” ์—ฐ๋™ ๊ฐ€์ด๋“œ