TL;DR
Amazon Bedrock 추론 비용을 사용자·애플리케이션·프로젝트별로 관리하려면 CUR 2.0 내보내기에서 IAM principal 데이터를 활성화하고, 생성된 데이터를 S3와 Amazon Athena에 연결해야 합니다. Athena에서는 line_item_iam_principal과 사용 유형을 기준으로 토큰과 비용을 집계하고, iamPrincipal/ 태그와 UNNEST를 이용해 사전에 정하지 않은 조직 차원의 비용 분류도 수행할 수 있습니다. ChatApp과 DocProcessor처럼 IAM 역할을 분리한 서비스는 모델별 비용 차이를 직접 비교할 수 있으며, 예시에서는 ChatApp의 Claude 4.6 Sonnet 비용이 $80를 넘고 DocProcessor의 Nova Lite 비용은 $5 미만입니다. CUDOS version 5.8은 같은 데이터를 AI/ML 대시보드로 시각화해 principal·프로젝트·모델·사용 유형별 지출과 백만 토큰당 비용 추세를 SQL 없이 추적하게 합니다.
섹션별 상세


- CUR 2.0에서 Include caller identity (IAM principal) allocation data를 활성화하면 line_item_iam_principal 열과 iamPrincipal/ 태그가 비용 데이터에 채워진다. — CUR 2.0 내보내기 설정의 Additional export content와 IAM principal 데이터 설명
- IAM principal 데이터를 활성화하면 기존 단일 사용량 행이 principal별 여러 행으로 확장되어 CUR 파일 크기가 커진다. — CUR 2.0 설정 섹션의 파일 크기 및 S3 저장 공간 관련 주의사항
SELECT line_item_iam_principal, line_item_usage_type, line_item_unblended_cost --# Note: replace your_cur_table_name, like `cid_data_export.cur2` FROM your_cur_table_name WHERE line_item_product_code in ('AmazonBedrock', 'AmazonBedrockService') AND line_item_iam_principal IS NOT NULL LIMIT 10;CUR 2.0 테이블에 IAM principal ARN과 Amazon Bedrock 사용 유형이 저장됐는지 확인하는 초기 테스트 쿼리입니다.
SELECT line_item_iam_principal, line_item_usage_type, SUM(line_item_usage_amount) AS total_tokens, SUM(line_item_unblended_cost) AS total_cost FROM your_cur_table_name WHERE line_item_product_code in ('AmazonBedrock', 'AmazonBedrockService') AND billing_period = DATE_FORMAT(CURRENT_DATE, '%Y-%m') AND line_item_iam_principal IS NOT NULL -- AND line_item_usage_type LIKE '%Sonnet%input%' GROUP BY line_item_iam_principal, line_item_usage_type ORDER BY total_cost DESC;현재 청구 월의 Amazon Bedrock 토큰 사용량과 비용을 호출 주체·사용 유형별로 합산하고 비용이 큰 순서로 정렬합니다.
SELECT tags['iamPrincipal/project'] AS project, line_item_usage_type, SUM(line_item_usage_amount) AS total_tokens, SUM(line_item_unblended_cost) AS total_cost FROM your_cur_table_name WHERE line_item_product_code in ('AmazonBedrock', 'AmazonBedrockService') AND billing_period = DATE_FORMAT(CURRENT_DATE, '%Y-%m') AND line_item_iam_principal IS NOT NULL GROUP BY tags['iamPrincipal/project'], line_item_usage_type ORDER BY total_cost DESC;활성화된 iamPrincipal/project 비용 할당 태그를 기준으로 프로젝트별 토큰 사용량과 비용을 집계합니다.
WITH iam_principal_costs AS ( SELECT t.key AS tag_name, t.value AS tag_value, line_item_usage_type, line_item_unblended_cost FROM your_cur_table_name CROSS JOIN UNNEST(tags) AS t(key, value) WHERE line_item_product_code IN ('AmazonBedrock', 'AmazonBedrockService') AND line_item_iam_principal IS NOT NULL AND line_item_iam_principal != '' AND t.key LIKE 'iamPrincipal/%' ) SELECT tag_name || ': ' || tag_value AS tags, line_item_usage_type, SUM(line_item_unblended_cost) AS total_cost FROM iam_principal_costs GROUP BY tag_name, tag_value, line_item_usage_type ORDER BY total_cost DESC;tags 맵을 UNNEST로 펼쳐 모든 IAM principal 태그의 키·값과 사용 유형별 비용을 동적으로 조회합니다.
- Athena 쿼리는 스캔 데이터 기준 TB당 $5와 쿼리당 10MB 최소 기준으로 과금되며, 단일 월 필터를 사용한 예시 쿼리의 비용은 약 $0.00005이다. — Cost of Athena queries 섹션의 과금 기준과 스캔 비용 설명
- 예시에서 ChatApp은 Claude 4.6 Sonnet 사용으로 $80를 넘게 지출하고 DocProcessor는 Nova Lite 사용으로 $5 미만을 지출한다. — Multi-service cost comparison 섹션의 예시 출력과 후속 비용 비교 문단


