aws-billing-and-cost-management

작성자: aws

AWS 비용을 분석하고, 절감 방안을 찾고, 예산을 관리하며, Savings Plans 및 예약 인스턴스를 평가하고, Compute Optimizer로 EC2/Lambda/RDS/EBS를 적정 규모로 조정하고, 조회…

npx skills add https://github.com/aws/agent-toolkit-for-aws --skill aws-billing-and-cost-management

Billing and Cost Management

Overview

Analyze, optimize, and manage AWS costs. This skill encodes domain expertise from AWS's cost management products — gotchas, correct API usage patterns, and optimization workflows that models frequently get wrong.

Usage

Use this skill when:

  • Analyzing AWS spending, cost trends, or cost breakdowns
  • Setting up or managing budget alerts
  • Evaluating Savings Plans or Reserved Instance purchases
  • Right-sizing EC2, Lambda, RDS, or EBS resources
  • Looking up AWS service pricing
  • Running cost audits or investigating cost spikes
  • Querying CUR data with Athena
  • Scoping cost analysis to a specific billing view
  • Checking Free Tier usage

Core Concepts

  • Cost Explorer — query cost/usage data by service, account, tag, or time range
  • Budgets — set spending thresholds with alerts; supports billing view scoping
  • Billing Views — scope cost data to a subset of billing (custom view, billing group, or primary)
  • Compute Optimizer — right-sizing recommendations for EC2, Lambda, EBS, RDS
  • Cost Optimization Hub — aggregated savings recommendations across services
  • Savings Plans / Reserved Instances — commitment-based discounts
  • CUR 2.0 — detailed line-item billing data queryable via Athena

Recommended setup: Use the AWS MCP server for sandboxed execution, audit logging, and enterprise controls. See: https://docs.aws.amazon.com/aws-mcp/

Without AWS MCP: All commands use standard AWS CLI syntax and work with any agent that has CLI access.

Critical Rule: Always Check the Current Date

Before making ANY Cost Explorer, Budgets, or Savings Plans API call, you MUST determine the current date. Use a tool to get the current date and time — do NOT assume or guess the year. LLMs frequently default to dates from their training data instead of the actual current date, producing analyses of stale data that appear correct but are completely wrong.

Critical Rule: Deterministic Calculations

You MUST NEVER perform numerical calculations (sums, averages, percentages, comparisons, counts, min/max) by reasoning in your response. LLM arithmetic is unreliable and produces wrong answers on cost data.

You MUST ALWAYS use a script or calculator tool for any math on data returned from API calls. Write a Python script that performs the calculation and prints the result. If the AWS MCP server's run_script tool is available, use it. Otherwise, run the script locally.

Read references/deterministic-calculations.md for patterns and examples.

Decision Guide

QuestionToolReference
What am I spending? Where are costs going up?Cost Explorerreferences/cost-explorer.md
How much does a service cost?Price List APIreferences/pricing-lookup.md
Where can I save money? (start here)Cost Optimization Hubreferences/cost-optimization-hub.md
Should I buy Savings Plans?CE SP Recommendationsreferences/savings-plans.md
Should I buy Reserved Instances?CE RI Recommendationsreferences/reserved-instances.md
Deep-dive on a specific EC2/Lambda/EBS/RDS rec?Compute Optimizerreferences/ec2-rightsizing.md, references/lambda-optimization.md, references/rds-optimization.md, references/ebs-optimization.md
How do I set up budget alerts?Budgetsreferences/budgets.md
What's causing a cost spike?Cost Anomaly Detectionreferences/cost-explorer.md
Am I within Free Tier?Free Tier APIreferences/free-tier.md
How do I reduce my bill?Cost Audit workflowreferences/cost-audit.md
How do I query detailed billing data?CUR 2.0 + Athenareferences/cur-athena.md
How do I optimize specific services?Per-service patternsreferences/service-optimization.md
How do I scope costs to a billing view?Billing ViewsSee Billing Views below

Common Tasks

Analyze costs by service

aws ce get-cost-and-usage \
  --time-period Start=2026-03-01,End=2026-04-01 \
  --granularity MONTHLY \
  --metrics UnblendedCost \
  --group-by Type=DIMENSION,Key=SERVICE

Default to UnblendedCost. Exclude Credits/Refunds with --filter '{"Not":{"Dimensions":{"Key":"RECORD_TYPE","Values":["Credit","Refund"]}}}'. End date is exclusive.

Run a cost audit

Read references/cost-audit.md for the full 7-step workflow: top cost drivers → month-over-month comparison → optimization recommendations → idle resources → commitment coverage → per-service quick wins → report.

Get right-sizing recommendations

Compute Optimizer requires opt-in first: aws compute-optimizer update-enrollment-status --status Active. Then read references/ec2-rightsizing.md for EC2 or the relevant resource-specific reference.

Look up service pricing

Read references/pricing-lookup.md for service codes and attribute filters. Common trap: Price List API service codes differ from Cost Explorer service names.

Billing Views

