Quickstart: Een budget opstellen met een ARM-sjabloon

Met budgetten in Cost Management kunt u de verantwoordelijkheid in de organisatie beter plannen en stimuleren. Met budgetten kunt u de Azure-services die u gebruikt of waarop u zich abonneert voor een specifieke periode bijhouden. Ze helpen u anderen te informeren over hun uitgaven om kosten proactief te beheren en uitgaven in de loop van de tijd bij te houden. Wanneer de budgetdrempels die u hebt gemaakt, worden overschreden, worden er meldingen geactiveerd. Dit heeft geen gevolgen voor uw resources en uw gebruik wordt niet gestopt. U kunt budgetten gebruiken om bestedingen te vergelijken en bij te houden bij het analyseren van kosten. Deze quickstart laat zien hoe u een budget kunt maken met een Azure Resource Manager-sjabloon (ARM-sjabloon).

Een Resource Manager-sjabloon is een JavaScript Object Notation-bestand (JSON) dat de infrastructuur en configuratie van uw project definieert. Voor de sjabloon is declaratieve syntaxis vereist. In declaratieve syntaxis beschrijft u de beoogde implementatie zonder dat u de reeks programmeeropdrachten voor het maken van de implementatie hoeft te schrijven.

Als uw omgeving voldoet aan de vereisten en u benkend bent met het gebruik van ARM-sjablonen, selecteert u de knop Implementeren naar Azure. De sjabloon wordt in Azure Portal geopend.

Implementeren in Azure

Vereisten

Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.

Als u een nieuw abonnement hebt, kunt u niet direct een budget maken of andere Cost Management-functies gebruiken. Het kan tot 48 uur duren voordat u alle Cost Management-functies kunt gebruiken.

Budgetten worden ondersteund voor de volgende Azure-accounttypen en -bereiken:

  • Azure RBAC-bereiken (op rollen gebaseerd toegangsbeheer)
    • Beheergroepen
    • Abonnement
  • Enterprise Agreement-bereiken
    • Factureringsaccount
    • Afdeling
    • Inschrijvingsaccount
  • Afzonderlijke overeenkomsten
    • Factureringsaccount
  • Microsoft-klantovereenkomst-bereiken
    • Factureringsaccount
    • Factureringsprofiel
    • Factuursectie
    • Klant
  • AWS-bereiken
    • Extern account
    • Extern abonnement

Als u budgetten wilt weergeven, hebt u minimaal leestoegang voor uw Azure-account nodig.

Voor Azure EA-abonnementen moet u leestoegang hebben om budgetten weer te geven. Als u budgetten wilt maken en beheren, moet u de machtiging Inzender hebben.

In abonnementen worden de volgende Azure-machtigingen, of bereiken, ondersteund voor budgetten voor gebruikers en groepen. Zie Understand and work with scopes (Engelstalig) voor meer informatie over bereiken.

  • Eigenaar: eigenaren kunnen budgetten voor een abonnement instellen, wijzigen en verwijderen.
  • Inzender en Inzender Cost Management: inzenders kunnen hun eigen budgetten instellen, wijzigen en verwijderen. Inzenders kunnen ook de budgetbedragen aanpassen voor budgetten die zijn gemaakt door anderen.
  • Lezer en Lezer Cost Management: lezers kunnen budgetten inzien waarvoor ze zijn gemachtigd.

Zie Toegang tot gegevens van Cost Management toewijzen voor meer informatie over het toewijzen van toegang tot de gegevens van Cost Management.

De sjabloon controleren

De sjabloon die in deze quickstart wordt gebruikt, komt uit Azure-quickstartsjablonen.

