메인 콘텐츠로 건너뛰기
page thumbnail

VPS에 AI 에이전트를 올리는 이유와 실제 배포 과정 설명

DODOSEE
DODOSEE
조회수 70
요약

클립으로 정리됨 (생성형 AI 활용)

출처 및 참고 : https://www.youtube.com/watch?v=pPRoAs8xh2o

Generated imageAI 에이전트를 만들면 곧바로 나오는 고민이 있다. 어디에 올려서 계속 돌릴 것인가 하는 문제입니다. 클라우드 SaaS에 맡길 수도 있지만, 직접 VPS에 셀프 호스팅하면 비용, 데이터 통제, 확장성 측면에서 전혀 다른 선택지가 열립니다.

이 글에서는 해커뉴스를 매일 크롤링하고, GPT 5.1 기반 분석 리포트를 생성하는 간단한 AI 에이전트 하나를 예시로 삼아,

  • 왜 VPS 셀프 호스팅이 의미가 있는지

  • Python 에이전트를 AI 코드 도구로 빠르게 만드는 흐름

  • Hostinger VPS에 배포하고 자동 실행까지 연결하는 단계

  • 마지막으로 이 방식의 한계와 현실적인 고려사항

까지 하나의 흐름으로 정리합니다.

클라우드 대신 VPS에 AI 에이전트를 올려야 하는 이유

AI 에이전트를 운영하는 방식은 크게 세 가지로 나눌 수 있습니다. 클라우드형 SaaS, 완전 관리형 클라우드 서비스, 그리고 VPS 기반 셀프 호스팅입니다.

VPS를 선택했을 때 가장 큰 장점은 데이터와 서버에 대한 통제권입니다. 서버가 남의 계정이 아니라 본인의 VPS 내에서만 돌아가므로, 로그·크롤링 데이터·LLM 출력물 등을 어떻게 저장하고, 얼마나 보관할지 직접 결정할 수 있습니다.

두 번째 장점은 비용 구조입니다. SaaS형 AI 자동화 서비스는 에이전트 수, 사용량, 실행 횟수에 따라 과금이 빠르게 늘어날 수 있습니다. 반면 Hostinger의 KVM2 같은 VPS 플랜은 고정 비용에 가까운 구조라, 여러 개의 에이전트를 한 서버에서 돌릴수록 단위 비용이 낮아지는 효과가 있습니다.

세 번째는 종속성 최소화입니다. 특정 플랫폼의 워크플로 빌더나, 폐쇄형 자동화 도구에 묶이지 않고, Python 스크립트 + 크론(job scheduler) 형태로 만들어 두면 서버만 옮겨도 그대로 재사용할 수 있습니다.

정리하면, 데이터 프라이버시를 신경 쓰거나, 장기간 여러 에이전트를 운영할 계획이라면 VPS 기반 셀프 호스팅이 전략적으로 더 유연한 선택이 됩니다.

예시 시나리오: 해커뉴스 요약·분석 AI 에이전트

이 글에서 사용하는 예시는 다음과 같은 기능을 가진 에이전트입니다.

  • 매일 정해진 시각에 해커뉴스(Hacker News) 메인 페이지를 가져와

  • 상위 10개 게시글을 골라 마크다운 파일로 저장한 뒤

  • GPT 5.1 thinking 모델에 이 내용을 보내 AI 관련 트렌드와 인사이트를 텍스트로 받아서

  • 같은 마크다운 파일에 함께 적재하는 구조입니다.

핵심은 이 에이전트가 VPS에서 매일 자동으로 실행된다는 점입니다. 주말이든, 여행을 가든, 몇 주 동안 터미널을 열지 않더라도 VPS는 계속 돌아가며 리포트를 쌓습니다.

이런 식의 에이전트는 해커뉴스뿐 아니라 다음과 같이 쉽게 확장 가능합니다.

  • AI·머신러닝 논문이 올라오는 arXiv

  • 특정 키워드를 모니터링하는 트위터(X) 타임라인

  • 관심 산업의 주요 커뮤니티나 포럼

즉, 구조만 잡아 두면 모니터링 대상과 분석 프롬프트를 바꿔서 재사용할 수 있는 패턴입니다.

AI 코드 도구를 활용해 Python 에이전트 뼈대 만들기

이 예시에서는 Cursor, Codex 같은 AI 코딩 도구를 적극적으로 활용합니다. 목표는 "직접 프레임워크 설계에 시간을 쓰지 않고, 최소한의 영어 설명만으로 프로젝트 뼈대를 얻는 것"입니다.

