Shared Azure services like hub networking, central logging, or shared AKS clusters often support multiple teams β but their costs land in a single resource group or subscription. Azure Cost Allocation helps you reassign those costs to consuming scopes (like other subscriptions or tagged teams) for showback or chargeback β without affecting actual billing.
β Prerequisites
- You must be using a Microsoft Customer Agreement (MCA) or Enterprise Agreement (EA).
- Role requirements:
- EA: Enterprise Administrator
- MCA: Billing Account Owner or Billing Profile Contributor
- Not supported under CSP or individual pay-as-you-go subscriptions.
- Allocation does not affect actual charges or invoices β it’s only for reporting purposes.
π§ Step-by-Step Setup
1. Identify Shared Costs
- Example: A
Networking-Shared
subscription or resource group that hosts ExpressRoute and firewalls. - Choose one or more source scopes (subscriptions, resource groups, or tags).
- Choose one or more target scopes (subscriptions, resource groups, or tags) that will receive a share of those costs.
2. Navigate to Cost Allocation Settings
- Go to Azure Portal > Cost Management + Billing.
- Under your Billing Account scope, go to: Cost Management > Settings > Cost allocation
- Click + Add to create a new rule.
3. Define Your Allocation Rule
- Name your rule (e.g.,
SharedHubAllocation
). - Select Sources:
- Choose the scope where the shared costs reside.
- Example: Subscription =
Networking-Shared
, or Tag =SharedService:True
.
- Select Targets:
- Choose where the costs will be reallocated.
- Example: Subscription =
AppTeam1
,AppTeam2
, or Tag =Department
.
4. Set Allocation Percentages
Choose how to split the costs among the targets:
- π’ Evenly: Equal share for each target.
- π By total cost: Based on how much each target is already spending.
- π₯οΈ By resource type: Use ratios of compute, storage, or network usage.
- βοΈ Custom: Manually enter a percentage for each target (must total 100%).
β± Azure shows a preview based on current month data and applies the split to all costs in the source scope unless restricted by unsupported cost types (see below).
5. Save and Apply
- Click Create.
- Allocation rules take effect within 24 hours.
- Revisit the rule anytime to edit, disable, or delete it.
π How to Verify Allocated Costs
- Go to Cost Management > Cost Analysis.
- Set the view to βAllocated costβ.
- In the target scopes (subscriptions, RGs, or tags), you will see a new line item labeled: vbnetCopyEdit
Allocated Cost β from Networking-Shared
The source scopeβs cost will drop to near zero in cost analysis views (since it was reallocated).
π§ Notes and Best Practices
Topic | Notes |
---|---|
Billing Impact | Allocations are only for reporting. Invoices remain unchanged. |
Unsupported Costs | Reservation purchases, marketplace, and support plans canβt be reallocated. |
Rule Order | Rules run sequentially in creation order. If a sourceβs cost is already reallocated, a later rule wonβt apply. |
Cross-Tag Allocation | You can reallocate from one tag value (e.g., Shared: True) to other tag values (e.g., Department: Marketing, HR). |
Historical Months | Reallocation applies to the current billing period and forward. To backfill prior months, re-create the rule with a backdated start. |
Disabling a Rule | Removes allocation; costs return to the original source scope in reports. |
π§Ύ Example
You have a Networking-Shared
subscription with $1,000/month in shared costs.
You create a rule:
- Source: Subscription
Networking-Shared
- Targets:
AppTeam1
= 40%AppTeam2
= 60%
After applying the rule:
Networking-Shared
shows $0 in reports.AppTeam1
shows $400 in Allocated Cost.AppTeam2
shows $600 in Allocated Cost.
π Why It Matters
Using Azure Cost Allocation:
- Encourages accountability: Teams see shared costs in their dashboards.
- Eliminates spreadsheets and manual splitting.
- Enables accurate showback/chargeback in Power BI or internal reports.
- Supports FinOps best practices by centralizing governance while distributing financial awareness.