드디어 AWS에 배포했습니다

발행: (2026년 1월 9일 오전 01:40 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

첫 번째 시도와 청구 문제

AWS를 처음 사용한 것은 2023년이었는데, 그때 무료 티어가 12개월 동안 제공되었습니다. 취미 프로젝트를 호스팅하기 위해 무료 서버를 설정했지만 곧 청구가 발생했습니다. 아직 무료 티어 안에 있다고 생각했기 때문에 AWS 지원팀에 연락했습니다. 지원팀은 제가 무료 티어 외의 리소스를 사용하고 있다고 했지만, 어떤 리소스인지 정확히는 알려주지 않았습니다.

지원팀은 청구를 중단하겠다고 약속했지만, 다음 달에도 다시 청구가 되었습니다. 몇 차례 더 불만을 제기한 뒤, 눈에 잘 띄지 않는 서비스가 아직 실행 중이며 비용을 발생시키고 있음을 발견했습니다. 이와 같은 왕복이 약 6개월 동안 계속됐고, 결국 계정을 닫게 되었습니다. 이 경험 때문에 AWS에 대해 경계하게 되었고, 앞으로는 Heroku와 Render 같은 플랫폼을 사용하기로 했습니다.

AWS로 다시 돌아가기

이전의 좌절에도 불구하고, 많은 채용 공고에서 AWS 경험을 요구한다는 것을 알게 되었습니다. 다시 한 번 도전해 보기 위해 튜토리얼을 찾아보았지만, 대부분이 길고 인증 중심의 영상이라 간단히 배포만 해보려는 제 목표와 맞지 않았습니다.

결국 3시간짜리 간결한 튜토리얼을 찾아냈고, 이를 통해 다시 도전할 자신감을 얻었습니다.

Elastic Beanstalk 경험

튜토리얼을 진행하면서 AWS Elastic Beanstalk에 대해 배웠습니다. 이 서비스는 “코드를 푸시하면 AWS가 모든 것을 처리한다”는 경험을 약속했습니다. 홍보 영상은 부드러운 애니메이션과 쉬운 배포를 강조하며 인상적이었습니다.

하지만 실제로는 반복적인 오류에 부딪혔습니다. 로그에 접근하려면 콘솔을 통해 수동으로 요청해야 했고, 이는 느리고 종종 불완전했습니다. 결국 EB CLI, 환경 재시작, 기본 EC2 인스턴스 종료 등을 시도했음에도 로그를 전혀 확인할 수 없게 되었습니다. 3일간의 좌절 끝에 Elastic Beanstalk를 완전히 포기했습니다.

EC2로 돌아가기

보다 직접적인 방법을 선택해 EC2 인스턴스를 실행하고 systemd 서비스를 설정한 뒤 Nginx를 구성했습니다. 반나절 만에 다음과 같은 실용적인 환경을 만들 수 있었습니다:

  • 백엔드: EC2에서 실행되는 AI 챗봇
  • 프론트엔드: Vercel에 무료로 호스팅 (직접 시도해 볼 수 있습니다)

결론

이 이야기가 전하는 교훈은 하나의 단순한 교훈이 아니라 여러 기술적인 시사점들의 모음입니다:

  • 무료 티어 한도는 명확한 가시성이 없으면 쉽게 초과될 수 있다.
  • Elastic Beanstalk와 같은 관리형 서비스는 간단해 보이지만 복잡성을 숨길 수 있다.
  • 때로 가장 신뢰할 수 있는 해결책은 익숙한 도구로 직접 인프라를 구축하는 것이다.

기본으로 돌아가면서 취미 프로젝트에 가장 효과적인 경로를 찾을 수 있었습니다.

Back to Blog

관련 글

더 보기 »