ํจ๋ฆฌ์ค์ฌ ๋ ๋๊ฒ์ด๋ ๊ธฐ์กด ์ฑ๋ฅ ๋๋ฐฐ ์ ๋ ฅํจ์จ ๊ฐ์ ์์๋ณด๊ธฐ
๋ง์ ๋ถ๋ค์ด n8n(๋ ธ์ฝ๋ ์๋ํ ํด)๊ณผ ๊ฐ์ ๊ฐ๋ ฅํ ์ํฌํ๋ก์ฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด AWS, Google Cloud ๊ฐ์ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ด์ฉํฉ๋๋ค. ํธ๋ฆฌํ์ง๋ง, ๋งค์ ์ต์ 8,000์ ์ด์์ ๊ณ ์ ๋น์ฉ์ด ๋ฐ์ํ๋ฉฐ, ๋ณต์กํ ์ํฌํ๋ก์ฐ๋ฅผ ๋๋ฆด์๋ก ๋น์ฉ์ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋์ฃ . ์ฌ์ง์ด ์ 10๋ง ์, 20๋ง ์์ ๋ฌํ๋ ์๋ฒ๋ฅผ ๋ด ์ฑ ์ ์์ ์ 2~3์ฒ ์์ ์ ๊ธฐ๋ฃ๋ง์ผ๋ก ๊ตฌ์ถํ ์ ์๋ค๋ฉด ์ด๋จ๊น์? ์ด ๊ธ์ ๋ฐ๋ก ๊ทธ ํด๋ต, ๋ฏธ๋PC ์๋ฒ ์ ํ ํธ์คํ ์ ์ ๊ณผ์ ์ ๋ด๊ณ ์์ต๋๋ค.
๋ง์ ๋ถ๋ค์ด n8n๊ณผ ๊ฐ์ ์ํฌํ๋ก์ฐ๋ฅผ ์ํด AWS๋ Google Cloud๋ฅผ ์ฌ์ฉํ์ง๋ง, ๊ณ ์ ๋น์ฉ์ด ๋งค์ ๋์ ๋ฉ๋๋ค. ๋ฐ๋ฉด ๋ฏธ๋PC๋ฅผ ํ์ฉํ ํ์๋ฒ ๊ตฌ์ถ์ ์ด๊ธฐ ํฌ์ ํ ์ ๊ธฐ๋ฃ๋ง์ผ๋ก ์ด์ ๊ฐ๋ฅํ์ฌ, ํ์ ํด๋ผ์ฐ๋ ๋น์ฉ์ 0์์ผ๋ก ์ค์ผ ์ ์์ต๋๋ค.
๋๋ง์ ์ธํ๋ผ๋ฅผ ์ง์ ํต์ ํ๋ฉฐ ๋ฌดํํ ํ์ฅํ ์ ์๋ ์์ , ์ด๊ฒ์ด ๋ฐ๋ก ๋ฏธ๋PC ์๋ฒ์ ์ง์ง ๋งค๋ ฅ์ ๋๋ค.
n8n์ CPU๋ณด๋ค RAM(๋ฉ๋ชจ๋ฆฌ)์ด ํจ์ฌ ์ค์ํฉ๋๋ค. ๋ ธ๋ ๊ฐ ๋ฐ์ดํฐ ์บ์ฑ๊ณผ ๋ณ๋ ฌ์ฒ๋ฆฌ๋ฅผ ์ํด ์ถฉ๋ถํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
์ต์ ์ฌ์: 1์ฝ์ด CPU, 1GB RAM
๊ถ์ฅ ์ฌ์: 4GB~8GB RAM ์ด์
์คํ ๋ฆฌ์ง: 20GB~40GB๋ฉด ์ถฉ๋ถํฉ๋๋ค.
AliExpress ๋ฑ์์ 10๋ง ์๋ ์ด์ค๋ฐ ์์ฐ์ผ๋ก 8GB RAM ์ด์์ ๋ฏธ๋PC๋ฅผ ๊ตฌ๋งคํ ์ ์์ต๋๋ค. Intel N100, N150 CPU๋ ์ ์ ๋ ฅ๊ณผ ์ ์์์ผ๋ก ํ์๋ฒ์ ๋งค์ฐ ์ ํฉํฉ๋๋ค.
16GB ๋ฉ๋ชจ๋ฆฌ ๊ธฐ์ค AWS ์ธ์คํด์ค ์ ๋น์ฉ์ ์ฝ 20๋ง ์, ๋ฐ๋ฉด ๋ฏธ๋PC๋ 10๋ง ์๋ ํ๋ฐ ์ผํ์ฑ ๋น์ฉ์ผ๋ก ๋๋ฉ๋๋ค. ์ ๊ธฐ๋ฃ๋ง ๋ด๋ฉด ๋๋ ์์ ํ ๊ฐ์ฑ๋น ์น๋ฆฌ์ ๋๋ค.
์ธ๋ถ์์ ๋ฏธ๋PC ์๋ฒ์ ์ ์ํ๊ธฐ ์ํด์๋ ํฌํธ ํฌ์๋ฉ์ด ํ์ํฉ๋๋ค. ๊ณต์ ๊ธฐ์ ํฌํธ๋ฅผ ์ธ๋ถ ์์ฒญ์ด ๋ค์ด์ฌ ๋ n8n์ด ์ค์น๋ ๋ด๋ถ IP๋ก ์ฐ๊ฒฐํด์ฃผ๋ ๊ณผ์ ์ ๋๋ค.
Caddy ํ๋ก์ ์๋ฒ๊ฐ ์ด ์์ฒญ์ ๋ฐ์ ๋ด๋ถ ์ปจํ ์ด๋๋ก ๋ถ๋ฐฐํ๋ฉด์, ํ๋์ ๋ฏธ๋PC๋ก ์ฌ๋ฌ ์๋ฒ๋ฅผ ๋์์ ์ด์ํ ์ ์์ต๋๋ค.
1. ๊ธฐ์กด Windows ๋ผ์ด์ ์ค ํค๋ฅผ PowerShell๋ก ๋ฐฑ์
ํฉ๋๋ค.
2. Balena Etcher๋ก Ubuntu 24.04 LTS ์๋ฒ ์ด๋ฏธ์ง๋ฅผ USB์ ๊ตฌ์ ๋ถํ
๋์คํฌ๋ฅผ ๋ง๋ญ๋๋ค.
3. ๋ฏธ๋PC ๋ถํ
ํ SSH ์๋ฒ ์ค์น ์ต์
์ ๋ฐ๋์ ์ฒดํฌํฉ๋๋ค.
4. ๊ณต์ ๊ธฐ์์ ํฌํธ ํฌ์๋ฉ๊ณผ IP ๊ณ ์ ์ ์ค์ ํฉ๋๋ค.
ํ์ ํฌํธ:
22๋ฒ: SSH ์ ์์ฉ
80๋ฒ: HTTP ์น ์ ์์ฉ
443๋ฒ: HTTPS ๋ณด์ ์ ์์ฉ
ํ์๋ฒ๋ ์ธ๋ถ์ ๋ ธ์ถ๋๋ฏ๋ก ๋ณด์์ด ์ค์ํฉ๋๋ค. Ubuntu์ ๊ธฐ๋ณธ ๋ฐฉํ๋ฒฝ UFW๋ฅผ ํ์ฑํํ๊ณ , ํ์ํ ํฌํธ๋ง ๊ฐ๋ฐฉํ์ธ์.
SSH ํค ๊ธฐ๋ฐ ์ ์ ์ค์ :
1. ๋ก์ปฌ PC์์ ssh-keygen์ผ๋ก ํค ์์ ์์ฑํฉ๋๋ค.
2. ssh-copy-id ๋ช
๋ น์ผ๋ก ๊ณต๊ฐํค๋ฅผ ์๋ฒ์ ์ ์กํฉ๋๋ค.
3. ์ด์ ๋น๋ฐํค๋ฅผ ํตํด์๋ง ์ ์ ๊ฐ๋ฅํ๊ฒ ์ค์ ํฉ๋๋ค.
์ด๋ ๋ง์น ๋น๋ฐ๋ฒํธ ๋์ ์ง๋ฌธ ์ธ์ฆ์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋ฌด์์ ๋์ ๊ณต๊ฒฉ์ ์์ฒ ์ฐจ๋จํฉ๋๋ค.
๋๋ฉ์ธ ์ฐ๊ฒฐ: Duck DNS ๋๋ ddin.io ๊ฐ์ ๋ฌด๋ฃ ๋๋ฉ์ธ ์๋น์ค๋ฅผ ์ฌ์ฉํด ์ธ๋ถ ์ ์ ์ฃผ์๋ฅผ ์ค์ ํฉ๋๋ค.
VS Code ์๋ฒ ๋ฐ Caddy ์ค์น:
- VS Code ์๋ฒ๋ก ํ์ผ์ ์ฝ๊ฒ ํธ์ง
- Caddy ํ๋ก์๋ก ์ฌ๋ฌ ๋๋ฉ์ธ์ ๋ด๋ถ ์ปจํ
์ด๋์ ๋ถ๋ฐฐ
Docker Compose ์ค์ :
- .env ํ์ผ์ ๋น๋ฐ๋ฒํธ์ ๋๋ฉ์ธ ์ ๋ณด ์ ์ฅ
- docker-compose.yml์ n8n, DB, ์์ปค ์ค์
- ๋ช
๋ น์ด: docker compose up -d
์ดํ ๋ธ๋ผ์ฐ์ ์์ ๋๋ฉ์ธ ์ ์ ์ n8n์ด ์ ์ ์๋ํ๋ฉด ์ฑ๊ณต์ ๋๋ค.
์๋ ์ ๋ฐ์ดํธ ์ค์ : update-n8n.sh ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ณ crontab์ผ๋ก ์ผ์ ์๊ฐ๋ง๋ค ์๋ ์ ๋ฐ์ดํธ๋๋๋ก ์ค์ ํฉ๋๋ค.
Fail2ban ๋ณด์ ๊ฐํ: SSH ํค์ ๋ฐฉํ๋ฒฝ ์ธ์๋ Fail2ban์ ์ค์นํด ๋น์ ์ ์ ์ ์๋๋ฅผ ์๋ ์ฐจ๋จํ ์ ์์ต๋๋ค. ์ด๋ 2์ค ๋ณด์์ ๊ฐํํ๋ ํ์ ์ค์ ์ ๋๋ค.
์ฌ๋ฌ๋ถ์ ํ์์ด ํฐ ํ์ด ๋ฉ๋๋ค!
ํ์ํ๋ฌ ๊ฐ๊ธฐ