A billing view scopes cost and usage data to a specific slice of an account's billing (e.g., a billing group, custom view, or the default primary view). When the user wants to analyze costs through a particular billing view, add --billing-view-arn to supported API calls.

Discover available billing views

aws billing list-billing-views \
  --billing-view-types PRIMARY CUSTOM BILLING_GROUP

Requires billing:ListBillingViews permission.

Use a billing view with Cost Explorer

aws ce get-cost-and-usage \
  --time-period Start=2026-03-01,End=2026-04-01 \
  --granularity MONTHLY \
  --metrics UnblendedCost \
  --group-by Type=DIMENSION,Key=SERVICE \
  --billing-view-arn arn:aws:billing::ACCOUNT_ID:billingview/BILLING_VIEW_ID

Create a budget scoped to a billing view

In the --budget JSON, include the BillingViewArn field:

aws budgets create-budget --account-id ACCOUNT_ID \
  --budget '{
    "BudgetName": "TeamX-Monthly",
    "BudgetLimit": {"Amount": "1000", "Unit": "USD"},
    "TimeUnit": "MONTHLY",
    "BudgetType": "COST",
    "BillingViewArn": "arn:aws:billing::ACCOUNT_ID:billingview/BILLING_VIEW_ID"
  }'

API support for --billing-view-arn

Supports --billing-view-arnDoes NOT support it
ce get-cost-and-usagece get-reservation-coverage
ce get-cost-and-usage-with-resourcesce get-reservation-utilization
ce get-cost-forecastce get-savings-plans-coverage
ce get-usage-forecastce get-savings-plans-utilization
ce get-dimension-values
ce get-tags
ce get-cost-comparison-drivers
budgets create-budget (in budget JSON)

Troubleshooting

ErrorCauseFix
ValidationException on Cost ExplorerWrong dimension key (e.g., CHARGE_TYPE instead of RECORD_TYPE)Use RECORD_TYPE for charge type filtering
Empty results with filterFilter value doesn't match exactlyCall GetDimensionValues first to get valid values
AccessDeniedException on hourly dataHourly granularity not enabledEnable in Cost Explorer preferences
Account not registered on Compute OptimizerNot opted inRun update-enrollment-status --status Active
Budgets API fails outside us-east-1Budgets requires us-east-1Set --region us-east-1
Cost Explorer Total empty with GroupByBy design — totals excluded when groupingMake separate call without GroupBy, or sum grouped results using a script
AccessDeniedException on list-billing-viewsMissing permissionUser needs billing:ListBillingViews permissions
ValidationException with --billing-view-arnAPI doesn't support billing views, or malformed ARNCheck the API support table above; ARN format is arn:aws:billing::ACCOUNT_ID:billingview/VIEW_ID
Budget shows UNHEALTHY health statusBilling view access revoked or view deletedCheck HealthStatus.StatusReason in describe-budget output; ensure billing:GetBillingViewData is granted

Additional Resources

aws의 다른 스킬

analyzing-release-readiness
aws
GitHub PR, GitLab MR 또는 로컬 브랜치에서 병합 전 릴리스 준비 검토를 트리거합니다. 사용자가 코드 변경 사항의 위험성, 정확성 등을 분석하려 할 때 사용합니다.
scanning-with-aws-security-agent
aws
작업 공간에서 AWS Security Agent 스캔 실행 — 소스를 AWS에 업로드하고, 관리형 Security Agent 서비스로 스캔한 후, 순위가 매겨진 검증된 결과를 반환합니다…
coordinating-multi-space-devops-agent
aws
하나의 Claude Code 세션에서 여러 AgentSpaces에 걸쳐 AWS DevOps Agent를 조정하세요 — 질문을 올바른 공간(프로덕션 vs 스테이징 vs 지식)으로 라우팅하고,…
aws-security
aws
AWS 보안 서비스 및 워크플로우를 다룹니다 — Security Hub V2 (OCSF) findings, 커넥터, 애그리게이터, 자동화 규칙, 보안 상태 요약 등…
querying-aws-sagemaker-catalog
aws
SageMaker Catalog 자산 메타데이터 테이블에서 SQL 분석을 실행하며, S3 Tables에서 Apache Iceberg로 내보낸 데이터를 대상으로 합니다. 거버넌스 쿼리, 자산 성장 추적 등을 다룹니다.
agents-connect
aws
에이전트를 Gateway를 통해 외부 API, 도구 또는 서비스에 연결하거나 Cedar 정책으로 도구 접근을 제한할 때 사용합니다. 게이트웨이 설정, 대상...
aurora-dsql
aws
Aurora DSQL 클러스터를 프로비저닝하고 관리하며, psql 또는 DSQL 커넥터를 통해 연결하고, 스키마를 관리하고, 쿼리를 실행하고, MySQL에서 마이그레이션하고, 쿼리 계획을 진단합니다.
transitgateway
aws
AWS Transit Gateway를 구성합니다: 허브를 생성하고 VPC를 연결하며, 라우팅 테이블로 트래픽을 분리하고, 허브를 통해 이그레스 및 검사를 중앙화합니다…