초보자를 위한 VPS Hetzner 및 Coolify 가이드

1 month ago 13

  • 이 글은 HetznerCoolify를 이용한 VPS 자가 호스팅 절차를 단계별로 자세하게 문서화한 체크리스트임
  • Hetzner는 유럽에서의 낮은 지연시간, 뛰어난 가격 대비 성능, 투명한 요금제로 추천됨
  • 보안 중심의 초기 서버 셋업, SSH 보안, 방화벽, 자동 업데이트 설정법 등 실무에서 자주 만나는 이슈를 포함함
  • Node.js 앱을 안전하게 배포하는 프로덕션 환경 구성, 모니터링, 백업, 문제 해결 방법 등을 상세히 안내함
  • 스스로 서버를 구축하면서 DevOps 역량자유로운 관리 능력을 기를 수 있는 실용적인 안내서임

VPS 셋업 준비 체크리스트

  • VPS 서비스 공급자를 선택하는 항목에서 Hetzner가격/성능 면에서 추천 항목으로 언급됨
  • 최소 1GB RAM, 20GB 스토리지를 갖춘 사양 선택, 서버의 IP 주소루트 계정 정보 기록 필요
  • 로컬 머신에 SSH 클라이언트 준비, 강력한 비밀번호 생성기를 활용할 것

VPS 공급자 선택 이유

  • Hetzner Cloud유럽 지역에서는 저렴하고 빠르며 신뢰도가 높음
  • 대안: DigitalOcean(온보딩/문서 우수, 가격 상승), AWS Lightsail(AWS에 종속, 초보에 난이도 높음), Linode(안정적이나 가격경쟁력 낮음), Render/Fly.io(PaaS로 편리하나 비용과 제약이 많음)
  • Hetzner는 동일 사양 대비 2~3배 저렴함, 불투명한 과금 없음, 유럽 데이터센터 강점

초기 서버 셋업 체크리스트

첫 접속 및 시스템 업데이트

  • 패키지 목록 업데이트와 시스템 업그레이드
  • 시스템 정보 확인을 위한 명령어 제공(예: uname -a, cat /etc/os-release)

루트 계정 보안 설정

  • 복잡한 비밀번호 지정 및 안전한 저장 필요
  • 'admin', 'user'와 같은 관습적 계정 이름 대신 고유한 사용자 계정 생성
  • 신규 계정에 sudo 권한 부여, 정상적으로 적용여부 확인

SSH 키 인증 구성

  • 로컬 머신에서 Ed25519(권장) 혹은 RSA 키 쌍 생성
  • 공개키를 서버의 .ssh/authorized_keys에 추가 후 권한 설정
  • SSH 키 로그인 정상 작동 확인(패스워드 입력 없이 접속되는지)
  • 패스워드 인증 비활성화, 필요시 cloud-init 별도 파일도 점검
  • SSH 데몬 재시작 및 정상 작동상태 확인
  • 루트 로그인 비활성화로 원격 루트 접속 차단 확인

방화벽(Firewall) 설정 체크리스트

UFW 기본 설정

  • 모든 인커밍 기본 거부, 아웃고잉 허용
  • SSH, HTTP(80), HTTPS(443) 포트 허용 및 UFW 적용여부 확인
  • 옵션: SSH 포트 특정 IP로 제한, 포트 번호 변경(보안 강화 목적) 하여 추가 방어층 구현

자동 업데이트 설정 체크리스트

Unattended Upgrades 구성

  • unattended-upgrades, apt-listchanges 패키지 설치, 기본 사용 동의 선택
  • 보안 업데이트 항목 주석 해제 및 이메일 알림, 자동 재부팅 옵션 구성 가능
  • 자동 업데이트 동작 테스트, 상태 확인

프로덕션 애플리케이션 배포 체크리스트

Node.js 운영 환경 구성

  • Node.js LTS 설치, 버전 확인
  • 애플리케이션 파일 서버에 업로드 후, 의존성 설치로 실운영 준비

프로세스 매니저(PM2) 활용

  • PM2로 앱을 production 모드로 실행, 클러스터링 옵션
  • PM2 부팅 시 자동시작 설정, 재시작/모니터링 명령 제공

Reverse Proxy(Nginx) 설정

  • Nginx 사이트 설정파일 생성 및 프록시 패스 적용
  • 사이트 활성화 및 Nginx 재시작

SSL 인증서 설정 체크리스트

Let's Encrypt와 Certbot

  • certbot, python3-certbot-nginx 설치 후 도메인 기반 SSL 인증서 자동 발급
  • 갱신 자동화 옵션 및 인증서 유효성 테스트

모니터링 및 유지관리 체크리스트

기본 모니터링 방법

  • htop, iotop 등 시스템 자원 확인 툴 설치
  • syslog, auth.log 실시간 로그 모니터링 및 로그 순환 정책(logrotate) 설정

백업 전략

  • tar 이용 애플리케이션 및 데이터베이스 백업 스크립트 작성
  • 일정(crontab)에 따라 주기적 백업 수행

문제 해결 체크리스트

SSH 접속 문제

  • 방화벽 설정, SSH 서비스 상태, 인증 로그, 네트워크 확인

권한 관련 에러

  • 파일/폴더 권한, 그룹, sudo 설정 점검

서비스 미기동

  • systemctl, journalctl로 상태 및 로그 확인, 설정파일 문법 확인

리소스 과다 사용

  • 프로세스/디스크/네트워크/애플리케이션 로그 분석

최종 검증 체크리스트

보안 검증

  • SSH 키 인증/비밀번호 로그인/루트 로그인/방화벽/자동 업데이트/제품 모드/SSL/백업 등 전 항목 작동 여부 검토

성능 테스트

  • Apache Bench로 부하 테스트 및 자원 모니터링, 로그 에러 확인

빠른 참고 명령어 목록

시스템 정보 확인

  • htop, df -h, free -h, uname -a

프로세스 관리

  • pm2 status, pm2 restart all, pm2 logs, pm2 monit

보안 관련

  • sudo ufw status, sudo fail2ban-client status, sudo lynis audit system

서비스 관리

  • sudo systemctl status nginx, sudo systemctl restart nginx, sudo journalctl -u nginx

마무리

  • 이 체크리스트는 완전한 VPS 셋업·관리 절차를 제공함
  • 저렴한 비용 뿐 아니라 직접 관리와 학습, DevOps 자율성을 얻을 수 있음
  • Hetzner와 Coolify를 통한 셀프 호스팅은 실전 경험을 통한 신뢰와 자유로움 경험을 가능케 함
  • VPS 호스팅에 도전하려는 이들에게 실질적 가이드 역할을 하는 콘텐츠임

Read Entire Article