목차5개 항목
출처와 참고
ByteByteGo의 System Design 101 가이드 「Cloud Cost Reduction Techniques」, 「Hidden Costs of the Cloud」를 바탕으로, 공인 IPv4 과금은 AWS 공지로 확인해 재구성한 노트다. 예시는 AWS지만 다른 클라우드도 요금 구조가 비슷하다. 단가는 자주 바뀌므로 공식 가격표로 확인한다.
왜 클라우드 비용은 새는가
클라우드는 시작이 싸다. 그런데 쓴 만큼이 아니라 켜 둔 만큼, 옮긴 만큼, 요청한 만큼 과금되는 항목이 많아서, 아무도 쓰지 않는 자원과 눈에 띄지 않는 부수 요금이 쌓인다. 비용을 줄이는 일은 「더 싼 것으로 바꾸기」보다 먼저 「무엇에 돈이 나가는지 보이게 하기」다. 자원마다 팀·서비스 태그를 달고, 예산 알림을 걸고, 비용 대시보드를 정기적으로 본다.
비용을 줄이는 여섯 가지
| 방법 | 하는 일 | 예 |
|---|---|---|
| 사용량 줄이기 | 자원의 양과 규모를 성능을 해치지 않는 선까지 줄인다 | 인스턴스 축소, 스토리지 정리, 비슷한 서비스 통합 |
| 유휴 자원 정리 | 아무도 쓰지 않는 자원을 찾아 지운다 | 멈춘 인스턴스, 쓰지 않는 DB, 버려진 볼륨·버킷 |
| 적정 크기(right sizing) | 실제 사용률을 보고 인스턴스 유형·크기를 맞춘다 | CPU 사용률 10%인 큰 인스턴스를 작은 것으로, 또는 비용 대비 성능이 좋은 ARM 계열로 |
| 비업무 시간 종료 | 개발·테스트 환경처럼 늘 켤 필요 없는 자원을 일정에 맞춰 끈다 | 밤·주말 자동 중지 스케줄 |
| 약정으로 단가 낮추기 | 꾸준한 사용량은 1·3년 약정으로 할인받고, 중단돼도 되는 작업은 스팟으로 돌린다 | Savings Plans, 예약 인스턴스, 스팟 인스턴스. 자주 안 읽는 데이터는 낮은 스토리지 등급으로 |
| 데이터 전송 최적화 | 전송량을 줄이고 경로를 싸게 만든다 | 압축, CDN 캐시, 같은 리전·같은 AZ 안에서 통신 |
요금 모델(온디맨드·Savings Plans·예약·스팟)의 차이는 AWS 클라우드 기초에 있다.
숨은 비용
| 항목 | 왜 새는가 | 막는 법 |
|---|---|---|
| 무료 사용량의 경계 | 무료 제공은 서비스마다 범위·기간·한도가 다르고, 포함되지 않는 서비스나 한도를 넘는 사용은 그대로 과금된다. 무료 제공 방식 자체도 바뀐다 | 계정을 만들자마자 예산 알림을 건다 |
| 공인 IPv4 주소 | AWS는 2024년 2월부터 공인 IPv4 주소를 쓰든 안 쓰든 시간당 과금한다. 붙여 두고 잊은 탄력적 IP도 계속 청구된다 | 공인 IP가 필요한 곳을 로드 밸런서·NAT로 모으고, IPv6를 검토한다 |
| 로드 밸런서 | 트래픽이 없어도 시간당 요금이 붙고, 처리한 데이터량에 따라 추가로 붙는다 | 테스트용 로드 밸런서를 지운다. 여러 서비스를 한 L7 로드 밸런서의 경로 규칙으로 묶는다 |
| 블록 스토리지 | EBS는 GB·월 단위로 과금되며, 인스턴스에 붙어 있지 않은 볼륨도 과금된다 | 인스턴스 종료 시 볼륨도 지우도록 설정한다 |
| 스냅숏 | 볼륨을 지워도 그 스냅숏은 남아 계속 청구된다 | 스냅숏 수명 주기 정책으로 오래된 것을 자동 삭제한다 |
| 객체 스토리지 요청 | S3는 저장 요금은 싸지만 GET·LIST 같은 요청 요금이 따로 있다. 작은 객체를 자주 읽으면 요청 요금이 저장 요금을 넘기도 한다 | 앞단에 CDN·캐시를 두고, 작은 객체를 묶는다 |
| 미완료 멀티파트 업로드 | 실패한 멀티파트 업로드의 이미 올라간 조각은 목록에 안 보여도 저장 요금이 붙는다 | 버킷 수명 주기 규칙으로 미완료 업로드를 며칠 뒤 자동 중단·삭제한다 |
| 데이터 전송 | 클라우드로 들어오는 데이터는 대개 무료지만, 나가는 데이터(인터넷 송신, 리전 간, AZ 간)는 과금된다 | 사용자에게 나가는 트래픽은 CDN으로, 서비스 간 통신은 같은 AZ·리전 안으로 |
| NAT 게이트웨이 | 프라이빗 서브넷에서 나가는 모든 데이터에 처리 요금이 붙는다 | S3·DynamoDB는 게이트웨이 엔드포인트로 우회한다. AWS VPC 네트워크 구성 |
비용을 보는 습관
flowchart TB A["1. 태그<br>모든 자원에 팀·서비스·환경 태그 → 누가 쓰는지 보인다"] --> B["2. 알림<br>계정·팀별 예산 알림, 이상 지출 탐지"] B --> C["3. 정기 점검<br>매달 상위 비용 항목과 유휴 자원 목록을 본다"] C --> D["4. 자동화<br>수명 주기 정책, 비업무 시간 종료, IaC로 만든 것은 IaC로 지운다"]
비용 추적은 나중에 붙일수록 비싸진다. 작은 팀에서도 처음부터 태그와 예산 알림을 들이는 편이 낫다(스타트업 인프라 선택 원칙).
정리
- 클라우드는 켜 둔 만큼, 옮긴 만큼, 요청한 만큼 과금된다. 먼저 보이게 만들고, 그다음 줄인다.
- 유휴 자원 정리와 적정 크기가 가장 싸고 빠른 절감이다. 꾸준한 사용량은 약정, 끊겨도 되는 작업은 스팟.
- 숨은 비용은 대개 잊힌 것(볼륨·스냅숏·IP·로드 밸런서)과 보이지 않는 것(요청 요금·송신 전송·NAT 처리량)이다.
- 수명 주기 정책과 IaC로 만들고 지우는 일을 자동화한다.
관련 노트: AWS 클라우드 기초, AWS VPC 네트워크 구성, 클라우드 서비스 지도: AWS·Azure·GCP 대응표, 스타트업 인프라 선택 원칙, CDN, 클라우드 거버넌스