- CUDOS version 5.8은 AI/ML 탭에서 IAM principal별 Amazon Bedrock 비용 배분, cost-per-million-tokens 추세, 모델·사용 유형별 세부 시각화를 지원한다. — Amazon Bedrock cost and usage insights in CUDOS 섹션과 이미지 3·4
aws glue delete-table --region us-east-1 --database-name your_cur_table_name --name curexport
aws glue delete-database --region us-east-1 --name your_cur_table_name
aws s3 rm s3:///athena-results/ --recursive분석을 끝낸 뒤 Athena 테이블과 Glue 데이터베이스의 메타데이터, Athena 결과 파일을 삭제하는 정리 명령입니다.
용어 해설
- CUR 2.0
- — AWS Cost and Usage Report의 최신 데이터 내보내기 형식으로, Amazon Bedrock 사용량과 비용을 시간·리소스·호출 주체 단위로 S3에 저장합니다. IAM principal 데이터를 활성화하면 호출한 사용자나 역할을 비용 레코드에 연결할 수 있어 세밀한 비용 배분이 가능합니다.
- IAM Principal
- — AWS 리소스에 요청을 보낸 사용자, 역할 또는 세션을 식별하는 주체입니다. CUR 2.0의 line_item_iam_principal 열에 전체 ARN이 기록되며, 이를 기준으로 Amazon Bedrock 추론 비용을 개인·애플리케이션·서비스별로 나눌 수 있습니다.
- 파티션 프로젝션(Partition Projection)
- — Athena가 테이블 메타데이터에 파티션 규칙을 정의해 실제 파티션 목록을 별도로 저장하지 않고도 필요한 데이터 위치를 계산하는 방식입니다. billing_period 조건을 사용하면 특정 월의 Parquet 파일만 스캔해 쿼리 비용과 처리량을 줄일 수 있습니다.
- 비용 할당 태그(Cost Allocation Tags)
- — AWS 비용을 팀·프로젝트·비용 센터 같은 조직 기준으로 묶는 태그입니다. IAM principal에 태그를 붙이고 비용 할당 태그로 활성화하면 CUR 2.0에서 iamPrincipal/ 접두사가 붙은 태그 열로 비용 집계를 수행할 수 있습니다.
- UNNEST 함수(UNNEST)
- — Athena SQL에서 배열이나 맵 형태의 데이터를 행 단위로 펼치는 함수입니다. 이 글에서는 IAM principal에 연결된 tags 맵을 key와 value 쌍으로 변환해 사전에 알지 못한 태그 키와 값별 Amazon Bedrock 비용을 동적으로 집계하는 데 사용합니다.
기술
- Amazon Bedrock
- Amazon Athena
- CUDOS
- CUR 2.0
- AWS Cost and Usage Reports
- Amazon S3
- AWS Glue
- AWS CloudFormation
- AWS Cost Explorer
- Claude Code
- Kiro-CLI
- Codex
- SQL
- UNNEST
- Partition Projection
활용 사례
- 사용자별 Amazon Bedrock 비용 추적
- 팀·프로젝트·테넌트별 비용 배분
- DocProcessor와 ChatApp 같은 AI 서비스 비용 비교
- 모델 및 토큰 유형별 지출 분석
- CUDOS 대시보드를 활용한 조직 단위 비용 모니터링
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.