WiseN

[3분시리즈] AWS 과금 특집 - EC2 비용 뒤집어 보기 Part2

Feb 27,2018   |   AWS

작성자_최준승

페이스북 공유하기 트위터 공유하기
Blog thumbnail

여기서 다루는 내용



· AWS 계정의 과금이 계산되는 방식
· EC2 과금 항목별 분류
· EC2 과금 항목별 세부 설명







EC2 과금 항목 전체를 한번 살펴볼까요?






안녕하십니까, GS네오텍 최준승입니다.

오늘은 EC2 비용 뒤집어 보기 2탄입니다. 시간 많고 1탄 아직 안보신 분은 여기 다녀오셔도 좋습니다.

예고드린 것처럼 이번 포스팅에서는 좀더 디테일하게 EC2 과금 항목을 살펴보도록 하겠습니다.

미시적인 속성들을 살펴보기 전에, 아주 기본적인 얘기부터 하고 넘어가려고 합니다.
내가 AWS 계정을 하나 사용중이라면, 여기서 지불하는 전체 과금 구조는 어떻게 될까요? 기본적으로 AWS의 과금 주기는 "월"입니다.


  • 월 과금 = [항목A의 월 과금] + [항목B의 월 과금] + [항목C의 월 과금]... + [항목Z의 월 과금]

  • [항목M의 월 과금] = (항목M 월 전체 사용량) X 항목M 단가

  • (항목M의 월 전체 사용량) = (항목M의) 1일 사용량 + 2일 사용량 + 3일 사용량 ... + 31일 사용량



당연한 얘기를 뭐 이리 길게 써놨냐구요?
한번 봅시다. 그렇다면 위에서 말한 "항목"은 과연 몇가지가 집계될까요? 일반적으로 100개가 넘습니다.
사용량이 0인 항목은 아예 집계를 하지 않을테니, AWS에서 500개 정도를 준비해놨다고 하면 그 중에 사용한 항목만 나오겠죠.

백문이 불여일견이니, 무슨 항목들이 있는지 한번 볼까요?
AWS 계정 하나를 샘플링하고 EC2 서비스만 뚝 떼서 과금 항목을 쭉 나래비 해봤습니다.



이 계정은 EC2 서비스만 해도 사용 항목이 80개 정도 되는군요. (색상엔 의미가 없습니다. 랜덤)
글씨가 좀 작긴 한데 하나하나 뜯어 보시면, 과금 항목이 왜 많을 수밖에 없는지 짐작이 가실 겁니다.

일례로 Transfer 항목을 보면 어디로부터 어디로 데이터가 넘어가느냐에 따라 단가가 모두 다릅니다.
기준점 꼭지가 되는 Region이 10개라고 하면 경우의 수가 순열이면 90개, 조합이면 45개 이렇게 나오겠죠.
단가가 다르니 각기 다른 항목으로 취급될 것이고, 사용량 또한 항목별로 따로 집계되는 식입니다. 오케이?
※ 좀 더 세부적으로 들어가면 동일 항목에도 각기 다르게 단가가 매겨지는 영역이 있는데.. 이 부분은 너무 어려워서 설명상 생략함





이번엔 이 항목들을 임의로 분류해 볼까요?






항목이 많아보이는건 선택한 서비스가 EC2여서 그런 것도 있습니다. 유난히 많아요.
인스턴스 베이스로 동작하는 ELB나 NAT Gateway도 EC2 서비스 하위 속성으로 과금합니다.
인스턴스에서 오가는 각종 트래픽도 EC2 서비스 하위 속성으로 과금하구요.