먼저 IDE에서 비어 있는 프로젝트를 하나 만든 뒤, build_idea.md 파일에 에이전트의 요구사항을 자연어로 적어 넣습니다.

예를 들어:

  • 해커뉴스 front page 크롤링

  • 상위 10개 게시물 추출

  • 결과를 마크다운 파일에 저장

  • 추후 VPS에서 크론으로 매일 실행

정도가 들어갑니다.

이후 AI 코드 도구에 "이 빌드 아이디어에 맞는 Python 전용 프로젝트 구조를 만들어 달라"고 요청하면, data, scripts, src 폴더와 여러 개의 짧은 Python 파일이 생성됩니다. 각 파일은 20~30줄 정도로 역할이 분리되어 있어 유지보수가 용이합니다.

로컬 테스트는 보통 다음 순서로 진행됩니다.

  1. Python 가상환경 활성화 (예: Conda 환경 testing 사용)

  2. pip install -r requirements.txt로 의존성 설치

  3. python scripts/run_digest.py 실행

여기까지 정상 동작하면, 해커뉴스 상위 10개 게시물 목록이 마크다운으로 출력되며 기본 스크레이퍼 기능은 완료됩니다.

단순 스크레이퍼를 AI 에이전트로 확장하는 방법

스크레이퍼 자체는 단순한 자동화에 가깝습니다. 이를 "에이전트" 수준으로 올리려면 LLM을 통해 데이터를 재가공하는 단계가 필요합니다.

이 예시에서는 Perplexity의 deep research 기능을 사용해 OpenRouter 문서를 조사하고, GPT 5.1 thinking 모델을 medium → low reasoning effort 정도로 사용하는 방법을 정리합니다. 조사 결과는 docs/open_router.md 같은 문서로 프로젝트 안에 보관해 두고, AI 도구가 참조하도록 합니다.

그 다음 AI 코드 도구에 다음과 비슷한 요구를 전달합니다.

  • 해커뉴스를 스크랩한 뒤

  • 그 결과를 GPT 5.1 thinking 모델로 전송하여

  • AI 관련 동향·실행 가능한 인사이트를 추출하고

  • 응답 텍스트를 기존 마크다운 파일 아래에 덧붙이도록 코드 수정

이 과정을 거치면, 결과 파일에는 단순 링크 목록이 아니라 수백 줄에 달하는 분석 레포트가 생깁니다. 예시에서는 AI 인프라 통합, 엣지 추론 증가 같은 트렌드가 자동으로 감지됩니다.

추가로, 디버깅 및 상태 파악을 위해 콘솔 로그를 늘리는 것도 중요합니다. "지금 해커뉴스를 가져오는 중인지, LLM 분석 중인지"를 알 수 있도록 여러 개의 print 문을 추가하면 문제 발생 시 원인 파악이 훨씬 쉬워집니다.

환경 변수, Git, API 키 관리에서 주의할 점

이 프로젝트에서는 .env 파일에 SSH 비밀번호, OpenRouter API 키 같은 민감 정보를 저장합니다. 여기서 중요한 점은 다음 두 가지입니다.

  • .env는 반드시 .gitignore에 포함해 Git으로 추적하지 않아야 합니다.

  • API 키와 VPS 비밀번호는 비밀번호와 동일한 수준으로 비공개로 유지해야 합니다.

AI 코드 도구에 "이 프로젝트에 맞는 포괄적인 .gitignore를 만들어 달라"고 요청하면 .env, 가상환경 폴더, 빌드 산출물 등이 자동으로 제외된 설정을 얻을 수 있습니다.

Git 사용 흐름은 비교적 단순합니다.

  • git init으로 로컬 저장소 초기화

  • git add .로 변경 파일 전체 스테이징

  • git commit -m "first commit" 처럼 의미 있는 단위로 커밋

이후 LLM 처리 기능을 추가한 뒤에는 git commit -m "added llm processing" 같이 변경점을 명확하게 기록해 둡니다.

이렇게 해 두면, 에이전트를 AI 도구로 계속 수정하다가 코드가 꼬여도 이전 커밋으로 되돌아가기가 훨씬 수월합니다.

Hostinger VPS 선택과 SSH 접속 기본 흐름

이제 완성된 에이전트를 Hostinger VPS로 옮기는 단계입니다.

예시에서는 Hostinger의 여러 VPS 플랜 중 KVM2 플랜을 기준으로 설명합니다. 이 플랜은 100GB 스토리지를 제공하며, 영상에서는 팀 내부에서도 같은 플랜을 사용하고 있다고 언급합니다.

