AzureAzure StorageStorage

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.

DimensionUnitWhat's being charged
Management policyfreeDefining and running lifecycle rules has no charge; the policy typically lowers the overall bill.
$0
Tier-change and delete actionsper 10,000 operationsEach transition or deletion the policy performs is a transaction billed on the parent account.
Early-deletion chargesper 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 GB

A 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.