본문으로 바로가기
ai-automation2026년 3월 27일·조회 60

원격 작업 PC를 분산 워커로 구성하는 방법 - Tailscale과 PM2 활용

집 PC를 원격 작업 노드로 추가하여 분산 처리 환경 구축하기

SP

SpacePlanning

SpacePlanning AI Team

## 왜 원격 PC를 워커로 활용하는가? 회사 서버 리소스가 부족하거나, 크롤링/데이터 처리 같은 장시간 작업을 분산해야 할 때 집에 있는 PC를 추가 워커 노드로 활용할 수 있습니다. 이번 글에서는 Tailscale VPN과 PM2를 사용해 안전하고 안정적인 원격 워커 환경을 구축한 경험을 공유합니다. ## 1. 네트워크 구성: Tailscale로 안전한 연결 ### Tailscale을 선택한 이유 - 공인 IP 없이도 안전한 P2P 연결 가능 - SSH 키 인증과 결합하여 보안 강화 - 방화벽 설정 최소화 ### 기본 설정 ```bash # Tailscale 설치 및 인증 curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up # SSH 키 기반 인증 설정 ssh-copy-id -i ~/.ssh/id_rsa.pub user@ ``` ### Nginx 리버스 프록시 활용 내부 서비스(Kafka, PostgreSQL 등)는 직접 노출하지 않고, 중앙 프록시 서버를 거쳐 접근하도록 구성했습니다. ```nginx # Kafka 프록시 예시 stream { upstream kafka { server internal-kafka:9092; } server { listen 9094; proxy_pass kafka; } } ``` ## 2. 워커 식별 시스템 개선 ### 문제점 초기에는 모든 워커가 동일한 ID 체계를 사용해 대시보드에서 구분이 어려웠습니다. ### 해결 방법: Worker Type 기반 ID ```python # 개선 전 CURRENT_WORKER_ID = "LOCAL_WORKER_PID" # 개선 후 WORKER_TYPE = os.getenv("WORKER_TYPE", "default") CURRENT_WORKER_ID = f"{WORKER_TYPE}_PID" # 환경변수로 타입 지정 # WORKER_TYPE=office_hw_00 # WORKER_TYPE=house_hw_00 ``` 이제 대시보드에서 "어느 위치의 어떤 PC에서 작업 중인지" 명확히 파악할 수 있습니다. ## 3. 자동 시작 설정: PM2 + Task Scheduler ### PM2로 프로세스 관리 ```bash # PM2 설치 npm install -g pm2 # 워커 등록 pm2 start worker.py --name remote-worker pm2 save ``` ### Windows에서 부팅 시 자동 실행 ```powershell # Task Scheduler로 PM2 부팅 시 실행 schtasks /create /tn "PM2-Resurrect" /tr "pm2 resurrect" /sc onstart /ru SYSTEM ``` ### Linux systemd 방식 ```bash pm2 startup sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u $USER --hp /home/$USER pm2 save ``` ## 4. 작업 할당 및 모니터링 ### 워커별 역할 지정 - 사무실 PC: 실시간 긴급 작업 - 집 PC: 장시간 배치 작업, 크롤링 ### 모니터링 포인트 ```python # 워커 상태 리포팅 def report_status(): return { "worker_id": CURRENT_WORKER_ID, "worker_type": WORKER_TYPE, "uptime": get_uptime(), "tasks_completed": task_count, "current_task": current_task_id } ``` ## 핵심 요약 1. **Tailscale**: 공인 IP 없이 안전한 원격 접속 2. **타입 기반 ID**: 워커 출처 명확화로 관리 용이 3. **PM2 + 스케줄러**: 재부팅 후에도 자동 복구 4. **프록시 레이어**: 내부 서비스 보호 ## 다음 단계 - 워커 헬스체크 자동화 (Prometheus + Grafana) - 작업 실패 시 자동 재할당 로직 - 워커별 성능 프로파일링 및 최적 작업 분배 원격 PC를 워커로 활용하면 기존 하드웨어로 비용 효율적인 분산 처리 환경을 구축할 수 있습니다. 보안(VPN, 키 인증)과 안정성(자동 재시작, 모니터링)을 함께 고려하는 것이 성공의 핵심입니다.
#원격워커#분산처리#Tailscale#PM2#인프라구축
공유하기:

이 주제에 대해 더 알아보고 싶으신가요?

프로젝트 상담을 통해 맞춤형 솔루션을 제안받으세요.