Konfigurér detaljerad fakturering i Azure Backup genom att använda Azure-portalen, Azure PowerShell eller Azure CLI

Med detaljerad fakturering i Azure Backup kan du visa kostnader för säkerhetskopiering på en anpassad kornighetsnivå för bättre återbetalning och rapportering mellan team, program och kostnadsställen.

Viktigt!

  • Granulär fakturering stöder både Recovery Services vaults och backup-valv.
  • Den här funktionen är endast en rapporteringsändring på hanteringsplanet och ändrar inte prismätare eller totala kostnader för säkerhetskopiering.
  • Befintliga historiska fakturarader behåller det tidigare formatet, medan endast nya avgifter använder den valda granulariteten.
  • Vault-nivå är standard för befintliga och nya Vaults, vilket upprätthåller bakåtkompatibilitet.

Tillgängliga faktureringskornighetsnivåer

Azure Backup innehåller flera kornighetsnivåer som hjälper dig att visa och analysera kostnader för säkerhetskopiering baserat på dina rapporterings- och återbetalningskrav.

Du kan välja någon av följande kornighetsnivåer enligt kraven:

  • Valvnivå (standard): Visar backupkostnader som visas under det tillhörande Recovery Services-valvet eller backupvalvet. Kostnader för resurser som mappas till en angiven mätare visas som ett radobjekt per valv.

  • Nivå för skyddat objekt: Visar kostnader för säkerhetskopiering för varje skyddat objekt.

  • Taggnivå: Sammanställ kostnader för säkerhetskopiering efter tagg för att visa och analysera kostnaderna på resursnivå.

    • Standardtagg (rekommenderad): När du väljer Tag-nivå skickar Azure Backup automatiskt den inbyggda taggen ms-resource-parent till Azure Cost Management. Reservavgifter för varje skyddad post visas under den tillhörande resursen i Azure Cost Management, så du får en sammanslagen bild av resurs- och backupkostnader utan extra konfiguration.

    • Anpassad tagg: För att tilldela backupkostnader till en annan resurs, lägg till taggen cm-resource-parent och sätt dess värde till Azure Resource Manager (ARM) resurs-ID för den målresurs där du vill att backupkostnaderna ska visas. Azure Backup samlar sedan ihop backupavgifterna under den resursen i Azure Cost Management, så att du kan stödja anpassade chargeback- och kostnadsrapporteringsscenarier.

Konfigurera detaljerad fakturering genom att använda Azure-portalen

Stegen är desamma för båda valvtyperna, förutom navigeringen till fönstret Properties. Välj den lagringsplatstyp du vill konfigurera:

  1. I Azure-portalen går du till Recovery Services-valvet och väljer sedan Settings>Properties.

    Skärmbild som visar hur du konfigurerar detaljerade faktureringsegenskaper i Recovery Services-valvet.

  2. I fönstret Egenskaper går du till Kostnadshanteringskornighet och väljer Uppdatera .

  3. På panelen Cost Management Granularity , välj ett granularitetsalternativ.

  4. Spara inställningen genom att välja Uppdatera .

Följande tabell listar granularitetsnivåerna och värdet som du skickar till parametern -CostManagementGranularity .

Granularitetsnivå (portal) Value Behavior
Vault-nivå (standard) VaultLevel Alla säkerhetskopior i valvet slås ihop till en rad per valv.
Skyddad objektnivå ProtectedItemLevel Visar kostnader för säkerhetskopiering för varje skyddat föremål.
Tag-nivå ProtectedItemWithParentTag Samlar backupkostnader efter en överordnad tagg, så att du kan se utgifter på resursnivå.

Prerequisites

Innan du konfigurerar granulär fakturering med Azure PowerShell, se till att du uppfyller följande förutsättningar:

Konfigurera Azure PowerShell för detaljerad faktureringskonfiguration

Använd Azure Az PowerShell-modulen för att interagera med Azure. Innan du sätter upp Azure PowerShell för granulär faktureringskonfiguration, installera Azure PowerShell. För att migrera till Az PowerShell-modulen, se Migrate Azure PowerShell from AzureRM to Az.