일단 위에 나래비된 80개 항목은 개수가 너무 많아서
Transfer와 관련된 중복 항목을 좀 쳐낸 후에, 이해하기 쉽도록 4개 단위로 제 맘대로 분류해 봤습니다.




  • BoxUsage: 일반적으로 생각하는 시간에 따른 EC2 인스턴스 사용 과금 항목 ※ 사용량은 초단위로 측정

  • EBS: EC2 인스턴스에 붙여 사용하는 EBS 볼륨과 관련된 과금 항목

  • Transfer: EC2 인스턴스를 기준으로 들어오고 나가는 트래픽에 대한 과금 항목

  • Guitar: 이외 ELB나 NAT Gateway, Elastic IP와 관련된 과금 항목



이제 단위별로 세부 설명을 하면 끝나겠네요. 이미 3분은 넘어버린 것 같습니다.





EC2 세부 과금 항목별 의미






드디어 설명할 준비가 됐으니, 분류별로 항목을 살펴봅시다.

:: BoxUsage




  • APN2-BoxUsage:m4.xlarge: 서울 리전(APN2)에서 m4.xlarge 인스턴스를 사용했을때 과금

  • APS1-BoxUsage:t2.medium: 싱가폴 리전(APS1)에서 t2.medium 인스턴스를 사용했을때 과금

  • APN2-BoxUsage:t2.medium: 서울 리전(APN2)에서 t2.medium 인스턴스를 사용했을때 과금

  • ※ OS에 따라 동일한 과금 항목으로 복수 객체가 생길 수 있으며, OS 종류 및 단가는 별도 주석 필드에 기재 처리


:: EBS


※ EBS 항목은 설명 편의상 Region 언급 생략


  • APN1-EBS:VolumeUsage.gp2: GP2 타입의 EBS 볼륨 사용에 따른 시간(Time) 과금

  • APN2-EBS:SnapshotUsage: EBS Snapshot 보관에 따른 과금

  • APS1-EBSOptimized:m4.large: EC2와 EBS간 전용 네트웍 구간을 활성화하는 EBS Optimized 옵션 사용시 발생하는 과금

  • APS1-EBS:VolumeP-IOPS.piops: PIOPS 타입의 EBS 볼륨에 프로비저닝한 IOPS값에 따른 과금



:: Transfer




  • APN2-APS1-AWS-Out-Bytes: 서울 리전(APN2)에서 싱가폴 리전(APS1)으로 나가는(Out) 트래픽 전송량에 대한 과금

  • APN2-DataTransfer-Regional-Bytes: 서울 리전(APN2) 내에서 다른 AZ간 또는 과금이 발생하는 영역에 대한 트래픽 과금

  • APN2-DataTransfer-In-Bytes: 서울 리전(APN2)에 있는 EC2로 (인터넷 구간에서부터) 들어오는(In) 트래픽 전송량에 대한 과금

  • ※ 일반적으로 인터넷에서 AWS 구간으로 들어오는 트래픽은 무과금이나, 사용량은 측정


:: Guitar


※ 이 항목도 설명 편의상 Region 언급 생략

  • APS1-LCUUsage: ELB의 LCU 사용량에 대한 과금

  • APS1-LoadBalancerUsage: ELB 사용 시간(Time) 과금

  • APS1-NatGateway-Bytes: VPC NAT Gateway에서 처리한 데이터 처리량 과금

  • APS1-NatGateway-Hours: VPC NAT Gateway의 사용 시간(Time) 과금



이 체계를 어느정도 안다고 해서, 비용 효율적인 AWS 아키텍쳐를 수립하는 수준까지는 아니더라도
내가 이 항목때문에 이렇게 돈을 많이 내는구나. 그리고 이건 좀 빼도 되겠구나. 정도는 아는데 도움이 되셨기를..

설명 성애자 AWS답게, S3와 CloudFront 서비스의 경우 빌링 항목을 이해하는 방법도 친절하게 안내하고 있습니다.
관심 있는분은 아래 링크도 확인해 보세요.

Understanding Your AWS Billing and Usage Reports for Amazon S3
Interpreting Your AWS Bill and the AWS Usage Report for CloudFront

마치도록 하겠습니다. 끝!