초보자를 위한 AWS 시작하는 방법, 계정부터 비용 관리까지

얼마 전 지인이 작은 쇼핑몰을 만들면서 서버를 어디에 올려야 하냐고 물어봤습니다. 예전 같으면 호스팅 업체 몇 곳을 비교했을 텐데, 요즘은 자연스럽게 AWS 이야기가 먼저 나오더라고요. 그런데 막상 AWS 콘솔에 들어가면 EC2, S3, RDS, IAM 같은 이름이 한꺼번에 보여서 처음엔 꽤 부담스럽습니다.
사실 AWS는 모든 기능을 다 알아야 쓰는 서비스가 아닙니다. 처음에는 딱 필요한 몇 가지만 잡고 시작하는 게 훨씬 편합니다. 개인 프로젝트나 작은 서비스 기준으로 보면 계정 보안, 서버, 저장소, 데이터베이스, 비용 알림 정도만 알아도 첫 발은 충분히 뗄 수 있습니다.
AWS를 처음 켤 때 가장 먼저 할 일
AWS 계정을 만들면 바로 서비스를 만들고 싶어집니다. 근데 저는 계정 보안부터 잡는 걸 먼저 추천합니다. 클라우드는 클릭 몇 번으로 서버가 생기는 만큼, 실수도 클릭 몇 번으로 커질 수 있거든요.
가장 먼저 루트 계정에는 MFA를 켜는 게 좋습니다. MFA는 비밀번호 외에 휴대폰 앱 같은 추가 인증을 거치는 방식입니다. 특히 루트 계정은 AWS 계정 전체를 관리하는 가장 강한 권한이라 평소 작업용으로 쓰지 않는 편이 안전합니다.
- 루트 계정 MFA 설정
- 작업용 IAM 사용자 또는 IAM Identity Center 구성
- 결제 알림과 예산 알림 설정
- 사용하지 않는 리전에는 리소스를 만들지 않는 습관 들이기
초보자 입장에서 제일 크게 체감되는 건 비용 알림입니다. 예를 들어 월 5달러, 10달러, 30달러처럼 예산을 정해두고 알림을 걸어두면 예상 밖의 과금이 생겼을 때 훨씬 빨리 알아차릴 수 있습니다. 작은 토이 프로젝트라도 이 설정은 초반에 해두는 편이 마음이 편합니다.
자주 쓰는 AWS 서비스는 이렇게 이해하면 쉽습니다
AWS 서비스 이름은 처음 보면 낯설지만, 역할로 나눠보면 생각보다 단순합니다. EC2는 빌린 컴퓨터, S3는 파일 창고, RDS는 관리형 데이터베이스, CloudFront는 콘텐츠를 빠르게 전달하는 배달망에 가깝습니다.
EC2는 직접 관리하는 서버입니다
EC2는 가장 전통적인 서버 사용 방식과 비슷합니다. 가상 컴퓨터 한 대를 빌려서 거기에 웹 서버, 백엔드 앱, 배치 프로그램 등을 올릴 수 있습니다. 자유도가 높다는 장점이 있지만 운영체제 업데이트, 보안 그룹, 포트 설정, 용량 관리 같은 부분도 직접 챙겨야 합니다.
작은 테스트라면 t 계열의 작은 인스턴스로도 충분한 경우가 많습니다. 다만 켜둔 시간만큼 비용이 나가니 실습 후에는 중지하거나 삭제하는 습관이 필요합니다. 중지만 해도 디스크 비용은 남을 수 있어서, 완전히 안 쓸 리소스는 볼륨까지 확인하는 편이 좋습니다.
S3는 파일을 보관하는 공간입니다
S3는 이미지, 문서, 백업 파일, 정적 웹사이트 파일을 저장할 때 자주 씁니다. 개인 블로그의 이미지 파일이나 앱에서 업로드한 프로필 사진처럼 서버 디스크에 두기 애매한 파일을 넣기 좋습니다.
여기서 중요한 건 공개 설정입니다. S3 버킷을 실수로 공개하면 원하지 않는 파일이 외부에 노출될 수 있습니다. 반대로 웹사이트 이미지처럼 공개가 필요한 파일은 CloudFront와 함께 쓰면 속도와 캐싱 측면에서 유리합니다. 파일 저장소라고 가볍게 보면 안 되고, 접근 권한을 처음부터 차분히 잡아야 합니다.
작은 웹서비스를 만든다면 어떤 조합이 좋을까
예를 들어 방문자가 하루 100명에서 1,000명 정도인 작은 웹서비스를 만든다고 해보겠습니다. 가장 단순한 구성은 EC2 한 대에 애플리케이션과 웹 서버를 함께 올리는 방식입니다. 빠르게 시작하기에는 좋지만, 서버가 죽으면 서비스도 같이 멈춘다는 단점이 있습니다.
조금 더 안정적으로 가려면 정적 파일은 S3에 두고, CloudFront로 전달하고, 데이터베이스는 RDS를 쓰는 구성이 편합니다. 앱 서버만 EC2나 컨테이너 서비스에 올리면 역할이 분리돼서 나중에 문제를 찾기도 쉽습니다.
- 정적 블로그: S3 + CloudFront
- 간단한 백엔드 앱: EC2 + RDS
- 파일 업로드가 있는 서비스: EC2 또는 앱 서비스 + S3
- 트래픽이 늘어날 가능성이 큰 서비스: 로드 밸런서 + Auto Scaling 검토
솔직히 처음부터 완벽한 아키텍처를 만들 필요는 없습니다. 다만 데이터베이스와 파일 저장소는 나중에 옮기기 귀찮은 경우가 많아서, 초반부터 EC2 내부에 전부 몰아넣는 방식은 조심하는 편이 좋습니다. 특히 사용자가 올린 파일은 S3처럼 분리된 저장소에 두면 백업과 이전이 훨씬 수월합니다.
비용이 무서운 사람을 위한 체크포인트
AWS가 어렵게 느껴지는 이유 중 하나는 비용이 딱 고정되어 보이지 않는다는 점입니다. 월 1만 원짜리 호스팅처럼 단순하지 않고, 사용량에 따라 계산됩니다. 그래서 처음에는 성능보다 비용 구조를 이해하는 게 더 중요할 때도 있습니다.
대표적으로 EC2는 켜져 있는 시간, EBS는 디스크 용량, S3는 저장 용량과 요청 수, 데이터 전송은 나가는 트래픽에 따라 비용이 붙습니다. RDS도 인스턴스 크기와 스토리지, 백업 보관 기간에 따라 달라집니다. 작은 서비스에서는 몇 달러 수준으로 끝날 수도 있지만, 로그나 백업을 방치하면 생각보다 금액이 커질 수 있습니다.
- Budget에서 월 예산 알림 만들기
- 사용하지 않는 EC2, RDS, 로드 밸런서 삭제
- 테스트용 리소스에는 이름 태그 붙이기
- S3 버킷과 스냅샷을 주기적으로 확인
- CloudWatch 로그 보관 기간 설정
저는 테스트 리소스를 만들 때 이름에 dev, test, temp 같은 단어를 넣어둡니다. 나중에 콘솔에서 훑어볼 때 훨씬 빨리 구분됩니다. 그리고 금요일 밤에 새 서비스를 켜놓고 잊어버리는 일이 은근히 많아서, 실습용이라면 캘린더 알림까지 걸어두는 것도 괜찮습니다.
AWS를 덜 어렵게 익히는 순서
처음부터 Kubernetes, 서버리스, 멀티 리전 같은 단어를 붙잡으면 금방 지칩니다. 먼저 웹서비스 하나가 어떻게 돌아가는지 감을 잡는 게 좋습니다. 도메인이 있고, 사용자가 접속하고, 서버가 응답하고, 데이터베이스에 저장하고, 이미지 파일을 불러오는 흐름을 그려보면 AWS 서비스도 역할별로 보이기 시작합니다.
추천하는 순서는 단순합니다. 먼저 S3에 정적 페이지를 올려보고, 그다음 EC2에 간단한 웹 서버를 띄워봅니다. 이후 RDS를 연결하고, CloudFront와 도메인을 붙이면 됩니다. 이 정도만 해도 실제 서비스 운영의 기본 흐름은 꽤 많이 경험하게 됩니다.
AWS는 거대한 도구함에 가깝습니다. 모든 도구를 한 번에 꺼내면 복잡하지만, 지금 만들려는 것에 맞는 도구만 꺼내면 생각보다 현실적인 선택지가 됩니다. 처음에는 작게 만들고, 비용 알림을 켜두고, 리소스를 만든 이유를 메모해두는 것만으로도 시행착오가 많이 줄어듭니다. 그렇게 한두 번 배포를 경험하고 나면 콘솔의 낯선 이름들도 꽤 익숙하게 느껴집니다.