구매 절차에서 눈여겨볼 부분은 다음입니다.

  • 기간: 24개월 옵션을 선택하면 장기간 에이전트를 돌리는 전제에서 단가가 낮아집니다.

  • 추가 혜택: 24개월 플랜의 경우 1년 무료 도메인이 포함됩니다.

  • 쿠폰 코드: 결제 화면에서 쿠폰 입력란에 "David"를 입력하면 플랜 금액의 10%를 추가로 할인받을 수 있습니다.

  • 서버 위치: 가장 가까운 리전을 선택해 네트워크 지연을 줄입니다.

결제가 완료되면 Hostinger 패널의 VPS 메뉴에서 CPU, 메모리, 스토리지 상태와 함께 root SSH 접속 정보를 확인할 수 있습니다.

SSH는 Secure Shell의 약자로, 터미널에서 원격 리눅스 서버에 접속하는 표준적인 방식입니다. 이 프로토콜을 사용하면:

  • 어느 지역에서든 터미널만 있으면 서버에 접속할 수 있고

  • 통신이 암호화되어 중간에서 가로채기가 어렵고

  • 파일 전송(SCP, SFTP 등)을 함께 사용할 수 있습니다.

로컬 터미널에서 Hostinger 패널의 "root access" 옆 복사 버튼으로 명령을 복사한 뒤, 붙여넣기하고 비밀번호를 입력하면 VPS에 로그인할 수 있습니다.

이후 기본적인 흐름은 다음과 같습니다.

  • mkdir hacker_news_agent로 새 디렉터리 생성

  • cd로 해당 폴더로 이동

  • sudo apt update 및 필요한 패키지 설치 (Python, pip, venv 등)

Hostinger VPS는 기본적으로 필요한 도구 상당수가 설치되어 있어, 추가 작업이 비교적 간단한 편입니다.

SCP와 가상환경으로 VPS에 에이전트 배포하기

코드를 직접 복붙하지 않고, SCP(Secure Copy)를 이용하면 로컬 프로젝트 전체를 한 번에 업로드할 수 있습니다. SCP는 SSH 기반이라, 같은 인증 정보를 그대로 사용합니다.

배포 흐름은 다음과 같습니다.

  1. 로컬에서 pwd로 현재 프로젝트의 절대 경로를 확인

  2. AI 코드 도구에 이 경로를 알려주고, SCP 명령을 해당 경로 기준으로 업데이트하도록 요청

  3. SSH 세션과는 별도의 새 터미널에서 SCP 명령 실행

  4. 다시 비밀번호를 입력하면 프로젝트 파일들이 VPS로 복사

Hostinger KVM2 플랜에서 제공하는 100GB 스토리지는 이 예시처럼 로그·리포트 중심 프로젝트에는 충분한 용량입니다.

파일 업로드 후에는 다시 VPS에 SSH 접속을 하고, 다음 순서를 진행합니다.

  • 프로젝트 폴더로 cd 이동

  • python -m venv venv로 가상환경 생성

  • source venv/bin/activate로 가상환경 활성화

  • pip install -r requirements.txt 실행

마지막으로 python scripts/run_digest.py를 다시 실행하여 "해커뉴스 크롤링 → 분석 리포트 생성"이 이제는 VPS 상에서 제대로 돌아가는지 확인합니다.

이 시점부터는 노트북 성능과 관계없이, 원격 서버 하나만 잘 관리하면 에이전트를 안정적으로 유지할 수 있습니다.

크론(cron) 설정으로 매일 자동 실행 스케줄링

에이전트가 VPS에서 한 번 잘 동작하는 것이 확인되었다면, 다음 단계는 크론(cron)을 이용해 주기적으로 실행되도록 설정하는 일입니다.

