๊ณต๋ถ€/Infra

Docker์—์„œ DB ๋„คํŠธ์›Œํฌ๋ฅผ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ ์™€ ๊ตฌ์กฐ

sesam 2025. 7. 29. 23:01
728x90

๐Ÿ” Docker์—์„œ DB ๋„คํŠธ์›Œํฌ๋ฅผ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ ์™€ ๊ตฌ์กฐ

๋ชฉ์ฐจ

  1. ๋„คํŠธ์›Œํฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ 
  2. ์˜ˆ์‹œ: n8n → QuestDB ์ ‘๊ทผ, reverse_proxy๋Š” ์ฐจ๋‹จ
  3. Docker Compose ์˜ˆ์ œ
  4. ์š”์•ฝ ํ‘œ
  5. ๋งˆ๋ฌด๋ฆฌ

1. ๋„คํŠธ์›Œํฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ 

Docker ํ™˜๊ฒฝ์—์„œ๋Š” ๋ณด์•ˆ๊ณผ ๊ตฌ์กฐ์  ๋ช…ํ™•์„ฑ์„ ์œ„ํ•ด DB ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ณ„๋„์˜ ๋„คํŠธ์›Œํฌ์— ๋‘๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.
์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ๋ณด์•ˆ ๋ถ„๋ฆฌ (Security Isolation)
    DB๋ฅผ ์™ธ๋ถ€์— ๋…ธ์ถœํ•˜์ง€ ์•Š๊ณ , ํŠน์ • ์„œ๋น„์Šค๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ.
  • ์ ‘๊ทผ ์ œ์–ด (Access Control)
    DB ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค๋งŒ DB์— ์ ‘๊ทผํ•˜๋„๋ก ์ œํ•œ.
  • ํŠธ๋ž˜ํ”ฝ ๊ตฌ๋ถ„ ๋ฐ ๊ด€๋ฆฌ
    ์„œ๋น„์Šค ๊ฐ„ ํŠธ๋ž˜ํ”ฝ์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋กœ๊น…, ๋ชจ๋‹ˆํ„ฐ๋ง, ํ”„๋ก์‹œ ์ ์šฉ์ด ์‰ฌ์›€.
  • ๋‚ด๋ถ€ DNS ๋ถ„๋ฆฌ
    Docker ๋„คํŠธ์›Œํฌ๋Š” ์ž์ฒด DNS๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ๋‚ด ์ปจํ…Œ์ด๋„ˆ๋งŒ ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ.

2. ์˜ˆ์‹œ: n8n → QuestDB ์ ‘๊ทผ, reverse_proxy๋Š” ์ฐจ๋‹จ

๊ตฌ์„ฑ๋„

n8n      โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถ QuestDB โœ…
 โ”‚
 โ–ผ
reverse_proxy      โ›” QuestDB ์ ‘๊ทผ ๋ถˆ๊ฐ€

 

  • n8n์€ DB์™€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ์— ์†ํ•ด ์žˆ์–ด ์ ‘๊ทผ ๊ฐ€๋Šฅ
  • reverse_proxy๋Š” DB ๋„คํŠธ์›Œํฌ์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ ‘๊ทผ ๋ถˆ๊ฐ€

 

3. Docker Compose ์˜ˆ์ œ

 

networks:
  db_net:
  app_net:

services:
  questdb:
    image: questdb/questdb
    container_name: questdb
    networks:
      - db_net

  n8n:
    image: n8nio/n8n
    container_name: n8n
    networks:
      - db_net   # DB ์ ‘๊ทผ ๊ฐ€๋Šฅ
      - app_net  # ์™ธ๋ถ€ ์„œ๋น„์Šค ์—ฐ๋™์šฉ

  reverse_proxy:
    image: nginx:latest
    container_name: reverse_proxy
    networks:
      - app_net  # DB ๋„คํŠธ์›Œํฌ ์—†์Œ → DB ์ ‘๊ทผ ๋ถˆ๊ฐ€

 

 

4. ์š”์•ฝ ํ‘œ

์ปจํ…Œ์ด๋„ˆ ๋„คํŠธ์›Œํฌ QuestDB ์ ‘๊ทผ ๊ฐ€๋Šฅ?  ์ด์œ 
n8n db_net, app_net โœ… ๊ฐ€๋Šฅ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ์—์„œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์ ‘๊ทผ
reverse_proxy app_net โŒ ๋ถˆ๊ฐ€๋Šฅ db_net์— ์†ํ•˜์ง€ ์•Š์Œ

 

 

5. ๋งˆ๋ฌด๋ฆฌ

Docker ํ™˜๊ฒฝ์—์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ฑด ๋‹จ์ˆœํ•œ ๋ถ„๋ฆฌ ์ด์ƒ์˜ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
๋ณด์•ˆ, ๊ตฌ์กฐ, ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ, ๋„ค์ž„๋ฆฌ์กธ๋น™ ๋ชจ๋‘ ์ด ์•ˆ์— ๋‹ด๊ฒจ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ์šด์˜ํ™˜๊ฒฝ์—์„œ๋Š” DB๋ฅผ ์™ธ๋ถ€๋กœ ๋…ธ์ถœํ•˜๋Š” ๋Œ€์‹ , ํ•„์š”ํ•œ ์„œ๋น„์Šค์—๋งŒ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜์—ฌ
๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ณ  ๋ช…ํ™•ํ•œ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

728x90