För att konfigurera Azure PowerShell, kör följande cmdlets:

  1. Installera eller uppdatera de nödvändiga modulerna.

    Anmärkning

    Parametern -CostManagementGranularity kräver Az.RecoveryServices 7.14.1 eller senare för Recovery Services-valv, och Az.DataProtection 3.1.0 eller senare för backup-valv.

    Install-Module -Name Az.RecoveryServices -MinimumVersion 7.14.1 -Force
    Install-Module -Name Az.DataProtection -MinimumVersion 3.1.0 -Force
    
  2. Bekräfta de installerade modulversionerna:

    Get-Module -Name Az.RecoveryServices, Az.DataProtection -ListAvailable |
        Select-Object Name, Version
    

    Exempel på utdata:

    Name                Version
    ----                -------
    Az.DataProtection   3.1.0
    Az.RecoveryServices 7.14.1
    
  3. Bekräfta att den nya parametern finns tillgänglig i dina installerade moduler:

    'New-AzRecoveryServicesVault',
    'Update-AzRecoveryServicesVault',
    'New-AzDataProtectionBackupVault',
    'Update-AzDataProtectionBackupVault' | ForEach-Object {
        $cmd = Get-Command $_ -ErrorAction SilentlyContinue
        [pscustomobject]@{
            Cmdlet       = $_
            Installed    = $null -ne $cmd
            HasParameter = ($null -ne $cmd) -and $cmd.Parameters.ContainsKey('CostManagementGranularity')
        }
    } | Format-Table -AutoSize
    

    Exempel på utdata:

    Cmdlet                             Installed HasParameter
    ------                             --------- ------------
    New-AzRecoveryServicesVault             True         True
    Update-AzRecoveryServicesVault          True         True
    New-AzDataProtectionBackupVault         True         True
    Update-AzDataProtectionBackupVault      True         True
    
  4. Logga in på ditt Azure-konto genom att använda Connect-AzAccount. På webbsidan som visas uppmanas du att ange dina autentiseringsuppgifter för kontot.

  5. Associera den prenumeration som du vill använda med kontot eftersom ett konto kan ha flera prenumerationer:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    

Följande tabell listar de cmdlets som denna artikel använder för varje valvtyp.

Task Recovery Services-valv säkerhetskopieringsvalv
Ange granularitet vid skapandet New-AzRecoveryServicesVault med -CostManagementGranularity New-AzDataProtectionBackupVault med -CostManagementGranularity
Ändra kornighet Update-AzRecoveryServicesVault med -CostManagementGranularity Update-AzDataProtectionBackupVault med -CostManagementGranularity
Läsdetaljnivå Get-AzRecoveryServicesVault - läs Properties.CostManagementSettings.GranularityLevel Get-AzDataProtectionBackupVault -
Detaljnivå för inställning av kostnadshantering
Använd en anpassad överordnad tagg Update-AzTag Update-AzTag

Konfigurera detaljerad fakturering med Azure PowerShell

Välj den valvstyp du vill konfigurera:

Ställ in granulariteten när du skapar ett vault

Parametern -CostManagementGranularity är valfri på New-AzRecoveryServicesVault. Om du inte specificerar detta alternativ när du skapar valvet är VaultLevelstandardvärdet .

För att skapa ett valv med en granularitetsnivå, kör följande cmdlet. Ersätt ProtectedItemLevel med ett valfritt värde från granularitetstabellen.

$vault = New-AzRecoveryServicesVault `
    -Name "afs-vault" `
    -ResourceGroupName "backup-rg" `
    -Location "westus" `
    -CostManagementGranularity ProtectedItemLevel

$vault.Properties.CostManagementSettings.GranularityLevel

Exempel på utdata:

ProtectedItemLevel

Ändra granulariteten på ett befintligt dataskydd

Använd Update-AzRecoveryServicesVault för dag 2-ändringar. Denna cmdlet speglar portalflödet Recovery Services vault>Properties>Cost Management Granularity>Update.

