Cost Explorer、Budgets、コスト配分タグ
Cost Explorerで支出の傾向を分析し、予算超過前にアラートを設定して、リソースにタグを付けてショーバックやチャージバックのレポートに活用します。
「Cost Explorer、Budgets、コスト配分タグ」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
コストを可視化する必要性
AWSの支出を可視化できなければ、コスト最適化は不可能です。測定できないものを改善することはできません。AWSは、コストを可視化するための主なツールを3つ提供しています。過去および予測される支出を分析するCost Explorer、支出がしきい値を超えたときに事前に通知するAWS Budgets、そしてチーム、プロジェクト、環境ごとにコストを分解するコスト配分タグです。これらを組み合わせることで、Well-Architectedのコスト最適化の柱に必要な財務管理の基盤が整います。
# AWS cost management tools:
# Cost Explorer: analyse past spending, forecast
# AWS Budgets: alert when approaching/exceeding limits
# Cost Allocation Tags: attribute costs to teams/projects
# Cost and Usage Report (CUR): granular data to S3 for BI tools
# Billing Dashboard: high-level current month summary
# Savings Plans/RI: analyse commitment coverageCost Explorer:支出の分析
AWS Cost Explorerは、AWSのコストと使用状況データを調査するためのビジュアルインターフェイスとAPIを提供します。サービス、リージョン、アカウント、リソースタイプ、タグ、期間ごとに支出を表示できます。Cost Explorerには、過去の傾向に基づく12か月間の支出予測、RIとSavings Planのカバレッジレポート、および支出パターンが予期せず変化したときにMLを使用して通知するコスト異常検出もあります。BillingコンソールでCost Explorerを有効にしてください。データが蓄積されるまで24時間かかります。
# Cost Explorer API: get last 30 days spend by service
aws ce get-cost-and-usage \
--time-period Start=2026-05-21,End=2026-06-21 \
--granularity MONTHLY \
--metrics BlendedCost \
--group-by Type=DIMENSION,Key=SERVICE \
--query 'ResultsByTime[0].Groups[].{Service:Keys[0],Cost:Metrics.BlendedCost.Amount}' \
--output table
# Example output:
# Amazon EC2: $8,450
# Amazon RDS: $2,200
# Amazon S3: $430
# AWS Lambda: $85コスト異常検出
AWS Cost Anomaly Detectionは、機械学習を使用してコストを継続的に監視し、予期しない増加を通知します。通常の支出パターンを学習し、統計的に有意な逸脱を検出します。異常モニター(監視対象:サービス、リンクされたアカウント、コストカテゴリ、タグ)とアラートサブスクリプション(異常がしきい値を超えたときにSNS、メール、またはSlack webhookで通知)を設定します。Anomaly Detectionは、異常に増大するLambdaコスト、誤って起動した大規模なEC2インスタンス、予期しないデータ転送料金などを、深刻化する前に検出するうえで非常に役立ちます。
# Create Cost Anomaly Detection monitor
aws ce create-anomaly-monitor \
--anomaly-monitor '{
"MonitorName": "AllServicesMonitor",
"MonitorType": "DIMENSIONAL",
"MonitorDimension": "SERVICE"
}'
# Create alert subscription for anomalies > $100
aws ce create-anomaly-subscription \
--anomaly-subscription '{
"SubscriptionName": "daily-anomaly-alert",
"MonitorArnList": ["arn:aws:ce::123:anomalymonitor/xxx"],
"Subscribers": [{"Address":"finops@example.com","Type":"EMAIL"}],
"Threshold": 100,
"Frequency": "DAILY"
}'AWS Budgets:積極的なコストアラート
AWS Budgetsでは、カスタムの支出しきい値を設定し、実際の支出または予測支出がしきい値を超えたときに通知を受け取れます。予算タイプは4つあります。Cost Budget(金額)、Usage Budget(時間、GB、リクエスト数)、RI Utilisation Budget(利用率がしきい値を下回った場合に通知)、Savings Plans Utilisation Budgetです。予算ごとに複数のアラートしきい値(例:予算の50%、80%、100%、および実績の110%)を設定できます。通知先はメールまたはSNSで、Budget Actionsを使用すると、SCPやIAMポリシーを自動的に適用して、それ以上の支出を停止できます。
# Create monthly cost budget with alerts
aws budgets create-budget \
--account-id 123456789012 \
--budget '{
"BudgetName": "monthly-production-budget",
"BudgetLimit": {"Amount": "10000", "Unit": "USD"},
"TimeUnit": "MONTHLY",
"BudgetType": "COST"
}' \
--notifications-with-subscribers '[{
"Notification": {
"NotificationType": "ACTUAL",
"ComparisonOperator": "GREATER_THAN",
"Threshold": 80,
"ThresholdType": "PERCENTAGE"
},
"Subscribers": [{"SubscriptionType":"EMAIL","Address":"cto@example.com"}]
}]'自動対応のためのBudget Actions
AWS Budget Actionsは、予算のしきい値を超えたときに、人手を介さず自動的に対応できます。次のアクションを設定できます。IAMポリシーを適用して、新しいEC2インスタンスを起動する権限を拒否する。Service Control Policy(SCP)を適用して、AWS Organizationsの対象に適用する。予算を超過したEC2またはRDSインスタンスを停止する。たとえば、開発用アカウントの月間予算が5,000ドルを超えた場合に、すべてのEC2インスタンスを自動的に停止するよう設定すれば、忘れられたテスト環境によるコストの急増を防止できます。
# Budget Action: stop EC2 instances when budget exceeded
aws budgets create-budget-action \
--account-id 123456789012 \
--budget-name monthly-dev-budget \
--notification-type ACTUAL \
--action-type STOP_EC2_INSTANCES \
--action-threshold '{
"ActionThresholdValue": 100,
"ActionThresholdType": "PERCENTAGE"
}' \
--definition '{
"SsmActionDefinition": {
"ActionSubType": "STOP_EC2_INSTANCES",
"Region": "us-east-1",
"InstanceIds": ["i-dev-1","i-dev-2"]
}
}' \
--execution-role-arn arn:aws:iam::123:role/BudgetActionsRole \
--approval-model AUTOMATICコスト配分タグ
コスト配分タグを使用すると、AWSのコストを特定のビジネス上の分類に割り当てられます。種類は2つあります。AWS生成タグ(例:aws:createdBy)とユーザー定義タグ(独自に設定するキーと値のペア)です。コストレポートに表示する前に、Billingコンソールでタグを有効化する必要があります。有効化すると、タグを使ってCost Explorer、CUR、Budgetsのデータをフィルタリングできます。Project、Environment、Team、CostCenterなどのタグ分類を定義し、AWS OrganizationsのTag Policiesで適用してください。
# Tag an EC2 instance with cost allocation tags
aws ec2 create-tags \
--resources i-1234567890abcdef0 \
--tags \
Key=Project,Value=OrderService \
Key=Environment,Value=Production \
Key=Team,Value=PlatformEng \
Key=CostCenter,Value=CC-1042
# Activate tag in Billing console (CLI)
aws ce create-cost-category-definition \
--name ProjectCosts \
--rules '[{"Value":"OrderService","Rule":{"Tags":{"Key":"Project","Values":["OrderService"]}}}]'Tag Policiesによるタグの適用
タグは一貫して付与されて初めて役立ちます。AWS OrganizationsのTag Policiesを使用すると、すべてのアカウントでタグのキーと値の形式を適用できます。タグポリシーでは、Environmentタグを必須にし、その値をProduction、Staging、Developmentのいずれかに限定できます。準拠していないリソースは、タグポリシーのコンプライアンスレポートに表示されます。Tag PoliciesをAWS Configルール(例:required-tags)と組み合わせると、タグ付けできないコストが蓄積する前に、タグのないリソースを検出して通知できます。
# Create Tag Policy in AWS Organizations
aws organizations create-policy \
--name RequiredTagsPolicy \
--type TAG_POLICY \
--content '{
"tags": {
"Environment": {
"tag_key": {"@@assign": "Environment"},
"tag_value": {"@@assign": ["Production","Staging","Development"]}
},
"Project": {
"tag_key": {"@@assign": "Project"}
}
}
}'
# Attach to an OU
aws organizations attach-policy \
--policy-id p-12345 \
--target-id ou-root-abc123Cost and Usage Report(CUR)
AWS Cost and Usage Report(CUR)は、利用可能な請求データの中で最も粒度が細かいものです。アカウント内のすべてのリソースについて、リソースID、タグ、Savings Planのカバレッジ、ブレンド料金とアンブレンド料金を含む、1時間単位の明細が記録されます。CURデータはCSVまたはParquet形式でS3バケットに配信されます。カスタム分析にはAmazon Athenaでクエリを実行し、ダッシュボードにはAmazon QuickSightに取り込めます。CURは、事業部門への詳細なショーバックやチャージバックが必要な組織に不可欠です。
# Create CUR definition (deliver to S3)
aws cur put-report-definition \
--report-definition '{
"ReportName": "my-cost-report",
"TimeUnit": "HOURLY",
"Format": "Parquet",
"Compression": "Parquet",
"AdditionalSchemaElements": ["RESOURCES"],
"S3Bucket": "my-cur-bucket",
"S3Prefix": "reports",
"S3Region": "us-east-1",
"ReportVersioning": "OVERWRITE_REPORT",
"IncludeResourceIds": true
}'
# Query with Athena:
# SELECT resource_id, sum(line_item_blended_cost)
# FROM cur_table
# WHERE resource_tags_user_project = 'OrderService'
# GROUP BY resource_id論理的なグループ化のためのCost Categories
AWS Cost Categoriesでは、ルールを使用してコストと使用状況を意味のあるビジネスカテゴリにマッピングできます。たとえば、Environment=Productionのタグが付いたすべてのリソースと、特定のアカウントIDを含むProduction Environmentというカテゴリを作成できます。カテゴリはCost Explorerでフィルターディメンションとして表示されるため、タグ付けに一貫性がない場合でも、本番環境と開発環境の合計コストを簡単に比較できます。Cost Categoriesはルールベースのマッピングに対応しているため、過去の不完全または一貫性のないタグ付けを補完できます。
# Create a Cost Category
aws ce create-cost-category-definition \
--name 'EnvironmentType' \
--rules '[{
"Value": "Production",
"Rule": {"Tags":{"Key":"Environment","Values":["prod","production","PROD"]}}
},{
"Value": "Development",
"Rule": {"Tags":{"Key":"Environment","Values":["dev","development","test"]}}
}]' \
--default-value 'Untagged'
# Use in Cost Explorer to filter:
# Filter: CostCategory = Production
# See all production costs regardless of tag variationsFinOpsの実践方法
FinOps(クラウドのFinancial Operations)とは、クラウドコストを財務部門だけでなく、チーム全体の責任として管理する実践です。主な実践項目は次のとおりです。可視性 — 各チームがCost Explorerで自分たちの支出を確認できるようにします。説明責任 — 各チームがコスト配分と予算を管理します。最適化 — 定期的に適正サイズ化とRI/SPの見直しを行います。予測 — Cost Explorerの予測を使用して将来の支出を予測します。AWSでは、Organizations配下にチームごとのAWSアカウントを作成し、チームごとの予算、タグポリシー、エンジニアリングリードとの月次コストレビューを導入することでFinOpsを実践できます。
# FinOps implementation checklist:
# [ ] Activate cost allocation tags in Billing console
# [ ] Enable Cost Anomaly Detection
# [ ] Create monthly budgets per team/account
# [ ] Set up Budget Actions for dev accounts
# [ ] Enable CUR delivery to S3
# [ ] Create Athena tables over CUR for ad-hoc queries
# [ ] Build QuickSight dashboard for leadership
# [ ] Schedule monthly cost review meetings
# [ ] Track month-over-month cost per unit of workコスト予測と計画
Cost Explorerの予測では、過去の使用パターンを使用して、最大12か月先までの将来のコストを予測します。これは予算計画とキャパシティ計画に役立ちます。履歴のない新しいワークロードでは、デプロイ前にAWS Pricing Calculatorを使用してコストを見積もってください。予期しない成長や新しいサービスに備え、予測には常に20~30%の余裕を加えてください。複雑なコスト構造を持つ組織では、月次コストの概要を自動的に生成してメールまたはS3に配信するAWS Budgets**レポートの利用を検討してください。
# Get 3-month cost forecast
aws ce get-cost-forecast \
--time-period Start=2026-07-01,End=2026-09-30 \
--metric BLENDED_COST \
--granularity MONTHLY \
--filter '{
"Dimensions": {
"Key": "SERVICE",
"Values": ["Amazon EC2"]
}
}' \
--query 'ForecastResultsByTime[].{Month:TimePeriod.Start,Forecast:MeanValue,Lower:PredictionIntervalLowerBound,Upper:PredictionIntervalUpperBound}'理解度チェック
このレッスンで扱ったAWS Solutions Architect(SAA-C03)の概念について、理解度を確認します。
レッスンのまとめ
このレッスンでは、Cost Explorer はコスト異常検出を使用して過去および予測の支出を分析すること、AWS Budgets はしきい値を超えた際に事前アラートと自動の Budget Actions を提供すること、そしてCost Allocation Tags はコストをチーム、プロジェクト、環境に割り当てることで、ショーバックとチャージバックを可能にすることを学びました。AWS Organizations の Tag Policies は、一貫したタグ付けを強制します。次は、S3 とデータ転送のコスト最適化手法について学びます。
よくある質問
「Cost Explorer、Budgets、コスト配分タグ」レッスンは無料ですか?
はい。「Cost Explorer、Budgets、コスト配分タグ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「Cost Explorer、Budgets、コスト配分タグ」で何を学びますか?
Cost Explorerで支出の傾向を分析し、予算超過前にアラートを設定して、リソースにタグを付けてショーバックやチャージバックのレポートに活用します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Cost Explorer、Budgets、コスト配分タグ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 適正サイズ化とCompute Optimizer
- リザーブドインスタンス、Savings Plans、Spot
- Cost Explorer、Budgets、コスト配分タグ
- S3とデータ転送のコスト最適化