초보자를 위한 AWS 시작하는 방법: 비용 걱정 줄이고 첫 서버 띄우기

얼마 전 지인이 작은 쇼핑몰 테스트 페이지를 만들다가 “서버는 어디에 올려야 해?”라고 묻더라고요. 예전 같으면 호스팅 업체부터 떠올렸을 텐데, 요즘은 자연스럽게 AWS 이야기가 나옵니다. 그런데 막상 AWS 콘솔에 들어가면 EC2, S3, RDS, VPC 같은 이름이 한꺼번에 보여서 살짝 겁이 납니다. 사실 처음부터 전부 알 필요는 없습니다. 많이 쓰는 몇 가지만 잡고, 비용이 새지 않게 설정하는 쪽이 훨씬 중요합니다.
AWS를 처음 볼 때 헷갈리는 이유
AWS는 Amazon Web Services의 줄임말이고, 쉽게 말하면 인터넷으로 빌려 쓰는 서버와 저장소, 데이터베이스 묶음입니다. 내 컴퓨터나 사무실에 서버를 직접 두지 않고 필요한 만큼만 빌려 쓰는 방식이죠. 장점은 빠릅니다. 서버 한 대를 주문하고 설치하는 대신 몇 분 안에 만들 수 있습니다.
근데 서비스 이름이 너무 많습니다. AWS 공식 안내 기준으로도 서비스 종류가 200개가 넘습니다. 초보자 입장에서는 이게 장점이면서 동시에 부담입니다. 그래서 처음에는 아래 네 가지 정도만 구분해도 충분합니다.
- EC2: 웹사이트나 프로그램을 실행하는 가상 서버
- S3: 이미지, 문서, 백업 파일을 담는 저장소
- RDS: MySQL, PostgreSQL 같은 데이터베이스를 관리형으로 쓰는 서비스
- CloudFront: 접속자에게 파일을 더 빠르게 전달하는 CDN
예를 들어 개인 블로그나 작은 서비스라면 EC2 한 대에 웹서버를 올리고, 이미지 파일은 S3에 두는 식으로 시작할 수 있습니다. 규모가 커지면 RDS와 CloudFront를 붙이면 됩니다. 처음부터 모든 구성을 갖추려고 하면 손이 멈춥니다.
가입 후 먼저 해야 할 비용 설정
AWS에서 가장 많이 하는 실수가 “테스트니까 괜찮겠지” 하고 비용 알림을 안 켜는 겁니다. 클라우드는 켜져 있는 동안 돈이 나가는 구조가 많습니다. 작은 서버 하나는 부담이 적어도, 데이터베이스나 고성능 인스턴스를 실수로 오래 켜두면 예상보다 큰 금액이 나올 수 있습니다.
가입 후에는 예산 알림부터 잡는 게 좋습니다. 예를 들어 월 5달러, 10달러처럼 본인이 감당 가능한 금액을 정하고, 그 금액의 50%, 80%, 100%에 도달할 때 알림을 받도록 설정합니다. AWS Budgets에서 이런 알림을 만들 수 있습니다. 솔직히 이 단계는 서버 만드는 것보다 먼저 해도 됩니다.
그리고 리전을 확인해야 합니다. 리전은 서버가 위치한 지역입니다. 한국 사용자를 대상으로 한다면 서울 리전을 고르는 경우가 많습니다. 미국 동부 리전에 서버를 만들 수도 있지만, 한국 접속자가 많다면 응답 속도에서 손해를 볼 수 있습니다. 반대로 해외 사용자가 많다면 위치를 다르게 잡는 편이 낫습니다.
EC2로 첫 서버 만드는 흐름
가장 기본적인 시작은 EC2 인스턴스를 하나 만드는 겁니다. 인스턴스는 가상 서버 한 대라고 보면 됩니다. 운영체제는 Ubuntu나 Amazon Linux를 많이 씁니다. 웹 개발 자료를 따라 하기에는 Ubuntu가 편한 편이고, AWS와의 기본 궁합은 Amazon Linux가 무난합니다.
서버 크기는 처음부터 크게 잡을 필요가 없습니다. 테스트용이면 무료 사용 범위에 포함되는 유형이나 아주 작은 인스턴스로 시작하는 게 좋습니다. 방문자가 거의 없는 개인 프로젝트라면 작은 서버로도 충분한 경우가 많습니다. 다만 무료 사용 조건은 계정 생성 시점과 서비스별 정책에 따라 달라질 수 있으니 AWS 콘솔의 과금 안내를 꼭 확인해야 합니다.
서버를 만들 때 보안 그룹도 같이 설정합니다. 보안 그룹은 문지기 같은 역할을 합니다. 웹사이트라면 80번 포트와 443번 포트가 필요하고, SSH 접속은 22번 포트를 씁니다. 여기서 SSH를 아무 데서나 접속 가능하게 열어두는 건 별로 좋지 않습니다. 가능하면 내 IP에서만 접속되도록 제한하는 편이 안전합니다.
초보자가 자주 놓치는 부분
- 테스트가 끝난 EC2 인스턴스를 중지하지 않음
- 사용하지 않는 탄력적 IP를 그대로 둠
- 보안 그룹에서 모든 포트를 열어둠
- 루트 계정으로 계속 작업함
특히 루트 계정은 평소 작업용으로 쓰지 않는 게 좋습니다. IAM에서 별도 사용자를 만들고 필요한 권한만 주는 방식이 안전합니다. 처음엔 번거로워 보여도, 나중에 실수로 중요한 리소스를 지우거나 과한 권한이 노출되는 일을 줄일 수 있습니다.
S3와 RDS는 언제 쓰면 좋을까
S3는 파일 저장소입니다. 웹사이트에 올라가는 이미지, 첨부 파일, 백업 파일을 담기에 좋습니다. EC2 서버 안에 이미지를 전부 저장할 수도 있지만, 서버를 바꾸거나 장애가 생기면 관리가 불편해집니다. S3에 파일을 따로 두면 서버와 파일 저장 공간을 분리할 수 있어 운영이 편해집니다.
RDS는 데이터베이스를 직접 설치하고 관리하는 부담을 줄여줍니다. 예를 들어 EC2에 MySQL을 직접 설치하면 업데이트, 백업, 장애 대응을 직접 챙겨야 합니다. RDS는 이런 부분을 어느 정도 관리형으로 제공해 줍니다. 대신 EC2 하나만 쓸 때보다 비용이 더 나올 수 있습니다. 그래서 학습용이나 아주 작은 테스트라면 EC2 내부 데이터베이스로 시작하고, 실제 서비스에 가까워질 때 RDS로 옮기는 방식도 현실적입니다.
비교하자면, EC2는 집을 빌려서 내부를 직접 꾸미는 느낌이고 RDS는 관리사무소가 있는 창고를 빌리는 느낌입니다. 자유도는 직접 설치가 높지만, 운영 편의성은 RDS가 좋습니다. 어느 쪽이 무조건 낫다기보다 지금 단계에서 무엇이 더 중요한지에 따라 달라집니다.
작게 시작하고 기록을 남기는 습관
AWS는 처음부터 완벽하게 설계하려고 하면 어렵습니다. 개인 프로젝트라면 EC2 하나로 시작해도 됩니다. 그다음 이미지가 많아지면 S3를 붙이고, 데이터가 중요해지면 RDS를 고민하고, 접속자가 늘면 CloudFront나 오토 스케일링을 검토하면 됩니다. 순서가 있으면 훨씬 덜 복잡합니다.
작업할 때는 무엇을 만들었는지 꼭 적어두는 게 좋습니다. 예를 들면 인스턴스 이름, 리전, 보안 그룹 규칙, 연결한 키 페어, 월 예산 알림 금액 같은 것들입니다. 나중에 비용이 발생했을 때 어디서 나왔는지 찾는 시간이 확 줄어듭니다.
처음 AWS를 만지는 사람에게 가장 필요한 건 대단한 아키텍처 지식보다 비용 감각과 작은 실습입니다. 서버 하나를 만들고, 접속하고, 웹페이지 하나를 띄우고, 끝나면 끄는 흐름을 몸에 익히면 됩니다. 그렇게 한 번 해보면 AWS가 막연한 거대한 플랫폼이 아니라 필요한 도구를 골라 쓰는 작업대처럼 느껴집니다.