Byt ett valv till nivån skyddat objekt

För att byta ett återställningstjänstvalv till nivån för skyddade objekt, kör följande cmdlet:

$updatedVault = Update-AzRecoveryServicesVault `
    -ResourceGroupName "backup-rg" `
    -Name "afs-vault" `
    -CostManagementGranularity ProtectedItemLevel

$updatedVault.Properties.CostManagementSettings.GranularityLevel

Exempel på utdata:

ProtectedItemLevel

Visa den aktuella granularitetsinställningen

Get-AzRecoveryServicesVault kräver ingen ny parameter. Inställningen visas på det returnerade vault-objektet under Properties.CostManagementSettings.GranularityLevel, enligt samma mönster som CrossSubscriptionRestoreState.

För att se den aktuella granularitetsinställningen, kör följande cmdlet:

$vault = Get-AzRecoveryServicesVault `
    -ResourceGroupName "backup-rg" `
    -Name "afs-vault"

$vault.Properties.CostManagementSettings.GranularityLevel

Exempel på utdata:

ProtectedItemLevel

För att granska granularitetsinställningen i varje Recovery Services-valv i prenumerationen, kör följande cmdlet:

Get-AzRecoveryServicesVault | ForEach-Object {
    [pscustomobject]@{
        Name              = $_.Name
        ResourceGroupName = $_.ResourceGroupName
        Location          = $_.Location
        Granularity       = $_.Properties.CostManagementSettings.GranularityLevel
    }
} | Format-Table -AutoSize

Exempel på utdata:

Name       ResourceGroupName Location Granularity
----       ----------------- -------- -----------
afs-vault  backup-rg         westus   ProtectedItemLevel
fin-vault  finance-rg        eastus   VaultLevel
hr-vault   hr-rg             westus2  ProtectedItemWithParentTag

Konfigurera granularitet på taggnivå

Granularitet på taggnivå omfattar följande oberoende ansvarsområden:

  • Använda taggen på valvet: Återanvänd de vanliga Az.Resources-cmdlets. Processen kräver ingen ny backup-cmdlet för taggning.
  • Aktivera taggnivå-kostnadsgruppering: Ställ in parametern -CostManagementGranularity till ProtectedItemWithParentTag på vault.

Scenario 1: Använd standardföräldrataggen

Backup-tjänsten applicerar taggen ms-resource-parent automatiskt, så du behöver bara aktivera taggnivå-granularitet i valv. Ingen manuell taggning behövs.

För att använda standardföräldrataggen, följ följande steg:

  1. Aktivera taggnivå-kostnadsgruppering för valvet.

    Update-AzRecoveryServicesVault `
        -ResourceGroupName "backup-rg" `
        -Name "afs-vault" `
        -CostManagementGranularity ProtectedItemWithParentTag
    
  2. Kontrollera den konfigurerade inställningen.

    $vault = Get-AzRecoveryServicesVault -ResourceGroupName "backup-rg" -Name "afs-vault"
    $vault.Properties.CostManagementSettings.GranularityLevel
    

    Exempel på utdata:

    ProtectedItemWithParentTag
    

Anmärkning

Standardtaggen ms-resource-parent gäller inte som en synlig tagg på vaulten eller den skyddade resursen. Azure Backup skickar taggen till Azure Cost Management som en del av faktureringsdetaljerna, så du kommer inte att se den i valvets Tagg-panel.

Scenario 2: Använd en anpassad föräldratagg

För att gruppera kostnad efter en anpassad förälder, applicera först taggen cm-resource-parent på valvet, med dess värde satt till föräldraresursens ARM-resurs-ID. Aktivera sedan taggnivågranularitet i valvet.

Viktigt!

Använd Update-AzTag -Operation Merge för att bevara befintliga taggar på valvet. New-AzTag ersätter alla taggar på resursen, så använd den inte här.

