과정1. Google Cloud 에서 Compute 대여 하기
Google Cloud 에 접속 -> Compute Engine -> VM 인스턴스 생성 하기를 진행합니다.
인스턴스 종류가 여러개 있으나, 가장 저렴한 것을 사용합니다. (E2-micro)
: 가장 저렴 ... 인스턴스. 나머지는 괜찮지만 메모리 작은 것이 좀 걸림.
참고사항1: 리전에 따라 금액이 달라짐 (Co2 태그 달린 것들이 10 ~ 15 % 싼듯? )
하지만 싸구려 인스턴스 (E2-micro) 는 CPU 자체도 너무 느려 설치까지 너무 오래 걸림. 결국 좀더 비싸 인스턴스로 변경하였습니다. 금액은 $31 로 n8n 자체 호스팅 보다 더 비싼진 격입니다.
과정2. n8n 을 설치하자.
GPT 가이드 대로 npm 으로 n8n 설치 하였으나, 관련 패키지 깔다가 혼자서 버전 충돌나서 강제 종료 됨.
n8n 매뉴얼에서 docker 로 설치 가이드가 있음을 기억하고 docker container 실행으로 노선을 변경 하였습니다.
# 필수 패키지 업데이트 및 설치
sudo apt update && sudo apt install -y curl gnupg
# Node.js 설치
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
# n8n 설치
sudo npm install -g n8n
서버 기본 설정 부터 ..
먼저 docker daemon 을 설치 합니다. 방법은 GPT 에게 전수 받습니다.
그리고 매뉴얼 따라서 docker container 로 로 n8n 설치
https://docs.n8n.io/hosting/installation/docker/#prerequisites
역시 한방에 성공될 수가 없음 ....
해결1: 외부에서 접속 가능하도록 방화벽을 뚫자 !
gcloud compute firewall-rules create allow-n8n \
--direction=INGRESS \
--priority=1000 \
--network=default \
--action=ALLOW \
--rules=tcp:5678 \
--source-ranges=0.0.0.0/0 \
--description="Allow external access to n8n on port 5678"
하지만 명령어가 먹히지 않음 ....
Creating firewall...failed. ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: - Request had insufficient authentication scopes.
해결2: 권한을 추가하자
IAM 에 가서 compute 를 마음대로 조정 할 수 있는 슈퍼 유저가 되도록 함.
이제 크롬에 가서 외부 IP 로 접속 됨을 확인 하려고 하였으나,... 아래와 같은 웹페이지 문구 발생
HTTP 로 접속을 하라고 한다... 이를 위해서는 docker container 를 다시 실행 해야 함.
해결3: HTTPS 로 실행 되도록 docker container 를 재실행 하자.
docker run -d \
--name n8n_instance \
-p 5678:5678 \
-e N8N_SECURE_COOKIE=false \
docker.n8n.io/n8nio/n8n
GPT 가이드:
✔ 보안을 유지하면서 사용하려면 → HTTPS 적용 (nginx + Let's Encrypt 설정)
✔ 빠르게 해결하려면 → N8N_SECURE_COOKIE=false
환경 변수 설정
✔ 로컬 환경에서만 실행하려면 → localhost
에서 접속
저는 2번으로 진행 하였습니다.
과정3: 기존과 어떻게 다른지 확인하자
google cloud 결과:
n8n 서버 결과:
좀 느려진듯? 리전이 아이오와 때문인가?? 생각됨.... 하지만 이미 실행 시간이 들쑥날쑥 이었기 때문에 추가 테스트 필요할 듯 함.
TBD: Langsmith 로 OpenAI 의 performance evaluation 하기
: