Бюджеты в службе "Управление затратами" помогают планировать и отслеживать отчетность на уровне организации. С бюджетами вы можете учитывать службы Azure, которые используете или на которые подписываетесь в течение определенного периода. Они помогают сообщать другим пользователям о своих расходах, чтобы эффективно управлять затратами и контролировать то, как они возрастают с течением времени. Когда созданные вами пороговые значения бюджета превышены, активируются уведомления. Ни один из ваших ресурсов не затронут а потребление не остановлено. Анализируя затраты, можно использовать бюджеты для их сравнения и отслеживания. В этом кратком руководстве описано, как создать бюджет с помощью трех разных шаблонов Azure Resource Manager (шаблонов ARM).
Если ваша среда соответствует всем предварительным требованиям и вы уже умеете использовать шаблоны ARM, нажмите кнопку Развертывание в Azure для одного из следующих шаблонов. Шаблон откроется на портале Azure.
Если вы используете новую подписку, вы не сможете сразу создать бюджет или использовать другие функции службы "Управление затратами". Полная активация всех функций Управления затратами может потребовать до 48 часов.
Чтобы просмотреть данные о бюджете, вам нужен как минимум доступ на чтение для учетной записи Azure.
Для подписок Azure EA вам необходимо иметь доступ на чтение для просмотра данных о бюджете. Для создания и администрирования бюджетов необходимо разрешение участника.
Для подписок, бюджеты которых распределяются по пользователям и группам, поддерживаются следующие разрешения или объемы Azure. Для получения дополнительной информации об областях, см. Понимание и работа с областями.
Дополнительные сведения о назначении разрешений на доступ к данным службы "Управление затратами" см. в этой статье.
Выберите один из следующих шаблонов в зависимости от потребностей.
Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "10216192224502761212"
}
},
"parameters": {
"budgetName": {
"type": "string",
"defaultValue": "MyBudget",
"metadata": {
"description": "Name of the Budget. It should be unique within a resource group."
}
},
"amount": {
"type": "int",
"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": "int",
"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.01 and 1000."
}
},
"secondThreshold": {
"type": "int",
"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.01 and 1000."
}
},
"contactEmails": {
"type": "array",
"metadata": {
"description": "The list of email addresses to send the budget notification to when the threshold is exceeded."
}
}
},
"resources": [
{
"type": "Microsoft.Consumption/budgets",
"apiVersion": "2023-11-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')]"
},
"NotificationForExceededBudget2": {
"enabled": true,
"operator": "GreaterThan",
"threshold": "[parameters('secondThreshold')]",
"contactEmails": "[parameters('contactEmails')]"
}
}
}
}
],
"outputs": {
"name": {
"type": "string",
"value": "[parameters('budgetName')]"
},
"resourceId": {
"type": "string",
"value": "[subscriptionResourceId('Microsoft.Consumption/budgets', parameters('budgetName'))]"
}
}
}
В этом шаблоне определяется один ресурс Azure.
Выберите следующее изображение, чтобы войти на портал Azure и открыть шаблон. Этот шаблон создает бюджет без фильтров.
Введите или выберите следующие значения.
-
Подписка. Выберите нужную подписку Azure.
-
Группа ресурсов: при необходимости создайте группу ресурсов или выберите существующую.
-
Регион: выберите регион Azure. Например, центральная часть США.
-
Имя бюджета. Введите имя для этого бюджета. Оно должно быть уникальным в пределах группы ресурсов. Допустимы только буквы, цифры, знаки подчеркивания и дефисы.
-
Сумма. Введите общий объем затрат, который будет отслеживаться этим бюджетом.
-
Интервал времени. Введите период времени, охватываемый этим бюджетом. Допустимые значения: ежемесячно, ежеквартально или ежегодно. По окончании временного периода бюджет сбрасывается.
-
Дата начала. Введите дату начала, которая соответствует первому дню месяца в формате ГГГГ-ММ-ДД. Дата начала в будущем должна быть не позже, чем через три месяца от текущей даты. Вы можете указать дату начала в прошлом в сочетании с интервалом времени.
-
Дата окончания. Введите дату окончания учета бюджета в формате ГГГГ-ММ-ДД.
-
First Threshold (Первое пороговое значение). Введите пороговое значение для первого уведомления. Уведомление отправляется, когда накопленная стоимость превысит пороговое значение. Это значение всегда выражается в процентах и должно находиться в диапазоне от 0,01 до 1000.
-
Second Threshold (Второе пороговое значение). Введите пороговое значение для второго уведомления. Уведомление отправляется, когда накопленная стоимость превысит пороговое значение. Это значение всегда выражается в процентах и должно находиться в диапазоне от 0,01 до 1000.
-
Contact Emails (Адреса электронной почты для связи). Введите список адресов электронной почты, на которые будет отправлено уведомление о превышении порогового значения для бюджета. Здесь принимается массив строк. Ожидается формат
["user1@domain.com","user2@domain.com"]
.
В зависимости от типа подписки Azure выполните одно из следующих действий:
- Выберите Просмотреть и создать.
- Просмотрите условия использования и выберите Я принимаю указанные выше условия, а затем нажмите кнопку Приобрести.
Если вы выбрали Просмотреть и создать, шаблон будет проверен. Нажмите кнопку создания.
Для развертывания шаблона используется портал Azure. Помимо портала Azure можно также использовать Azure PowerShell, Azure CLI и REST API. Сведения о других шаблонах развертывания см. в этой статье.
Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "16839077498193926768"
}
},
"parameters": {
"budgetName": {
"type": "string",
"defaultValue": "MyBudget",
"metadata": {
"description": "Name of the Budget. It should be unique within a resource group."
}
},
"amount": {
"type": "int",
"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": "int",
"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.01 and 1000."
}
},
"secondThreshold": {
"type": "int",
"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.01 and 1000."
}
},
"contactEmails": {
"type": "array",
"metadata": {
"description": "The list of email addresses to send the budget notification to when the threshold is exceeded."
}
},
"resourceGroupFilterValues": {
"type": "array",
"metadata": {
"description": "The set of values for the resource group filter."
}
}
},
"resources": [
{
"type": "Microsoft.Consumption/budgets",
"apiVersion": "2021-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')]"
},
"NotificationForExceededBudget2": {
"enabled": true,
"operator": "GreaterThan",
"threshold": "[parameters('secondThreshold')]",
"contactEmails": "[parameters('contactEmails')]"
}
},
"filter": {
"dimensions": {
"name": "ResourceGroupName",
"operator": "In",
"values": "[parameters('resourceGroupFilterValues')]"
}
}
}
}
]
}
В этом шаблоне определяется один ресурс Azure.
Выберите следующее изображение, чтобы войти на портал Azure и открыть шаблон. Этот шаблон создает бюджет с фильтром по группам ресурсов.
Введите или выберите следующие значения.
-
Подписка. Выберите нужную подписку Azure.
-
Группа ресурсов: при необходимости создайте группу ресурсов или выберите существующую.
-
Регион: выберите регион Azure. Например, центральная часть США.
-
Имя бюджета. Введите имя для этого бюджета. Оно должно быть уникальным в пределах группы ресурсов. Допустимы только буквы, цифры, знаки подчеркивания и дефисы.
-
Сумма. Введите общий объем затрат, который будет отслеживаться этим бюджетом.
-
Интервал времени: введите период времени, охватываемый бюджетом. Допустимые значения: ежемесячно, ежеквартально или ежегодно. По истечении интервала времени сумма бюджета сбрасывается.
-
Дата начала. Введите дату начала, которая соответствует первому дню месяца в формате ГГГГ-ММ-ДД. Дата начала в будущем должна быть не позже, чем через три месяца от текущей даты. Вы можете указать дату начала в прошлом в сочетании с интервалом времени.
-
Дата окончания. Введите дату окончания учета бюджета в формате ГГГГ-ММ-ДД.
-
First Threshold (Первое пороговое значение). Введите пороговое значение для первого уведомления. Уведомление отправляется, когда накопленная стоимость превысит пороговое значение. Это значение всегда выражается в процентах и должно находиться в диапазоне от 0,01 до 1000.
-
Second Threshold (Второе пороговое значение). Введите пороговое значение для второго уведомления. Уведомление отправляется, когда накопленная стоимость превысит пороговое значение. Это значение всегда выражается в процентах и должно находиться в диапазоне от 0,01 до 1000.
-
Contact Emails (Адреса электронной почты для связи). Введите список адресов электронной почты, на которые будет отправлено уведомление о превышении порогового значения для бюджета. Здесь принимается массив строк. Ожидается формат
["user1@domain.com","user2@domain.com"]
.
-
Resource Group Filter Values (Значения фильтра группы ресурсов). Введите список имен групп ресурсов для фильтрации. Здесь принимается массив строк. Ожидаемый формат
["Resource Group Name1","Resource Group Name2"]
. Этот массив не может быть пустым.
В зависимости от типа подписки Azure выполните одно из следующих действий:
- Выберите Просмотреть и создать.
- Просмотрите условия использования и выберите Я принимаю указанные выше условия, а затем нажмите кнопку Приобрести.
Если вы выбрали Просмотреть и создать, шаблон будет проверен. Нажмите кнопку создания.
Для развертывания шаблона используется портал Azure. Помимо портала Azure можно также использовать Azure PowerShell, Azure CLI и REST API. Сведения о других шаблонах развертывания см. в этой статье.
Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.8.9.13224",
"templateHash": "16562188350105885076"
}
},
"parameters": {
"budgetName": {
"type": "string",
"defaultValue": "MyBudget",
"metadata": {
"description": "Name of the Budget. It should be unique within a resource group."
}
},
"amount": {
"type": "int",
"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": "int",
"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.01 and 1000."
}
},
"secondThreshold": {
"type": "int",
"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.01 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 resource group filter."
}
},
"meterCategoryFilterValues": {
"type": "array",
"metadata": {
"description": "The set of values for the meter category filter."
}
}
},
"resources": [
{
"type": "Microsoft.Consumption/budgets",
"apiVersion": "2021-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')]",
"thresholdType": "Forecasted"
}
},
"filter": {
"and": [
{
"dimensions": {
"name": "ResourceGroupName",
"operator": "In",
"values": "[parameters('resourceGroupFilterValues')]"
}
},
{
"dimensions": {
"name": "MeterCategory",
"operator": "In",
"values": "[parameters('meterCategoryFilterValues')]"
}
}
]
}
}
}
]
}
В этом шаблоне определяется один ресурс Azure.
Выберите следующее изображение, чтобы войти на портал Azure и открыть шаблон. Этот шаблон создает бюджет с фильтром по группам ресурсов и фильтром по категориям счетчиков.
Введите или выберите следующие значения.
-
Подписка. Выберите нужную подписку Azure.
-
Группа ресурсов: при необходимости создайте группу ресурсов или выберите существующую.
-
Регион: выберите регион Azure. Например, центральная часть США.
-
Имя бюджета. Введите имя для этого бюджета. Оно должно быть уникальным в пределах группы ресурсов. Допустимы только буквы, цифры, знаки подчеркивания и дефисы.
-
Сумма. Введите общий объем затрат, который будет отслеживаться этим бюджетом.
-
Интервал времени. Введите период времени, охватываемый этим бюджетом. Допустимые значения: ежемесячно, ежеквартально или ежегодно. По истечении интервала времени сумма бюджета сбрасывается.
-
Дата начала. Введите дату начала, которая соответствует первому дню месяца в формате ГГГГ-ММ-ДД. Дата начала в будущем должна быть не позже, чем через три месяца от текущей даты. Вы можете указать дату начала в прошлом с использованием периода Time Grain.
-
Дата окончания. Введите дату окончания учета бюджета в формате ГГГГ-ММ-ДД.
-
First Threshold (Первое пороговое значение). Введите пороговое значение для первого уведомления. Уведомление отправляется, когда накопленная стоимость превысит пороговое значение. Это значение всегда выражается в процентах и должно находиться в диапазоне от 0,01 до 1000.
-
Second Threshold (Второе пороговое значение). Введите пороговое значение для второго уведомления. Уведомление отправляется, когда накопленная стоимость превысит пороговое значение. Это значение всегда выражается в процентах и должно находиться в диапазоне от 0,01 до 1000.
-
Contact Roles (Роли для связи). Введите список ролей для связи, которым будет отправлено уведомление о превышении порогового значения для бюджета. По умолчанию поддерживаются роли владельца, участника и читателя. Ожидается формат
["Owner","Contributor","Reader"]
.
-
Contact Emails (Адреса электронной почты для связи). Введите список адресов электронной почты, на которые будет отправлено уведомление о превышении порогового значения для бюджета. Здесь принимается массив строк. Ожидается формат
["user1@domain.com","user2@domain.com"]
.
-
Contact Groups (Контакты для связи). Введите список идентификаторов ресурсов групп действий (в виде полного URI ресурса), в которые будет отправлено уведомление о превышении порогового значения для бюджета. Здесь принимается массив строк. Ожидается формат
["action group resource ID1","action group resource ID2"]
. Если вы не хотите использовать группы действий, введите значение []
.
-
Resource Group Filter Values (Значения фильтра группы ресурсов). Введите список имен групп ресурсов для фильтрации. Здесь принимается массив строк. Ожидается формат
["Resource Group Name1","Resource Group Name2"]
. Этот массив не может быть пустым.
-
Meter Category Filter Values (Значения фильтра категории средств измерения). Введите список категорий средств измерения служб Azure. Здесь принимается массив строк. Ожидается формат
["Meter Category1","Meter Category2"]
. Этот массив не может быть пустым.
В зависимости от типа подписки Azure выполните одно из следующих действий:
- Выберите Просмотреть и создать.
- Просмотрите условия использования и выберите Я принимаю указанные выше условия, а затем нажмите кнопку Приобрести.
Если вы выбрали Просмотреть и создать, шаблон будет проверен. Нажмите кнопку создания.
Для развертывания шаблона используется портал Azure. Помимо портала Azure можно также использовать Azure PowerShell, Azure CLI и REST API. Сведения о других шаблонах развертывания см. в этой статье.
Любой из следующих способов позволит вам убедиться, что бюджет успешно создан.
Если бюджет вам больше не нужен, удалите его, используя один из описанных ниже способов.
В этом кратком руководстве вы создали бюджет и развернули его. Дополнительные сведения об управлении затратами, выставлением счетов и Azure Resource Manager см. в указанных ниже статьях.