How to 목록

// blog post

AWS EC2 t2.micro에 Claude Code 셋팅하기 — 삽질 기록 포함

|
awsec2claude-codetutorial

왜 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 install or 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에 접속해서 코드 리뷰하고, 간단한 수정을 지시하는 게 꽤 생산적이었어요.