새소식

클라우드/AWS

[AWS] Cost & usage reports를 통한 비용 보고서 생성

  • -

AWS를 사용하면서 발생하는 비용 및 사용 내역을 관리하는 것은 매우 중요합니다. AWS 비용 분석을 위해 Cost & usage reports를 사용하여 비용 보고서를 만들어보겠습니다.


Cost & usage reports란?

AWS 비용 및 사용 보고서(Cost & usage reports)는 AWS 사용에 대한 자세한 내역을 제공하는 보고서입니다. 이 보고서를 통해 AWS 리소스 사용량, 비용, 예상 비용 등의 정보를 확인할 수 있습니다. AWS 비용 및 사용 보고서를 사용하면 AWS 사용 내역을 추적하여 비용을 절감하고 AWS 인프라의 운영 상태를 파악할 수 있습니다.

 

Cost & usage reports 생성 방법

AWS 콘솔에서 우측 상단의 계정을 클릭하여 계정 탭으로 들어가겠습니다.

[그림 1] AWS 계정 탭 이동

계정 탭으로 들어오면 [그림 2]와 같이 좌측 메뉴에 Cost & usage reports가 보일 것 입니다. 클릭하여 이동하여 줍시다.

[그림 2] Cost & usage reports 탭 이동

Cost & usage reposts 탭에 들어오면 [그림 3]과 같이 보고서 생성 버튼이 보일 것 입니다. 클릭하여 보고서를 생성해봅시다!

[그림 3] Cost & usage reports 보고서 생성

먼저 보고서의 이름을 입력합니다. 여기서는 cost-repost라고 입력하였습니다. 그리고 아래의 추가 콘텐츠는 굳이 파일 크기를 늘리고 싶지 않아 선택하지 않았습니다.

[그림 4] 보고서 세부 정보 지정

바로 밑에는 데이터 자동 새로고침에 대한 설정을 할 수 있습니다. [그림 5]와 같이 해당 설정을 활성화하면 하루에 한 번 이상 비용 보고서를 S3에 저장하게 됩니다. 저는 해당 설정을 활성화 하였습니다.

[그림 5] 보고서 데이터 처리 설정

그렇게 다음으로 넘어가면 보고서를 저장할 S3 버킷을 생성하거나 선택할 수 있습니다. 여기서는 기존 버킷을 선택하지 않고, 버킷을 생성할 것입니다. 여기서 생성한 버킷은 보고서를 생성하고 저장할 때 필요한 권한이 자동으로 작성되어 적용되기 때문에 생성하는 것이 좀 더 편하게 S3 버킷을 구성하는 방법이 될 것이라 생각합니다.

[그림 6] 보고서 저장을 위한 S3 버킷 생성

버킷을 생성하여 하단에 내려오면 [그림 7]과 같이 해당 버킷 내 보고서가 저장될 경로의 접두사를 입력하고, 비용 집계 시간을 시간,일,월별로 지정하여 보고서를 어떤 서비스에서 통합하여 사용할 것인지 선택할 수 있습니다.

여기서는 일단위로 비용을 집계한 보고서를 위에서 생성한 버킷에서 dev-cost-report/ 경로에  Amazon Athena 서비스에서 활용할 수 있도록 Parquet 형식으로 저장할 수 있도록 설정하였습니다.

[그림 7] 보고서 전송 옵션 설정

Athena는 Parquet이라는 파일 형식을 사용하고, Redshift와 QuickSight는 gz 압축 파일을 사용하게 됩니다. 저는 Amazon QuickSight를 사용하지 않고 Power BI를 통해 시각화를 해볼 계획이기 때문에 향후 Power BI에서 데이터 쿼리를 해올 수 있도록 Athena를 활용하도록 하였습니다.

 

비용 보고서 생성 확인

Cost & usage reports를 생성했다고 S3에 보고서 파일이 바로 생성되진 않습니다. 하루에 한 번 이상 보고서를 생성하도록 설정하였으니 다음 날에는 생성된 것을 확인할 수 있을 것입니다. 저는 마음 편하게 몇 일 기다렸다가 확인해봤습니다.

[그림 8] S3 버킷에서 비용 보고서 생성 확인

해당 보고서 파일을 csv 파일로 변환하여 확인해보면 다음 [그림 9]와 같은 데이터를 확인할 수 있습니다.

[그림 9] 비용 보고서 csv 파일 확인

필드가 엄청나게 많고, 다소 복잡하지만 해당 데이터를 잘 가공하고 시각화시킬 수만 있다면 비용 관리를 효율적으로 할 수 있습니다. 또한, AWS 인프라의 상태를 파악하여 최적화된 운영을 할 수 있을 것입니다.

다음에는 해당 데이터를 Glue와 Athena를 통해 데이터를 저장하고 쿼리할 수 있는 환경을 만들어봅시다!😎

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.