{
  "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "budgetName": {
      "type": "string",
      "defaultValue": "MyBudget",
      "metadata": {
        "description": "Name of the Budget. It should be unique within a resource group."
      }
    },
    "amount": {
      "type": "string",
      "defaultValue": "1000",
      "metadata": {
        "description": "The total amount of cost or usage to track with the budget"
      }
    },
    "timeGrain": {
      "type": "string",
      "defaultValue": "Monthly",
      "allowedValues": [
        "Monthly",
        "Quarterly",
        "Annually"
      ],
      "metadata": {
        "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain."
      }
    },
    "startDate": {
      "type": "string",
      "metadata": {
        "description": "The start date must be first of the month in YYYY-MM-DD format. Future start date should not be more than three months. Past start date should be selected within the timegrain preiod."
      }
    },
    "endDate": {
      "type": "string",
      "metadata": {
        "description": "The end date for the budget in YYYY-MM-DD format. If not provided, we default this to 10 years from the start date."
      }
    },
    "firstThreshold": {
      "type": "string",
      "defaultValue": "90",
      "metadata": {
        "description": "Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000."
      }
    },
    "secondThreshold": {
      "type": "string",
      "defaultValue": "110",
      "metadata": {
        "description": "Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000."
      }
    },
    "contactRoles": {
      "type": "array",
      "defaultValue": [
        "Owner",
        "Contributor",
        "Reader"
      ],
      "metadata": {
        "description": "The list of contact roles to send the budget notification to when the threshold is exceeded."
      }
    },
    "contactEmails": {
      "type": "array",
      "metadata": {
        "description": "The list of email addresses to send the budget notification to when the threshold is exceeded."
      }
    },
    "contactGroups": {
      "type": "array",
      "metadata": {
        "description": "The list of action groups to send the budget notification to when the threshold is exceeded. It accepts array of strings."
      }
    },
    "resourceGroupFilterValues": {
      "type": "array",
      "metadata": {
        "description": "The set of values for the first filter"
      }
    },
    "meterCategoryFilterValues": {
      "type": "array",
      "metadata": {
        "description": "The set of values for the second filter"
      }
    }
  },
  "variables": {},
  "resources": [
    {
      "type": "Microsoft.Consumption/budgets",
      "apiVersion": "2019-10-01",
      "name": "[parameters('budgetName')]",
      "properties": {
        "timePeriod": {
          "startDate": "[parameters('startDate')]",
          "endDate": "[parameters('endDate')]"
        },
        "timeGrain": "[parameters('timeGrain')]",
        "amount": "[parameters('amount')]",
        "category": "Cost",
        "notifications": {
          "NotificationForExceededBudget1": {
            "enabled": true,
            "operator": "GreaterThan",
            "threshold": "[parameters('firstThreshold')]",
            "contactEmails": "[parameters('contactEmails')]",
            "contactRoles": "[parameters('contactRoles')]",
            "contactGroups": "[parameters('contactGroups')]"
          },
          "NotificationForExceededBudget2": {
            "enabled": true,
            "operator": "GreaterThan",
            "threshold": "[parameters('secondThreshold')]",
            "contactEmails": "[parameters('contactEmails')]",
            "contactRoles": "[parameters('contactRoles')]",
            "contactGroups": "[parameters('contactGroups')]"
          }
        },
        "filter": {
          "and": [
            {
              "dimensions": {
                "name": "ResourceGroupName",
                "operator": "In",
                "values": "[parameters('resourceGroupFilterValues')]"
              }
            },
            {
              "dimensions": {
                "name": "MeterCategory",
                "operator": "In",
                "values": "[parameters('meterCategoryFilterValues')]"
              }
            }
          ]
        }
      }
    }
  ]
}

Er is één Azure-resource gedefinieerd in de sjabloon:

De sjabloon implementeren

  1. Selecteer de volgende afbeelding om u aan te melden bij Azure en een sjabloon te openen. Met de sjabloon wordt een budget gemaakt.

    Implementeren in Azure

  2. Typ of selecteer de volgende waarden.

    Resource Manager-sjabloon, budget maken, portal implementeren]

    • Abonnement: selecteer een Azure-abonnement.
    • Resourcegroep: selecteer indien mogelijk een bestaande resourcegroep of maak een nieuwe resourcegroep.
    • Regio: selecteer een Azure-regio. Bijvoorbeeld VS - centraal.
    • Budgetnaam: voer een naam in voor het budget. Deze moet uniek zijn binnen de resourcegroep. Alleen alfanumerieke tekens, onderstrepingstekens en streepjes zijn toegestaan.
    • Hoeveelheid: voer de totale kosten in die met behulp van het budget moet worden bijgehouden.
    • Tijdsinterval: voer de periode in die het budget dekt. Toegestane waarden zijn maandelijks, per kwartaal of per jaar. Het budget wordt aan het einde van de tijdsinterval opnieuw ingesteld.
    • Begindatum: voer de begindatum in, uitgaande van de eerste dag van de maand, in de notatie JJJJ-MM-DD. Een toekomstige begindatum mag niet meer dan drie maanden in de toekomstig liggen vanaf vandaag. U kunt een eerdere begindatum opgeven met de periode van de tijdsinterval.
    • Einddatum: Geef de einddatum voor het budget op in de notatie JJJJ-MM-DD.
    • Eerste drempelwaarde: voer een drempelwaarde in voor de eerste melding. Er wordt een melding verzonden wanneer de kosten de drempelwaarde overschrijden. Dit is altijd een percentage van 0 tot en met 1000.
    • Tweede drempelwaarde: voer een drempelwaarde in voor de tweede melding. Er wordt een melding verzonden wanneer de kosten de drempelwaarde overschrijden. Dit is altijd een percentage van 0 tot en met 1000.
    • Contactrollen: voer een lijst met contactrollen in waarnaar de budgetmelding moet worden verzonden wanneer de drempelwaarde wordt overschreden. Standaardwaarden zijn Eigenaar, Inzender en Lezer. De verwachte indeling is ["Owner","Contributor","Reader"].
    • Contact-e-mails voer een lijst met e-mailadressen in waarnaar de budgetmelding moet worden verzonden wanneer een drempelwaarde wordt overschreden. De verwachte indeling is ["user1@domain.com","user2@domain.com"].
    • Contactgroepen: voer een lijst met resource-id's van actiegroepen in als volledige resource-URI's waarnaar de budgetmelding moet worden verzonden wanneer de drempelwaarde wordt overschreden. Dit veld accepteert een matrix van tekenreeksen. De verwachte indeling is ["action group resource ID1","action group resource ID2"]. Als u geen actiegroepen wilt gebruiken, voert u [] in.
    • Filterwaarden van resourcegroep: voer een lijst met namen van resourcegroepen in om te filteren. De verwachte indeling is ["Resource Group Name1","Resource Group Name2"]. Als u geen filter wilt toepassen, voert u [] in.
    • De waarden van de metercategoriefilter: voer een lijst met Azure-servicemetercategorieën in. De verwachte indeling is ["Meter Category1","Meter Category2"]. Als u geen filter wilt toepassen, voert u [] in.
  3. Voer een van de volgende acties uit, afhankelijk van het type Azure-abonnement:

    • Selecteer Controleren + maken.
    • Controleer de voorwaarden en schakel het selectievakje Ik ga akkoord met de bovenstaande voorwaarden in en selecteer Aankoop.
  4. Als u Beoordelen en maken hebt geselecteerd, wordt uw sjabloon gevalideerd. Selecteer Maken.

    Resource Manager-sjabloon, budget, portalmelding implementeren

Voor het implementeren van de sjabloon wordt de Azure-portal gebruikt. Naast de Azure-portal kunt u ook Azure PowerShell, Azure CLI en REST API gebruiken. Zie Sjablonen implementeren voor meer informatie over andere implementatiesjablonen.

De implementatie valideren

U kunt de Azure-portal gebruiken om te controleren of het budget is gemaakt door te navigeren naar Cost Management + facturering > een bereik selecteren > Budgetten. U kunt ook de volgende Azure CLI- of Azure PowerShell-scripts gebruiken om het budget weer te geven.

az consumption budget list

Resources opschonen

Wanneer u een budget niet meer nodig hebt, verwijdert u het met behulp van een van de volgende methoden:

Azure Portal

Ga naar Kostenbeheer en facturering > selecteer een factureringsbereik > Budgetten > selecteer een budget > selecteer vervolgens Budget verwijderen.

Opdrachtregel

U kunt het budget verwijderen met behulp van Azure CLI of Azure PowerShell.

echo "Enter the budget name:" &&
read budgetName &&
az consumption budget delete --budget-name $budgetName &&
echo "Press [ENTER] to continue ..."

Volgende stappen

In deze quickstart hebt u een Azure-budget gemaakt voor de implementatie. Voor meer informatie over Cost Management and Billing en Azure Resource Manager gaat u verder met de onderstaande artikelen.