För att använda en anpassad tagg, följ dessa steg:

  1. Applicera den anpassade överordnade taggen på Recovery Services-valvet. Taggnyckeln är cm-resource-parent, och taggvärdet är föräldraresursens ARM-resurs-ID.

    $vault  = Get-AzRecoveryServicesVault -ResourceGroupName "backup-rg" -Name "afs-vault"
    $parent = Get-AzResource -Name "financeparent" -ResourceGroupName "storage-rg"
    
    Update-AzTag -ResourceId $vault.ID `
        -Tag @{ "cm-resource-parent" = $parent.Id } `
        -Operation Merge
    

    Exempel på utdata:

    Id         : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/backup-rg/providers/Microsoft.RecoveryServices/vaults/afs-vault/providers/Microsoft.Resources/tags/default
    Name       : default
    Type       : Microsoft.Resources/tags
    Properties :
                 Name                Value
                 ==================  ==========================================================
                 cm-resource-parent  /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resour
                                     ceGroups/storage-rg/providers/Microsoft.Storage/storageAcc
                                     ounts/financeparent
    
  2. Aktivera kostnadsgruppering på taggnivå på valvet.

    Update-AzRecoveryServicesVault `
        -ResourceGroupName "backup-rg" `
        -Name "afs-vault" `
        -CostManagementGranularity ProtectedItemWithParentTag
    
  3. Kontrollera den konfigurerade inställningen.

    $vault = Get-AzRecoveryServicesVault -ResourceGroupName "backup-rg" -Name "afs-vault"
    $vault.Properties.CostManagementSettings.GranularityLevel
    

    Exempel på utdata:

    ProtectedItemWithParentTag
    

Följande tabell listar granularitetsnivåerna och värdet du skickar till alternativet --cost-management-granularity .

Granularitetsnivå (portal) Value Behavior
Vault-nivå (standard) VaultLevel Alla säkerhetskopior i valvet slås samman till en rad per valv.
Skyddad objektnivå ProtectedItemLevel Visar kostnader för säkerhetskopiering för varje skyddat objekt.
Tag-nivå ProtectedItemWithParentTag Samlar backupkostnader efter en överordnad tagg, så att du kan se utgifter på resursnivå.

Prerequisites

Innan du konfigurerar granulär fakturering med Azure CLI, se till att du uppfyller följande förutsättningar:

Konfigurera Azure CLI för detaljerad faktureringskonfiguration

Innan du sätter upp Azure CLI för detaljerad faktureringskonfiguration, installerar du Azure CLI. Du kan också köra dessa kommandon i Azure Cloud Shell, som alltid inkluderar en aktuell CLI-version.

För att ställa in Azure CLI, kör följande kommandon:

  1. Kontrollera den installerade Azure CLI-versionen:

    az version
    

    Exempel på utdata:

    {
      "azure-cli": "2.65.0",
      "azure-cli-core": "2.65.0",
      "azure-cli-telemetry": "1.1.0",
      "extensions": {}
    }
    
  2. Lägg till dataskyddstillägget. Kommandogruppen az dataprotection är ett tillägg, inte en del av CLI-kärnan, så du måste installera den innan du kan hantera Backup-valv. Hoppa över detta steg om du bara använder Recovery Services-valv.

    az extension add --name dataprotection --upgrade
    
  3. Bekräfta att tillägget är installerat:

    az extension list --query "[].{Name:name, Version:version}" -o table
    

    Exempel på utdata:

    Name             Version
    ---------------  ---------
    dataprotection   1.5.1
    
  4. Bekräfta att granularitetsalternativet finns tillgängligt i din installerade Azure CLI-version. Alternativet visas i hjälputdata för kommandot:

    az backup vault update --help
    

    Exempel på utdata:

    --cost-management-granularity
        Use this parameter to configure cost management settings for the vault.
        By default, the property is "VaultLevel" for the vault.
        Allowed values: ProtectedItemLevel, ProtectedItemWithParentTag, VaultLevel.
    
  5. Logga in på ditt Azure-konto:

    az login
    
  6. Ställ in det abonnemang du vill använda, eftersom ett konto kan ha flera abonnemang:

    az account set --subscription "<subscription-name-or-id>"
    

Följande tabell listar de kommandon som denna artikel använder för varje arkivtyp.

Task Recovery Services-valv säkerhetskopieringsvalv
Ange granularitet när den skapas az backup vault create med --cost-management-granularity az dataprotection backup-vault create med --cost-management-granularity
Ändra kornighet az backup vault update med --cost-management-granularity az dataprotection backup-vault update med --cost-management-granularity
Läsdetaljnivå az backup vault show az dataprotection backup-vault show
Lista valv och granularitet az backup vault list az dataprotection backup-vault list
Använd en anpassad överordnad tagg az tag update az tag update

Konfigurera detaljerad fakturering med Azure CLI

Välj den vault-typ du vill konfigurera:

Skapa en valvcontainer med en granularitetsnivå

För att skapa ett kassaskåp med en granularitetsnivå, kör följande kommando:

az backup vault create \
    --name "afs-vault" \
    --resource-group "backup-rg" \
    --location "westus" \
    --cost-management-granularity ProtectedItemLevel \
    --query "{name:name, granularity:properties.costManagementSettings.granularityLevel}"

Exempel på utdata:

{
  "granularity": "ProtectedItemLevel",
  "name": "afs-vault"
}

Ändra granulariteten på ett befintligt arkiv

För att ändra granulariteten på ett befintligt vault, kör följande kommando:

az backup vault update \
    --name "afs-vault" \
    --resource-group "backup-rg" \
    --cost-management-granularity ProtectedItemWithParentTag \
    --query "properties.costManagementSettings.granularityLevel" -o tsv

Exempel på utdata:

ProtectedItemWithParentTag

Visa den aktuella granularitetsinställningen

Kommandot az backup vault show accepterar inte ett nytt alternativ. För att se granularitetsnivån, läs properties.costManagementSettings.granularityLevel från JSON-utdatan.

För att hämta kostnadshanteringsgranularitetsnivån som är konfigurerad för valvet, kör följande kommando:

az backup vault show \
    --name "afs-vault" \
    --resource-group "backup-rg" \
    --query "properties.costManagementSettings.granularityLevel" -o tsv

Exempel på utdata:

VaultLevel

För att granska varje Recovery Services-valv i prenumerationen, kör följande kommando:

az backup vault list \
    --query "[].{Name:name, ResourceGroup:resourceGroup, Granularity:properties.costManagementSettings.granularityLevel}" \
    -o table

Exempel på utdata:

Name       ResourceGroup    Granularity
---------  ---------------  --------------------------
afs-vault  backup-rg        VaultLevel
fin-vault  finance-rg       ProtectedItemLevel
hr-vault   hr-rg            ProtectedItemWithParentTag

Konfigurera granularitet på taggnivå

Granularitet på taggnivå omfattar följande oberoende ansvarsområden:

  • Applicera taggen på valv: Använd standardkommandogruppen az tag. Inget backup-specifikt kommando krävs för taggning.
  • Aktivera taggnivå-kostnadsgruppering: Sätt parametern --cost-management-granularity till ProtectedItemWithParentTag på valv.

Scenario 1: Använd föräldrataggen som är förvald

Backup-tjänsten applicerar automatiskt taggen ms-resource-parent . Du behöver bara aktivera taggnivågranularitet i valvet, och ingen manuell taggning behövs.

För att använda standardföräldrataggen, följ följande steg:

  1. Aktivera taggnivå-kostnadsgruppering i valv.

    az backup vault update \
        --name "afs-vault" \
        --resource-group "backup-rg" \
        --cost-management-granularity ProtectedItemWithParentTag
    
  2. Kontrollera den konfigurerade inställningen.

    az backup vault show \
        --name "afs-vault" \
        --resource-group "backup-rg" \
        --query "properties.costManagementSettings.granularityLevel" -o tsv
    

    Exempel på utdata:

    ProtectedItemWithParentTag
    

Anmärkning

Standardtaggen ms-resource-parent gäller inte som en synlig tagg på valvet eller den skyddade resursen. Azure Backup skickar taggen till Azure Cost Management som en del av faktureringsdetaljerna, så den syns inte i az backup vault show --query tags.

Scenario 2: Använd en anpassad överordnad tagg

För att gruppera kostnad efter en anpassad förälder, applicera först cm-resource-parent-taggen på valvet, med dess värde satt till den överordnade resursens ARM-resurs-ID. Aktivera sedan taggnivågranularitet i vault.

Viktigt!

Använd az tag update --operation Merge för att bevara befintliga taggar på vaulten. Replace-operationen skriver över alla taggar på resursen.

För att använda en anpassad tagg, följ dessa steg:

  1. Använd den anpassade överordnade taggen på valvet. Taggnyckeln är cm-resource-parent, och taggvärdet är föräldraresursens ARM-resurs-ID.

    vaultId=$(az backup vault show \
        --name "afs-vault" \
        --resource-group "backup-rg" \
        --query id -o tsv)
    
    parentId=$(az storage account show \
        --name "financeparent" \
        --resource-group "storage-rg" \
        --query id -o tsv)
    
    az tag update \
        --resource-id "$vaultId" \
        --operation Merge \
        --tags "cm-resource-parent=$parentId" \
        --query "properties.tags" -o json
    

    Exempel på utdata:

    {
      "cm-resource-parent": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/storage-rg/providers/Microsoft.Storage/storageAccounts/financeparent"
    }
    
  2. Aktivera taggnivå-kostnadsgruppering på valvet.

    az backup vault update \
        --name "afs-vault" \
        --resource-group "backup-rg" \
        --cost-management-granularity ProtectedItemWithParentTag
    
  3. Verifiera den konfigurerade inställningen.

    az backup vault show \
        --name "afs-vault" \
        --resource-group "backup-rg" \
        --query "properties.costManagementSettings.granularityLevel" -o tsv
    

    Exempel på utdata:

    ProtectedItemWithParentTag
    

Verifiera avgifter för säkerhetskopiering i Kostnadsanalys

När du har konfigurerat detaljerad fakturering för Azure Backup kontrollerar du att de uppdaterade säkerhetskopieringsavgifterna återspeglas korrekt i Cost Management med hjälp av den valda kornigheten.

Anmärkning

  • Nya avgifter visas i det valda formatet när du har uppdaterat Cost Management-kornigheten.
  • Äldre avgifter behåller det tidigare formatet.
  • Aktivitetsloggar registrerar ändringen av kostnadsinställningen.
  • De uppdaterade ändringarna kan ta upp till 2 timmar att visas i Kostnadsanalys.

Följ dessa steg för att verifiera säkerhetskopieringsavgifter i Kostnadsanalys:

  1. Gå till Cost Management + Billing i Azure Portal och välj Cost Management>Cost analysis. Ställ in omfattningen på målprenumerationen.

  2. I fönstret Kostnadsanalys anger du Visa som resurser och kontrollerar om de nya säkerhetskopieringsavgifterna visas i det valda kornighetsformatet.

    Priserna som visas i följande skärmbild är endast i exempelsyfte.

    Skärmbild som visar avgifter för säkerhetskopiering i det valda kornighetsformatet i Kostnadsanalys.

Felsöka detaljerade faktureringsproblem

Det här avsnittet innehåller felsökningssteg för att lösa problem som rör detaljerad fakturering i Azure Backup.

De förväntade avgifterna visas inte i Kostnadsanalys.

Så här löser du problemet:

  1. Bekräfta att valvtypen är Recovery Services-valv eller Backup-valv.

  2. Kontrollera att du har sparat kornighetsinställningen.

  3. Kontrollera aktivitetsloggen för att se att uppdateringsåtgärden har slutförts framgångsrikt.

  4. Vänta upp till 2 timmar och uppdatera Kostnadsanalys för att visa ändringarna.

  5. Se till att du väljer rätt prenumerations- och tidsintervallomfång i Kostnadsanalys.

Uppskatta och förstå Azure Backup prissättning.