azurerm_storage_management_policy cost estimation
A lifecycle management policy is free, and it usually lowers your bill. It tiers and expires blobs automatically on the parent storage account, cutting capacity cost.
An azurerm_storage_management_policy defines lifecycle rules on a storage account that automatically move blobs to cheaper access tiers or delete them based on age and last-access time. The policy is free. Azure does not charge for defining or running lifecycle rules; there is one policy per account, and it costs nothing.
The reason this resource matters for cost is that it reduces the storage account's bill rather than adding to it. A rule that moves blobs to Cool after 30 days and Archive after 90, then deletes them after a retention period, keeps aging data out of the expensive Hot tier without manual intervention. The only cost consideration is that the tier-change and delete actions the policy performs are transactions on the account, billed per 10,000 operations, and moving a blob to Cool or Cold before its minimum retention period elapses can incur an early-deletion charge. These are small next to the capacity savings for any account with meaningful cold data.
The optimization is to write rules that match real access patterns: base transitions on last-access tracking where possible, set an archive step for data you must keep but rarely read, and add a delete action for data with a defined retention. c3x prices the storage account capacity the policy reduces and the transactions its actions generate, and treats the policy itself as free.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "azurerm_resource_group" "main" {
name = "storage-rg"
location = "eastus"
}
resource "azurerm_storage_account" "main" {
name = "appstore2026"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
account_tier = "Standard"
account_replication_type = "LRS"
}
resource "azurerm_storage_management_policy" "lifecycle" {
storage_account_id = azurerm_storage_account.main.id
rule {
name = "archive-and-expire"
enabled = true
filters {
blob_types = ["blockBlob"]
}
actions {
base_blob {
tier_to_cool_after_days_since_modification_greater_than = 30
tier_to_archive_after_days_since_modification_greater_than = 90
delete_after_days_since_modification_greater_than = 365
}
}
}
}Pricing dimensions
What you actually pay for when you provision azurerm_storage_management_policy.
| Dimension | Unit | What's being charged |
|---|---|---|
| Management policy | free | Defining and running lifecycle rules has no charge; the policy typically lowers the overall bill. $0 |
| Tier-change and delete actions | per 10,000 operations | Each transition or deletion the policy performs is a transaction billed on the parent account. |
| Early-deletion charges | per GB (situational) | Moving or deleting a blob before its tier's minimum retention period elapses can incur an early-deletion fee. |
Optimization tips
Common ways to reduce azurerm_storage_management_policy cost without changing the workload.
Archive cold data you must keep
Archive is a fraction of Hot per GBA rule that moves rarely read blobs to Archive drops their storage rate to a fraction of Hot. Ideal for compliance data and backups you keep but almost never read.
Add a delete action for data with a retention limit
Automatically deleting blobs past their required retention stops paying to store data you are allowed to remove, with no manual cleanup.
Respect minimum retention to avoid early-deletion fees
Cool, Cold, and Archive tiers have minimum retention periods. Setting transition and delete thresholds beyond those avoids early-deletion charges that erode the savings.
FAQ
Does a storage management policy cost money?
No. The policy and its lifecycle rules are free to define and run. It usually lowers your bill by tiering and expiring data, though the tier-change and delete actions count as billed transactions.
How does a lifecycle policy save money?
By moving aging blobs from Hot to Cool or Archive and deleting expired data automatically. That keeps rarely read data off the expensive Hot tier without manual work.
Can a lifecycle policy ever increase cost?
Slightly, in two ways: each transition and delete is a billed transaction, and moving or deleting a blob before its tier's minimum retention elapses can incur an early-deletion fee. Both are small next to the capacity savings.
Related resources
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including azurerm_storage_management_policy.