[AWS] 비용 정보 내보내기 (CUR 2.0)

[원본 링크]

비용 분석은 AWS를 쓴다면 항상 안고 가야하는 고민이다.
파트너사를 쓴다면 비용 권한을 강탈당하고 그들의 대시보드를 쓸 수 있지만, 아니라면 직접 데이터 긁어와서 분석을 해야한다. 좀 귀찮다 이거.




기본 비용 대시보드

AWS는 기본적인 비용 시각화를 제공하긴 한다.

근데 문제는 정보가 너무 빈약하다는 것이다. 어느 서비스에서 어떤 리소스가 비용을 얼마나 썼는지, 크레딧으로 삭감되는 것은 얼마인지 등을 확인할 수가 없다.

그래서 제대로 비용을 고려면 CUR 2.0 포맷 데이터를 직접 받아와서 분석을 해야한다.




내보내기 비용

CUR Export를 받는 비용 자체는 무료다.
다만 그 비용 데이터를 S3 버킷으로 받아서 보는데, 그 S3 저장/읽기가 비용이 나간다.

근데 이게 데이터가 그닥 큰게 아니라서 대개는 거의 무료라고 봐도 된다.




CUR 기본 세팅

먼저 버킷을 적당히 만든다.

그리고 비용 페이지로 가서

이 내보내기를 만들면 된다.
이 세팅은 계정당 딱 한번만 하면 된다.

한번 만들면 매일마다 자동으로 버킷에 비용 데이터를 부어준다.


필요한 데이터 적당히 넣으면 된다.
원한다면 athena를 통합해서 집계를 처리할 수도 있다.


이렇게 생성이 되면 잘 된 것이다.




Wait a minute...

그리고 내일쯤 와보면 데이터가 이렇게 들어있을 것이다.

저걸 적당히 다운받고 parquet 포맷으로 해석해서 쓰면 된다.


적당히 풀어보면 이렇게 뭐가 잔뜩 들어있다.
난 clickhouse에 부어서 썼다.




전체 비용 데이터 내보내기

근데 저 내보내기 기능에는 함정이 있다. 계속 최신 데이터 넣어주긴 하는데, 과거 데이터를 다 넣어주는건 아니란 것이다. 보통 한달 이내의 데이터만 뽑아주는 것 같다.

전체 데이터를 가져오려면... 고객채널 가서 요청을 해야한다.
황당하게도 기능을 안만들어놓고 지원센터로만 처리하게 해놨더라.

짜증나는 AI 봇 상담 뚫고


We've recently created a Data Export (CUR 2.0) and need historical data
backfilled into our S3 bucket.

- AWS Account ID: ...
- Export name: datahouse-cur-export
- Export ARN: arn:aws:bcm-data-exports:...
- S3 destination: s3://...
- Region: us-east-1
- Requested backfill range: 2025-12-01 to 2026-05-14

티켓 적당히 쳐서 올리면 된다.


그리고 기다려보면 답변과 함께 넣어준다.


든든하다.
몽땅 받아서 쓰면 된다.


이후에는 metabase같은걸 써서 시각화를 하든, 그냥 쌩쿼리 날려서 보든 하면 된다.



참조
https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2.html
https://aws.amazon.com/ko/aws-cost-management/aws-cost-and-usage-reporting/features/
https://docs.aws.amazon.com/cur/latest/userguide/dataexports-export-delivery.html