Início Rápido: Criar um orçamento com um modelo do ARM

Orçamentos no Gerenciamento de Custos ajudam você a planejar e promover responsabilidade organizacional. Com orçamentos, você pode considerar os serviços do Azure que consome ou assina durante um período específico. Eles ajudam você a informar outras pessoas sobre seus gastos para gerenciar proativamente os custos e monitorar como os gastos evoluem ao longo do tempo. Quando os limites de orçamento que você criou são excedidos, são disparadas notificações. Nenhum de seus recursos é afetado e seu consumo não é interrompido. Você pode usar os orçamentos para comparar e controlar como analisar os custos de gastos. Este início rápido mostra como criar um orçamento usando um modelo do ARM (Azure Resource Manager).

Um modelo ARM é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do projeto. O modelo usa a sintaxe declarativa. Na sintaxe declarativa, você descreve a implantação pretendida sem gravar a sequência de comandos de programação para criar a implantação.

Se seu ambiente atender aos pré-requisitos e você estiver familiarizado com o uso de modelos ARM, selecione o botão Implantar no Azure. O modelo será aberto no portal do Azure.

Implantar no Azure

Pré-requisitos

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Se você tiver uma nova assinatura, não poderá criar um orçamento imediatamente nem usar outros recursos do Gerenciamento de Custos. Poderá levar até 48 horas para você poder usar todos os recursos do Gerenciamento de Custos.

Os orçamentos têm compatibilidade com os seguintes tipos de escopos e tipos de conta do Azure:

  • Escopos do RBAC do Azure (controle de acesso baseado em função do Azure)
    • Grupos de gerenciamento
    • Subscription
  • Escopos do Contrato Enterprise
    • Conta de cobrança
    • department
    • Conta de registro
  • Contratos individuais
    • Conta de cobrança
  • Escopos do Contrato de Cliente da Microsoft
    • Conta de cobrança
    • Perfil de faturamento
    • Seção da fatura
    • Cliente
  • Escopos da AWS
    • Conta externa
    • Assinatura externa

Para exibir os orçamentos, você precisará, pelo menos, de acesso de leitura em sua conta do Azure.

Para assinatura do Azure EA, você deve ter acesso de leitura para exibir orçamentos. Para criar e gerenciar orçamentos, você deve ter permissão de colaborador.

Há suporte para as permissões ou escopos a seguir do Azure por assinatura para orçamentos por usuário e grupo. Para obter mais informações sobre escopos, consulte Entender e trabalhar com escopos.

  • Proprietário – pode criar, modificar ou excluir os orçamentos para uma assinatura.
  • Colaborador e contribuidor do Gerenciamento de Custos - pode criar, modificar ou excluir seus próprios orçamentos. Pode modificar o valor do orçamento para orçamentos criados por outras pessoas.
  • Leitor e leitor do Gerenciamento de Custos – pode exibir os orçamentos para os quais ele têm permissão.

Para obter mais informações sobre como atribuir permissões aos dados de Gerenciamento de Custos, consulte Atribuir acesso aos dados de Gerenciamento de Custos.

Examinar o modelo

O modelo usado neste início rápido é proveniente dos Modelos de Início Rápido do Azure.

{
  "$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')]"
              }
            }
          ]
        }
      }
    }
  ]
}

Um recurso do Azure é definido no modelo:

Implantar o modelo

  1. Selecione a imagem a seguir para entrar no Azure e abrir um modelo. O modelo cria um orçamento.

    Implantar no Azure

  2. Selecione ou insira os seguintes valores.

    Modelo do Resource Manager, Criar orçamento, portal de implantação]

    • Assinatura: selecione uma assinatura do Azure.
    • Grupo de recursos: se exigido, selecione um grupo de recursos existente ou Criar.
    • Região: selecione uma região do Azure. Por exemplo, Centro dos EUA.
    • Nome do Orçamento: insira um nome para o orçamento. Ele deve ser exclusivo em um grupo de recursos. Somente caracteres alfanuméricos, sublinhados e hifens são permitidos.
    • Quantidade: insira a quantidade total do custo a ser acompanhada com o orçamento.
    • Intervalo de agregação: insira o tempo coberto por um orçamento. Os valores permitidos são mensais, trimestrais ou anuais. O orçamento é redefinido ao final do intervalo de agregação.
    • Data de Início: insira a data de início com o primeiro dia do mês no formato AAAA-MM-DD. Uma data de início futura não deve ser a mais de três meses do dia de hoje. Você pode especificar uma data de início anterior com o período de Intervalo de Agregação.
    • Data de Término: insira a data de término do orçamento no formato AAAA-MM-DD.
    • Primeiro Limite: insira um valor de limite para a primeira notificação. Uma notificação é enviada quando o custo excede o limite. É sempre percentual e deve estar entre 0 e 1000.
    • Segundo Limite: insira um valor de limite para a segunda notificação. Uma notificação é enviada quando o custo excede o limite. É sempre percentual e deve estar entre 0 e 1000.
    • Funções de Contato: insira a lista de funções de contato para as quais enviar a notificação de orçamento quando o limite for excedido. Os valores padrão são Proprietário, Colaborador e Leitor. O formato esperado é ["Owner","Contributor","Reader"].
    • Emails de Contato: insira uma lista de endereços de email para os quais enviar a notificação de orçamento quando o limite for excedido. O formato esperado é ["user1@domain.com","user2@domain.com"].
    • Grupos de Contato: insira uma lista de IDs de recurso do grupo de ações, como URIs de recurso completo, para os quais enviar a notificação de orçamento quando o limite for excedido. Ela aceita uma matriz de cadeias de caracteres. O formato esperado é ["action group resource ID1","action group resource ID2"]. Se não desejar usar grupos de ação, insira [].
    • Valores de Filtro do Grupo de Recursos: insira uma lista de nomes de grupos de recursos a serem filtrados. O formato esperado é ["Resource Group Name1","Resource Group Name2"]. Se não desejar aplicar um filtro, insira [].
    • Valores de Filtro de Categoria de Medidor: insira uma lista de categorias de medidor de serviço do Azure. O formato esperado é ["Meter Category1","Meter Category2"]. Se não desejar aplicar um filtro, insira [].
  3. Dependendo do tipo de assinatura do Azure, execute uma das seguintes ações:

    • Selecione Examinar + criar.
    • Examine os termos e condições e selecione Eu concordo com os termos e condições declarados acima e selecione Comprar.
  4. Se você selecionar Examinar + criar, o seu modelo será validado. Selecione Criar.

    Modelo do Resource Manager, orçamento, notificação de implantação do portal

O portal do Azure é usado para implantar o modelo. Além do portal do Azure, você também pode usar o Azure PowerShell, a CLI do Azure e a API REST. Para saber mais sobre outros métodos de implantação, confira Implantar modelos.

Validar a implantação

Você pode usar o portal do Azure para verificar se o orçamento foi criado navegando até Cobrança + Gerenciamento de Custos > selecione um escopo > Orçamentos. Ou use os scripts da CLI do Azure ou do Azure PowerShell a seguir para ver o orçamento.

az consumption budget list

Limpar os recursos

Quando você não precisar mais de um orçamento, exclua-o usando um dos seguintes métodos:

Portal do Azure

Navegue até Gerenciamento de Custos + Cobrança > selecione um escopo do orçamento > Orçamentos > selecione um orçamento >, em seguida, selecione Excluir orçamento.

Linha de comando

Você pode remover o orçamento usando a CLI do Azure ou o Azure PowerShell.

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

Próximas etapas

Neste início rápido, você criou um orçamento do Azure para a implantação. Para saber mais sobre o Gerenciamento de Custos e Cobrança e o Azure Resource Manager, continue lendo os artigos abaixo.