문제: PC가 꺼지면 작업이 끊긴다
집 PC(Windows + WSL)에서 Claude Code로 개발하고 있었는데, 문제가 하나 있었다. PC가 꺼지면 원격 접속이 끊겨서 작업이 중단된다는 것. 외출 중에 급하게 코드 수정해야 할 때, 다른 기기에서 이어서 작업하고 싶을 때 — 방법이 없었다.
해결 방향은 간단했다. 항상 켜져 있는 클라우드 서버에 개발 환경을 옮기면 된다. 마침 웹앱 배포용으로 쓰던 AWS Lightsail 인스턴스가 있어서, 거기에 개발 도구를 추가하는 방향으로 진행했다.
서버 사양 확인 — 새로 만들 필요가 있을까?
먼저 기존 Lightsail이 Claude Code를 돌릴 수 있는지 확인했다.
| 항목 | 현재 사양 | Claude Code 요구 |
|---|---|---|
| RAM | 2GB | 최소 1GB, 권장 2GB |
| vCPU | 2개 | 1개 이상 |
| SSD | 60GB | 여유 있음 |
됐다. 추가 비용 없이 기존 서버 그대로 쓸 수 있었다. 클라우드는 사양 올리면 월 비용이 바로 늘어나니까 기존 걸로 되는지부터 확인하는 게 맞다.
VS Code Remote SSH 연결
Lightsail 서버는 GUI가 없는 CLI 환경이다. vim으로 코딩할 수도 있겠지만, VS Code 자동완성이랑 파일 탐색기를 포기하기엔 아깝다.
VS Code의 Remote – SSH 확장 기능을 쓰면 내 PC의 VS Code에서 원격 서버 파일을 로컬처럼 편집할 수 있다. 파일 편집, 터미널, 디버깅 모두 서버에서 돌아가지만 화면은 내 PC에 뜬다.
필요한 것:
– VS Code 확장: Remote – SSH (마켓플레이스에서 설치)
– SSH 키: Lightsail 인스턴스 생성 시 발급된 .pem 파일
매번 긴 SSH 명령어 치는 건 귀찮으니까 ~/.ssh/config에 등록해뒀다:
Host my-server
HostName 서버IP
User ubuntu
IdentityFile ~/.ssh/키파일.pem
이러면 VS Code에서 my-server 선택만 하면 되고, 터미널에서도 ssh my-server 한 줄이면 된다.
Node.js 설치
Claude Code는 Node.js 위에서 돌아간다.
# nvm 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
# Node.js LTS 설치
nvm install --lts
apt install nodejs로도 되지만 nvm을 쓰면 버전 전환이 쉽고, sudo 없이 전역 패키지를 설치할 수 있어서 권한 문제가 안 생긴다.
Claude Code 설치
npm install -g @anthropic-ai/claude-code
설치 후 claude 치면 바로 실행된다.
프로젝트 가져오기
WSL에서 개발하던 프로젝트가 GitHub에 올라가 있어서 clone하면 됐다.
git clone https://github.com/사용자명/my-app.git
cd my-app
npm install
클라우드 DB 연결 (Neon)
로컬 DB를 쓰면 서버가 바뀔 때 데이터가 사라진다. 클라우드 DB로 바꾸면 어디서든 같은 데이터에 접근할 수 있다.
Neon(neon.tech)은 서버리스 PostgreSQL 서비스다. DB 서버를 직접 관리할 필요 없이, 쓴 만큼만 과금된다.
- neon.tech 가입 → 프로젝트 생성
- 리전: Singapore (서울은 없어서 제일 가까운 곳)
- Connection String 복사
Connection String은 DB 접속 주소+비밀번호가 하나로 합쳐진 문자열이다:
postgresql://사용자:비밀번호@호스트/DB명?sslmode=require
환경변수 설정
nano .env
DATABASE_URL=postgresql://사용자:비밀번호@호스트/DB명?sslmode=require
비밀번호 같은 민감 정보는 코드에 직접 쓰면 GitHub에 올릴 때 유출된다. .env에 분리하고 .gitignore에 등록해서 Git에 안 올라가게 하는 게 기본이다.
실수로 .env를 커밋했다면? git rm --cached .env로 추적 해제하고, 키를 즉시 재발급해야 한다. Git 히스토리에 남아있으니까 키를 바꾸는 게 유일한 해결책이다.
Prisma DB 동기화
npx prisma db push
코드에 정의한 데이터 구조(schema.prisma)를 실제 DB에 반영하는 명령어다. 성공하면 이런 메시지가 뜬다:
🚀 Your database is now in sync with your Prisma schema.
앱 실행 확인
npm run dev
브라우저에서 서버 IP로 접속해서 페이지가 뜨면 끝.
SSH 키 보안 관련
.pem 파일은 분실하면 재발급 안 된다. 안전한 곳에 백업하고, 권한을 chmod 400으로 설정해야 한다. 권한이 열려있으면(예: 644) SSH가 “키 파일이 안전하지 않다”면서 접속을 거부한다.
결과와 비용
완성된 구조:
– 어떤 기기에서든 VS Code → SSH → Lightsail로 코딩 가능
– 서버가 항상 켜져 있어서 작업 중단 없음
– Neon으로 어디서든 같은 DB 접근
– Prisma ORM으로 코드에서 DB 관리
| 서비스 | 역할 | 비용 |
|---|---|---|
| AWS Lightsail | 클라우드 서버 | 월 $10~20 |
| Neon | 클라우드 PostgreSQL | 무료 티어 (0.5GB) |
| GitHub | 코드 저장소 | 무료 |
| Anthropic API | Claude AI | 사용량 과금 |
| VS Code | 에디터 | 무료 |
비용이 부담되면 Oracle Cloud Free Tier(평생 무료 인스턴스)도 같은 방식으로 구축할 수 있다.