SSH로 VPS에 접속한 상태에서:

  • crontab -e를 입력하면 크론 편집기가 열립니다.

  • 처음 실행하는 경우 여러 편집기 중 nano를 선택하면 가장 단순합니다.

  • 화살표 키로 주석(파란색 # 줄) 아래로 내려가 맨 아래에 새 줄을 추가합니다.

AI 코드 도구가 만들어 준 크론 명령에는 이미 OpenRouter API 키와 실행 경로가 반영되어 있습니다. 예시에서는 매일 오전 9시에 실행되도록 스케줄을 넣습니다.

Nano에서 저장·종료 순서는 다음과 같습니다.

  • Ctrl + O로 파일 쓰기

  • Enter로 확인

  • Ctrl + X로 편집기 종료

정상적으로 등록되었는지는 crontab -l로 다시 확인할 수 있습니다. 등록한 명령이 출력되면, 이제 VPS는 매일 오전 9시마다 에이전트를 자동 실행합니다.

이 구조에서는 사용자가 한동안 코드를 손대지 않아도:

  • 해커뉴스 상위 10개 글이 매일 수집되고

  • GPT 5.1 thinking 모델이 AI 관련 흐름을 분석하고

  • 결과 리포트가 마크다운 파일로 누적됩니다.

원하는 시점에 VPS에 접속해 마크다운 리포트만 모아서 읽어도, 두 주 정도 비워 둔 뒤 단번에 AI 업계 동향을 따라잡는 용도로 활용할 수 있습니다.

VPS 기반 AI 에이전트 운영에 대한 현실적인 해석

이 방식은 개인 또는 소규모 팀이 AI 에이전트를 장기 운영하는 데 매우 적합하지만, 몇 가지 현실적인 제약이 존재합니다.

첫째, VPS와 SSH, 크론에 대한 기초적인 리눅스 이해가 필요합니다. 영상 속에서는 AI 코드 도구의 안내를 거의 그대로 따르며 설치·설정을 진행하지만, 실제 운영 환경에서는 패키지 버전 충돌, 디스크 사용량 증가, 보안 패치 등 추가 변수가 발생할 수 있습니다.

둘째, 비용 구조가 무조건 유리한 것은 아닙니다. Hostinger KVM2처럼 정액제에 가까운 VPS는 여러 에이전트를 오래 돌릴수록 효율적이지만, 단기간 실험이나 사용량이 거의 없는 프로젝트라면 서버리스 함수나 일시적 SaaS가 더 싸게 나올 가능성도 있습니다.

셋째, 보안 관리 책임이 온전히 사용자 측에 있습니다. API 키와 SSH 비밀번호, .env 파일 보호, 크레덴셜 로테이션을 제대로 하지 않으면 VPS가 공격이나 오용에 노출될 우려가 있습니다. 영상에서는 "비밀번호를 공개했으니 촬영 후 바로 변경할 예정"이라고 언급하는데, 이는 실제 환경에서도 필수적인 관리 절차입니다.

넷째, LLM 호출 비용과 성능도 변수입니다. GPT 5.1 thinking처럼 reasoning 기능이 강한 모델은 출력 품질이 높은 대신 응답 시간이 길고 비용이 더 나갈 수 있습니다. 예시에서 reasoning effort를 medium에서 low로 낮추는 조정이 나온 것도 성능과 속도의 균형을 맞추기 위한 선택으로 해석할 수 있습니다.

마지막으로, 이 아키텍처는 하나의 VPS에서 수십~수백 개 에이전트를 돌리는 확장성을 보여주지만, CPU·메모리 사용량이 특정 시점에 급증하는 워크로드(대규모 배치, 무거운 모델 서빙 등)에는 추가 설계가 필요합니다. 영상에서는 "CPU < 1%, 메모리 13% 사용" 상태를 보여주며 여유를 강조하지만, 이는 비교적 가벼운 크롤러+API 호출 조합이라는 전제를 가지고 있습니다.

종합하면,

  • 프라이버시, 장기 운영, 맞춤형 자동화를 중시하는 경우에는 VPS 셀프 호스팅이 상당히 합리적인 선택이며

  • 보안, 리눅스 운용, LLM 비용 관리에 대해 어느 정도 책임을 질 준비가 되어 있어야 실제 운영에서 문제를 줄일 수 있습니다.

마무리하면, 해커뉴스 모니터링 예시는 단지 하나의 구현 사례에 불과합니다. 같은 패턴을 적용하면 뉴스, 논문, 소셜 피드, 내부 로그 등 다양한 데이터 소스를 대상으로 "수집 → 요약 → 인사이트 도출 → 저장" 흐름을 갖춘 AI 에이전트를 VPS 위에서 상시 가동할 수 있습니다.

장기간 쌓인 리포트는 개인 리서치, 기업 컨설팅, 콘텐츠 제작 등 여러 방면에서 쓰임새가 큽니다. 중요한 것은 에이전트 자체보다도, 이 에이전트를 원하는 인프라 위에 직접 올릴 수 있는 능력이며, VPS 셀프 호스팅은 그 능력을 실질적으로 확보하는 한 가지 방법으로 볼 수 있습니다.

출처 및 참고 :

이 노트는 요약·비평·학습 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.