// blog post
AWS EC2 t2.micro에 Claude Code 셋팅하기 — 삽질 기록 포함
왜 EC2에 설치했을까요
Claude Code는 터미널에서 실행되는 AI 코딩 에이전트입니다. 로컬 PC가 아닌 원격 서버에 설치하면 어디서든 접속할 수 있고, 모바일에서도 바이브 코딩이 가능해집니다.
처음엔 "프리티어 EC2로도 되지 않을까?" 하는 가벼운 마음으로 시작했는데, 예상치 못한 삽질이 있었습니다. 그 과정을 솔직하게 공유해볼게요.
AWS EC2 t2.micro는 프리티어 대상이라 12개월간 월 750시간을 무료로 사용할 수 있습니다. 다만 솔직히 말씀드리면, 바이브 코딩을 본격적으로 하다 보면 — 특히 풀스택 마이크로서비스를 구축하면서 도커에 올리는 경우 — t2.micro는 턱없이 부족합니다.
랜딩페이지를 빠르게 만들어서 고객과 소통하는 용도로 시작해보시는 걸 추천합니다.
인스턴스 생성
AWS 콘솔에서 EC2 > 인스턴스 시작을 클릭합니다.
- AMI: Ubuntu 24.04 LTS (프리티어 대상)
- 인스턴스 유형: t2.micro (1 vCPU, 1GB RAM)
- 키 페어: 새로 생성하거나 기존 키 사용 (PEM 형식 다운로드)
- 보안 그룹: SSH(22번 포트) 인바운드 허용
- 스토리지: 20GB gp3 (프리티어 30GB까지 무료)
보안 그룹에서 SSH 접속을 0.0.0.0/0으로 열어두면 편하지만, 가능하면 본인 IP로 제한하세요. Tailscale을 사용한다면 보안 그룹을 더 엄격하게 설정할 수 있습니다.
SSH 접속
인스턴스가 실행되면 퍼블릭 IP를 확인합니다.
# PEM 키 권한 설정
chmod 400 my-key.pem
# SSH 접속
ssh -i my-key.pem ubuntu@<퍼블릭-IP>
VibeShell에서 접속하려면 PEM 키를 앱에 등록하면 됩니다. 자세한 방법은 연결 가이드를 참고해보세요.
Node.js 설치
Claude Code는 Node.js 18 이상이 필요합니다. nvm으로 설치하는 게 관리하기 편합니다.
# nvm 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
# Node.js LTS 설치
nvm install --lts
node -v # v24.x.x 확인
Claude Code 설치 및 설정
# Claude Code 설치
npm install -g @anthropic-ai/claude-code
중간에 npm 업데이트 메시지가 나올 수 있습니다. 업데이트해주세요.
# npm 업데이트
npm install -g npm@11.10.0
설치가 끝나면 프로젝트 디렉토리로 이동해서 실행합니다.
# 프로젝트 폴더 만들고 Claude Code 실행하기
mkdir -p ~/projects/my-project && cd ~/projects/my-project
claude .
Claude Code가 실행되면 키 설정 안내가 나옵니다. 지시대로 수행하면 됩니다.
완료 후 노란색으로 이런 문구가 나타납니다:
Claude Code has switched from npm to native installer. Run
claude installor see https://docs.anthropic.com/en/docs/claude-code/getting-started for more options.
/exit로 빠져나온 후 native 설치를 진행합니다.
# native Claude Code 설치하기
claude install
여기서 문제가 발생합니다 — 메모리 부족
실행하면 이런 결과가 나옵니다:
$ claude install Installing Claude Code native build latest... Killed
처음 이걸 보고 당황했습니다. "Killed"라니... 😅 원인은 t2.micro의 1GB RAM으로는 설치 과정에서 메모리가 부족한 거였습니다.
해결 방법은 스왑 메모리를 추가하는 것입니다.
# 스왑 파일 4GB 생성
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
재부팅해도 유지되도록 영구 적용합니다:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
스왑을 추가한 후 다시 claude install을 실행하면 정상적으로 설치됩니다. 이 삽질 하나에 한 시간을 날렸네요.
PATH 설정
마지막으로, 설치 후 나타나는 안내에 따라 PATH를 설정합니다.
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
정리
EC2 t2.micro에 Claude Code를 설치하는 과정은 크게 어렵지 않지만, 메모리 부족이라는 함정이 있습니다. 스왑 메모리 추가가 핵심이에요.
설치가 끝나면 tmux를 설정해서 세션을 유지하도록 해두는 걸 추천합니다. 모바일에서 접속했다가 연결이 끊겨도 작업이 날아가지 않거든요.
저도 이 환경으로 VibeShell 개발 초기에 많이 작업했습니다. 출퇴근 지하철에서 EC2에 접속해서 코드 리뷰하고, 간단한 수정을 지시하는 게 꽤 생산적이었어요.