notes
AWS 비용 정리
AWS 비용 구조·주요 과금 항목과 절감 포인트 정리.
- EC2는 처음에 온디맨드로 쓰고, 사용량이 안정되면 절감형 플랜으로 기본량을 약정한다.
- 끊겨도 되는 작업은 스팟으로 돌리면 온디맨드보다 최대 90% 싸다.
- RDS와 S3는 인스턴스나 저장 용량보다 스토리지, 백업, 전송량에서 새는 돈을 먼저 본다.
서버를 처음 올리고 첫 청구서를 받았을 때, 예상보다 항목이 많아서 서비스별로 어디서 돈이 나가는지 정리해 두었다.
1. EC2
EC2는 같은 인스턴스라도 어떻게 사느냐에 따라 값이 크게 달라진다. 구매 방식은 네 가지다.
1.1 온디맨드
약정도 선결제도 없이, 띄운 인스턴스가 돌아간 시간만큼 낸다. 리눅스는 초 단위로 계산된다. 내가 온디맨드를 쓰는 건 이럴 때다.
- 서비스를 처음 올려서 실제 사용량을 아직 모를 때
- 트래픽이 갑자기 튀는데 서버가 죽으면 안 될 때
- 개발이나 테스트용으로 잠깐 띄울 때
1.2 스팟 인스턴스
AWS가 남겨 둔 용량을 온디맨드보다 최대 90% 싸게 빌려 쓰는 방식이다. 대신 AWS가 용량이 필요하면 2분 전에 알리고 회수해 간다. 그래서 이런 작업에만 썼다.
- 언제 시작하고 끝나도 상관없는 배치 작업
- CI 러너처럼 중간에 끊겨도 다시 돌리면 되는 일
- 잠깐 대량으로 서버가 필요한데 비용을 최대한 아끼고 싶을 때
1.3 절감형 플랜
1년 또는 3년 동안 시간당 얼마를 쓰겠다고 약정하면 그만큼 싸게 해 주는 방식이다. EC2뿐 아니라 Fargate, Lambda에도 걸린다. 예전 예약 인스턴스는 타입을 묶어 두는데, 절감형 플랜은 금액을 묶어 두는 거라 나중에 타입을 바꿔도 할인이 유지되는 점이 편했다.
1.4 전용 호스팅
물리 서버 한 대를 통째로 빌리는 방식이다. Windows Server, SQL Server처럼 서버 단위로 라이선스를 사는 소프트웨어를 그대로 가져와야 하거나, 규정 때문에 다른 고객과 서버를 같이 쓰면 안 될 때 고른다.
시간당 온디맨드로도 살 수 있고, 예약으로 사면 온디맨드보다 최대 70%까지 싸진다. 우리 규모에서는 쓸 일이 거의 없었다.
내 순서는 이렇다. 몇 달은 온디맨드로 두고 Cost Explorer에서 늘 켜져 있는 양을 본 뒤, 그 양만큼만 절감형 플랜으로 약정한다. 남는 부분은 온디맨드나 스팟으로 채운다. 예산 알림은 첫날 걸어 둔다.
2. RDS
RDS도 최소 요금 없이 쓴 만큼 낸다. 인스턴스는 온디맨드나 예약 인스턴스 중에 고르고, 여기에 스토리지, 백업 보관, 데이터 전송 요금이 따로 붙는다.
DB는 한 번 띄우면 거의 항상 켜 두니, 크기가 자리 잡히면 예약 인스턴스가 제일 크게 아껴 주었다. 월 청구액은 띄우기 전에 AWS 요금 계산기로 한 번 돌려 본다.
3. S3
S3도 쓴 만큼만 내고 최소 요금은 없다. 대신 요금이 붙는 곳이 여섯 군데다.
- 저장 용량 (스토리지 클래스별로 단가가 다르다)
- 요청과 데이터 검색 (PUT, GET 횟수)
- 데이터 전송과 전송 가속
- 데이터 관리와 분석
- 복제
- S3 객체 Lambda 처리
우리 서비스에서 실제로 눈에 띄던 건 저장보다 밖으로 나가는 전송량과 요청 수였다. 이미지를 바로 S3에서 내려보내던 걸 CDN 뒤로 돌리고, 오래된 파일은 수명 주기 규칙으로 싼 클래스에 넘기니 청구서가 정리됐다.