빠른참조 · 5
요금 구조와 절감
비용 문항은 계산기를 요구하지 않습니다. 구조적으로 더 싼 안을 고르게 합니다. 그래서 금액을 몰라도 과금 축과 방향성만 알면 판단이 됩니다.
이 페이지 쓰는 법
- 비용 문항을 만나면 과금 축부터 봅니다. 설계 변경이 어느 축을 건드리는지가 판단입니다.
- 데이터 전송 방향성 표는 통째로 외우십시오. 비용 사고 대부분이 이 표의 한 줄에서 납니다.
- 절감 레버는 순서가 중요합니다. 위에서부터 적용합니다.
- 도구 이름을 묻는 문항은 비용 가시성 절의 역할 구분으로 갈립니다.
- 자세한 설명과 다이어그램은 18장에 있습니다. 이 페이지는 그 요약입니다.
금액 없이 판단하는 법
금액을 몰라도 판단할 수 있는 이유는, AWS 요금이 서비스마다 정해진 몇 개의 축으로만 매겨지기 때문입니다. 어떤 설계 변경이 어느 축을 건드리는지 알면 방향은 결정됩니다. "이 구성은 무엇으로 과금되는가"가 비용 문항의 유일한 질문입니다.
| 단계 | 확인할 것 | 이 단계에서 소거되는 선택지 |
|---|---|---|
| 1. 제약을 위반하는가 | 가용성 · 지연 · 규정 요구를 깨는 안인지 | 운영 데이터베이스를 스팟 인스턴스에 올리는 안, 규정을 어기고 리전을 옮기는 안 |
| 2. 어느 과금 축을 줄이는가 | 가동 시간 · 저장 용량 · 요청 수 · 처리 데이터 · 데이터 전송 · 프로비저닝 용량 중 무엇인지 | 이미 무료인 축을 줄이는 안 (예: "업로드 비용을 줄인다") |
| 3. 그 축을 실제로 줄이는가 | 경로를 바꿔 장치를 아예 지나지 않게 하는지, 단가만 낮추는지 | 쓰지 않아도 될 자원을 약정으로 싸게 사는 안 |
과금 축 여섯 가지
| 과금 축 | 대표 예 | 이 축을 줄이는 행동 |
|---|---|---|
| 가동 시간 | EC2 인스턴스 시간, NAT 게이트웨이 시간, 인터페이스 엔드포인트 시간, RDS 인스턴스 시간, 로드 밸런서 시간 | 쓰지 않을 때 끄기, 항상 켜 둘 필요가 없는 구성 요소를 없애기, 서버리스로 대체하기 |
| 저장 용량 | S3 저장량, EBS 볼륨 크기, 스냅샷, 백업 보관 | 수명 주기 규칙으로 계층 이동과 만료, 쓰지 않는 볼륨과 스냅샷 삭제 |
| 요청 · 호출 수 | S3 요청, Lambda 호출, API Gateway 요청, KMS 호출 | 캐싱, 배치 처리, 호출을 묶는 기능 |
| 처리 데이터 양 | NAT 게이트웨이 처리량, 인터페이스 엔드포인트 처리량, 로드 밸런서 처리 단위 | 트래픽 경로 자체를 바꿔서 그 장치를 지나지 않게 하기 |
| 데이터 전송 | 인터넷 송신, 가용 영역 간, 리전 간 | 캐싱, 압축, 배치 조정, 경로 변경 |
| 프로비저닝된 용량 | 프로비저닝된 IOPS, DynamoDB 프로비저닝 용량, 예약된 동시성 | 실사용에 맞춰 라이트사이징하거나 온디맨드 모드로 전환 |
서비스별로 어느 축이 붙는가
| 서비스 | 주된 과금 축 | 비용 문항에서의 함의 |
|---|---|---|
| Amazon EC2 | 가동 시간 · 데이터 전송 | 중지하면 인스턴스 사용 요금은 멈추지만 EBS 볼륨 요금은 계속됩니다 |
| Amazon EBS | 저장 용량 · 프로비저닝된 IOPS | 연결되지 않은 볼륨과 오래된 스냅샷이 대표적인 낭비입니다 |
| Amazon S3 | 저장 용량 · 요청 수 · 검색 · 데이터 전송 | 차가운 클래스는 저장이 싸지만 검색 요금과 최소 저장 기간이 붙습니다 |
| NAT 게이트웨이 | 가동 시간 · 처리 데이터 | 목적지와 무관하게 통과한 모든 데이터에 처리 요금이 붙습니다. 지나지 않게 하는 것이 유일한 절감입니다 |
| VPC 게이트웨이 엔드포인트 | 없음 | 추가 요금 없이 S3·DynamoDB 트래픽을 NAT 게이트웨이 밖으로 뺍니다 |
| VPC 인터페이스 엔드포인트 | 가동 시간 · 처리 데이터 | 게이트웨이 엔드포인트와 달리 상시 요금이 붙습니다. 개수를 늘릴 때 고려합니다 |
| AWS Lambda | 호출 수 · 실행 시간 · 할당 메모리 | 간헐적 부하에 유리하고, 상시 고부하에서는 오히려 비쌀 수 있습니다 |
| Amazon DynamoDB | 요청 수(온디맨드) 또는 프로비저닝 용량 · 저장 용량 | 부하가 불규칙하면 온디맨드가, 안정적이면 프로비저닝이 유리한 구간이 생깁니다 |
| Amazon RDS | 인스턴스 가동 시간 · 저장 용량 · 백업 · 데이터 전송 | Multi-AZ 배포는 가용성을 사면서 컴퓨팅 비용도 함께 늘립니다 |
| Elastic Load Balancing | 가동 시간 · 처리 단위 | 트래픽이 없어도 시간 요금이 붙습니다. 쓰지 않는 로드 밸런서는 삭제 대상입니다 |
| Amazon CloudFront | 송신 데이터 · 요청 수 | 오리진 송신을 줄여 전체 전송 비용을 낮추는 것이 도입 근거입니다 |
| AWS KMS | 키 개수 · API 호출 수 | 대량 객체를 SSE-KMS로 다룰 때 호출 수가 늘어납니다. S3 버킷 키가 호출을 줄입니다 |
| 탄력적 IP | 가동 시간(미연결 상태 포함) | 인스턴스에 붙이지 않고 남겨 둔 주소가 대표적인 낭비입니다 |
데이터 전송의 방향성
데이터 전송은 양이 아니라 방향으로 요금이 정해집니다. 이 비대칭 하나가 비용 도메인 문항의 상당수를 설명합니다.
| 방향 | 과금 | 설계에 주는 함의 |
|---|---|---|
| 인터넷에서 AWS로 (수신) | 대체로 무료 | 올리는 것은 대체로 비용 요인이 아닙니다. "업로드 비용을 줄인다"는 선택지는 대체로 무의미합니다 |
| AWS에서 인터넷으로 (송신) | 과금 | 가장 큰 전송 비용 항목입니다. 송신량 자체를 줄이거나 CloudFront로 캐시해 오리진 송신을 줄입니다 |
| 같은 가용 영역, 사설 IP | 가장 저렴한 경로 | 퍼블릭 IP나 인터넷 경유로 우회하지 않도록 사설 주소로 통신하게 합니다 |
| 같은 리전, 가용 영역 간 | 과금 | 다중 가용 영역은 가용성을 사면서 전송 비용을 함께 부릅니다. 대량 트래픽이 불필요하게 가용 영역을 넘지 않게 배치합니다 |
| 리전 간 | 과금 | 교차 리전 복제, 리전 간 백업, 다중 리전 재해 복구는 언제나 전송 비용을 동반합니다 |
| NAT 게이트웨이 경유 | 시간 요금 + 처리 데이터 요금 | 목적지가 어디든 통과한 모든 데이터에 처리 요금이 붙습니다. 지나지 않게 만드는 것이 유일한 절감입니다 |
경로를 바꾸는 대표 처방 세 가지
| 증상 | 경로를 어떻게 바꾸는가 | 줄어드는 축 |
|---|---|---|
| 프라이빗 서브넷의 인스턴스가 S3를 많이 읽고 쓴다 | 게이트웨이 엔드포인트를 만들어 NAT 게이트웨이를 지나지 않게 합니다 | NAT 게이트웨이 처리 데이터 |
| 정적 자산 송신 트래픽이 크다 | CloudFront를 앞에 두어 엣지에서 캐시로 응답하게 합니다 | 오리진 인터넷 송신, 오리진 요청 수 |
| 애플리케이션 계층 사이 트래픽이 가용 영역을 넘나든다 | 같은 가용 영역 안에서 처리되도록 배치와 라우팅을 정리합니다 | 가용 영역 간 데이터 전송 |
절감 레버 — 순서가 있습니다
레버는 위에서부터 적용합니다. 쓰지 않아도 될 자원을 약정으로 싸게 사는 것은 절감이 아닙니다. 순서를 지키지 않은 선택지는 그 자체로 소거 대상이 됩니다.
| 순서 | 레버 | 구체적인 행동 |
|---|---|---|
| 1 | 없애기 — 항상 켜져 있는데 거의 안 쓰는 것 | 유휴 NAT 게이트웨이, 연결되지 않은 EBS 볼륨과 탄력적 IP, 트래픽 없는 로드 밸런서, 오래된 스냅샷 |
| 2 | 끄기 — 쓸 때만 켜기 | 개발·테스트 환경의 야간·주말 중지, 일정 기반 Auto Scaling |
| 3 | 경로 바꾸기 — 과금 장치를 지나지 않게 | VPC 엔드포인트, CloudFront 캐싱, 가용 영역을 넘지 않는 배치 |
| 4 | 계층 옮기기 — 접근 빈도에 맞는 클래스로 | S3 수명 주기 규칙, EBS 볼륨 타입 조정, 오래된 로그의 보존 정책 |
| 5 | 라이트사이징 — 실사용에 맞추기 | AWS Compute Optimizer의 권고 적용, 과도한 프로비저닝된 IOPS 축소 |
| 6 | 모델 바꾸기 — 사용량에 비례하게 | 서버리스 전환, DynamoDB 온디맨드 모드, Aurora Serverless v2 |
| 7 | 약정하기 — 남은 기저 부하의 단가 낮추기 | Savings Plans, 예약 인스턴스, 중단 가능한 부분은 스팟 인스턴스 |
약정 레버 — 무엇을 약정하는가
| 옵션 | 약정 | 중단 | 어떤 워크로드인가 |
|---|---|---|---|
| 온디맨드 | 없음 | 없음 | 예측할 수 없는 단기 워크로드, 새 애플리케이션의 초기 측정 기간 |
| Savings Plans | 1년 또는 3년 시간당 사용 금액 | 없음 | 상시 기저 부하. 인스턴스 종류를 바꿀 여지를 남기고 싶은 경우 |
| 예약 인스턴스 | 1년 또는 3년 특정 인스턴스 구성 | 없음 | 구성이 확정된 상시 부하. 용량 예약이 함께 필요한 경우 |
| 스팟 인스턴스 | 없음 | AWS가 회수할 수 있습니다 | 중단되어도 되는 워크로드 — 배치 처리, 렌더링, 상태 비저장 웹 계층, 테스트 |
| 전용 호스트 · 전용 인스턴스 | 선택 가능 | 없음 | 물리 서버 단위 라이선스나 단독 점유 하드웨어 요구가 있는 경우 |
| 항목 | Savings Plans | 예약 인스턴스 |
|---|---|---|
| 약정 대상 | 시간당 사용 금액 | 특정 인스턴스 구성(패밀리 · 리전 · 운영체제 등) |
| 기간 | 1년 또는 3년 | 1년 또는 3년 |
| 유형 | Compute Savings Plans(가장 유연) · EC2 Instance Savings Plans(패밀리·리전 한정) | 표준(standard) · 전환형(convertible) |
| 적용 범위 | Compute 유형은 인스턴스 패밀리 · 크기 · 리전 · 운영체제 변경은 물론 AWS Fargate와 AWS Lambda 사용량에도 적용됩니다 | 표준은 변경 폭이 좁고, 전환형은 다른 구성으로 교환할 수 있습니다 |
| 용량 예약 | 제공하지 않음 | 영역 예약 인스턴스는 해당 가용 영역의 용량을 확보합니다 |
| 고르는 신호 | "인스턴스 종류를 바꿀 수도 있다", "컨테이너와 함수까지 함께" | "특정 가용 영역에 용량을 확보해야 한다" |
스토리지 비용 레버
| 새는 지점 | 처방 | 주의할 것 |
|---|---|---|
| 접근하지 않는 객체가 S3 Standard에 남아 있다 | 수명 주기 규칙으로 차가운 클래스로 전환합니다 | 최소 저장 기간(30 · 90 · 180일)과 128 KB 미만 객체 제외 규칙을 확인합니다 |
| 접근 패턴을 알 수 없다 | S3 Intelligent-Tiering을 씁니다 | 모니터링과 자동 계층화 대상에서 작은 객체는 제외됩니다 |
| 완료되지 않은 멀티파트 업로드가 쌓인다 | 수명 주기 규칙으로 정리합니다 | 목록에 보이지 않으면서 저장 요금이 계속 나가는 대표적인 누수입니다 |
| 버전 관리 버킷에 비현재 버전이 무한히 쌓인다 | 비현재 버전 만료 규칙을 겁니다 | 삭제 마커만 남은 객체도 정리 대상입니다 |
| 연결되지 않은 EBS 볼륨과 오래된 스냅샷 | 삭제하거나 Amazon Data Lifecycle Manager로 보존 정책을 겁니다 | 인스턴스를 중지해도 볼륨 요금은 계속됩니다 |
| 필요 이상으로 프로비저닝된 IOPS | gp3로 옮겨 크기와 성능을 분리해 지정합니다 |
기준 성능만으로 충분한지 지표로 확인합니다 |
| 단일 가용 영역으로 낮출 수 있는 데이터를 세 개 이상에 두고 있다 | 다시 만들 수 있는 데이터는 S3 One Zone-IA로 내립니다 | 가용 영역이 손실되면 데이터도 손실됩니다. 원본이 따로 있어야 합니다 |
서버리스는 언제 싸고 언제 비싼가
"서버리스가 항상 싸다"는 서술은 틀립니다. 과금 축이 가동 시간에서 사용량으로 바뀔 뿐입니다. 사용량이 낮고 불규칙하면 유리하고, 높고 일정하면 불리해지는 구간이 생깁니다.
| 부하 형태 | 유리한 쪽 | 이유 |
|---|---|---|
| 간헐적이고 예측 불가 | 서버리스 (AWS Lambda, AWS Fargate, DynamoDB 온디맨드) | 쓰지 않는 시간에 요금이 발생하지 않습니다 |
| 낮 시간대만 높고 밤에는 거의 없음 | 서버리스 또는 일정 기반 Auto Scaling | 유휴 시간을 없애는 것이 가장 큰 절감입니다 |
| 하루 종일 높고 일정 | 약정한 인스턴스 (Savings Plans · 예약 인스턴스) | 사용량 비례 요금이 상시 부하에서는 약정 단가보다 불리해질 수 있습니다 |
| 중단되어도 되는 대량 배치 | 스팟 인스턴스 · AWS Batch | 중단을 허용하는 대가로 단가를 낮춥니다 |
비용 가시성 — 도구의 역할이 다릅니다
| 도구 | 대답하는 질문 | 이 도구를 지목하는 표현 |
|---|---|---|
| AWS Cost Explorer | 어디에 얼마를 썼고 앞으로 얼마를 쓸 것인가 | "비용 추세를 분석", "서비스별로 나눠 본다", "예측" |
| AWS Budgets | 정해 둔 임계값을 넘었거나 넘을 것 같은가 | "임계치를 넘으면 알림", "예산 초과를 통보" |
| AWS Cost and Usage Report | 가장 상세한 원자료가 필요하다 | "자체 분석 도구로 가져간다", "가장 세밀한 명세" |
| AWS Compute Optimizer | 이 리소스의 크기가 적절한가 | "실제 사용 지표를 근거로 라이트사이징" |
| AWS Trusted Advisor | 지금 당장 고칠 수 있는 것이 무엇인가 | "유휴 리소스 점검", "비용·성능·보안·내결함성·한도 전반 점검" |
| 비용 할당 태그 | 어느 팀·프로젝트가 얼마를 썼는가 | "부서별로 비용을 나눠 청구", "쇼백" |
비용 문항에서 반복되는 오답 패턴
| 오답 선택지 | 소거 근거 |
|---|---|
| 업로드(수신) 트래픽 비용을 줄인다 | 수신은 대체로 무료입니다. 줄일 것이 없습니다 |
| 인스턴스를 중지했으니 요금이 0이다 | 인스턴스 사용 요금은 멈추지만 EBS 볼륨 요금은 계속됩니다 |
| 운영 데이터베이스를 스팟 인스턴스로 옮긴다 | 중단 가능성 때문에 제약 위반입니다 |
| 단기 실험 워크로드에 3년 약정을 건다 | 약정 기간이 워크로드 수명보다 깁니다 |
| 자주 지우는 데이터를 Glacier Deep Archive에 넣는다 | 최소 저장 기간 때문에 오히려 손해입니다 |
| 중요 데이터를 S3 One Zone-IA에 넣어 비용을 줄인다 | 가용 영역이 손실되면 데이터도 손실됩니다. 원본이 따로 없으면 제약 위반입니다 |
| NAT 게이트웨이 대신 인스턴스를 늘려 처리량을 높인다 | 축을 잘못 짚었습니다. NAT 게이트웨이는 통과 데이터로 과금되므로 경로를 바꿔야 합니다 |
| 비용을 줄이려고 다중 가용 영역을 단일 가용 영역으로 바꾼다 | 가용성 요구가 명시되어 있으면 제약 위반입니다 |
이어서 볼 곳
- 18장 · 비용 최적화 · 마이그레이션 · DR 이 페이지의 각 항목을 설명과 다이어그램으로 다룹니다. 원문 격입니다.
- 비용 최적화 아키텍처 설계 (20%) 과제 진술 네 개와 출제 포인트. 이 페이지의 항목이 어디에 속하는지 확인합니다.
- 네트워크 연결 매트릭스 경로를 바꾸는 처방의 구체적인 수단을 연결 옵션 비교로 봅니다.
- 한도와 기본값 최소 저장 기간과 최소 청구 크기 등 비용 판단에 쓰이는 확인된 값입니다.
- 헷갈리는 쌍 비교 — S3 스토리지 클래스 클래스 선택의 속성 대조표입니다. 비용 판단의 근거가 여기 있습니다.
- 한정어 키워드 사전 MOST cost-effective가 실제로 무엇을 가리키는지 정리했습니다.
공식 문서 출처
- AWS 백서 — AWS 요금이 작동하는 방식 — 과금 축의 구성과 서비스별 요금 요소
- Amazon VPC 사용 설명서 — NAT 게이트웨이 — 가동 시간과 처리 데이터 두 축으로 과금되며 출발지·목적지와 무관하다는 서술
- AWS PrivateLink 개념 — 게이트웨이 엔드포인트에 추가 요금이 없다는 점과 인터페이스 엔드포인트의 과금 축
- Amazon EC2 API 레퍼런스 — StopInstances — 중지된 인스턴스에 사용 요금과 데이터 전송 요금이 부과되지 않지만 볼륨 요금은 계속된다는 서술
- Amazon S3 사용 설명서 — 스토리지 클래스 사용 — 클래스별 최소 저장 기간과 검색 요금의 존재
- Amazon S3 사용 설명서 — 수명 주기 전환 시 일반 고려 사항 — 30일 전환 제약과 128 KB 미만 객체 제외
- Amazon S3 사용 설명서 — 멀티파트 업로드 개요 — 완료되지 않은 업로드가 저장 요금을 발생시킨다는 서술
- Amazon S3 사용 설명서 — S3 버킷 키 — SSE-KMS의 KMS 호출 수를 줄이는 방법
- AWS Savings Plans 사용 설명서 — 약정 대상이 시간당 사용 금액이라는 점과 유형별 적용 범위
- Amazon EC2 사용 설명서 — 예약 인스턴스 — 약정 대상이 인스턴스 구성이라는 점과 영역 예약의 용량 확보
- Amazon EC2 사용 설명서 — 스팟 인스턴스 — AWS가 용량을 회수할 수 있다는 성격
- AWS 비용 관리 사용 설명서 — Cost Explorer — 비용 분석과 예측의 범위
- AWS 비용 관리 사용 설명서 — AWS Budgets — 임계값 알림
- AWS Cost and Usage Report 사용 설명서 — 가장 상세한 사용·비용 명세의 내보내기
- AWS Compute Optimizer 사용 설명서 — 사용 지표 기반 라이트사이징 권고