빠른 시작: ARM 템플릿을 사용하여 예산 만들기

Cost Management의 예산을 통해 조직 책임을 계획하고 주도할 수 있습니다. 예산을 사용하여 특정 기간 중 사용자가 소비 또는 구독하는 Azure 서비스를 설명할 수 있습니다. 비용을 적극적으로 관리하고 지출이 진행되는 방식을 모니터링하기 위해 지출에 대해 다른 사람들에게 알리는 데 도움이 됩니다. 사용자가 만든 예산 임계값을 초과하면 알림이 트리거됩니다. 리소스에는 영향을 미치지 않으며 소비도 중단되지 않습니다. 예산을 사용하여 비용 분석 시 지출을 비교하고 추적할 수 있습니다. 이 빠른 시작에서는 세 가지 ARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 예산을 만드는 방법을 보여 줍니다.

Azure Resource Manager 템플릿은 프로젝트의 인프라 및 구성을 정의하는 JSON(JavaScript Object Notation) 파일입니다. 이 템플릿은 선언적 구문을 사용합니다. 배포를 만들기 위한 프로그래밍 명령 시퀀스를 작성하지 않고 의도한 배포를 설명합니다.

환경이 필수 조건을 충족하고 ARM 템플릿 사용에 익숙하다면 다음 템플릿 중 하나에 대해 Azure에 배포 단추를 선택합니다. 그러면 Azure Portal에서 템플릿이 열립니다.

템플릿 배포 단추
필터 없음 Azure에 Resource Manager 템플릿을 배포하는 단추입니다.
하나의 필터 Azure에 Resource Manager 템플릿을 배포하는 단추입니다.
2개 이상의 필터 Azure에 Resource Manager 템플릿을 배포하는 단추입니다.

필수 조건

Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

새 구독이 있는 경우 즉시 예산을 만들거나 다른 Cost Management 기능을 사용할 수 없습니다. 모든 Cost Management 기능을 사용하려면 최대 48시간이 걸릴 수 있습니다.

예산은 다음과 같은 유형의 Azure 계정 유형 및 범위에 대해 지원됩니다.

  • Azure RBAC(Azure 역할 기반 액세스 제어) 범위
    • 관리 그룹
    • 구독
  • 기업계약 범위
    • 청구 계정
    • department
    • 등록 계정
  • 개별 계약
    • 청구 계정
  • Microsoft 고객 계약 범위
    • 청구 계정
    • 청구 프로필
    • 청구서 섹션
    • Customer
  • AWS 범위
    • 외부 계정
    • 외부 구독

      참고 항목

      Cost Management 서비스의 AWS 커넥트or는 2025년 3월 31일에 사용 중지됩니다. 사용자는 AWS 비용 관리 보고를 위한 대체 솔루션을 고려해야 합니다. 2024년 3월 31일에 Azure는 모든 고객에 대해 AWS용 새 커넥트 추가 기능을 사용하지 않도록 설정합니다. 자세한 내용은 AWS(Amazon Web Services) 커넥터 사용 중지를 참조하세요. 예산을 보려면 적어도 Azure 계정에 대한 읽기 권한이 필요합니다.

Azure EA 구독의 경우 예산을 보는 읽기 권한이 있어야 합니다. 예산을 만들고 관리하려면 기여자 사용 권한이 있어야 합니다.

다음 Azure 사용 권한 또는 범위는 사용자 및 그룹별 예산에 대한 구독에 따라 지원됩니다. 범위에 대한 자세한 내용은 범위 이해 및 작업을 참조하세요.

  • 소유자 - 구독에 대한 예산을 만들고, 수정하거나 삭제할 수 있습니다.
  • 기여자 및 Cost Management 기여자 – 자신의 예산을 만들거나, 수정하거나, 삭제할 수 있습니다. 다른 사용자가 만든 예산에 대한 예산 금액을 수정할 수 있습니다.
  • 읽기 권한자 및 Cost Management 읽기 권한자 - 사용 권한이 있는 예산을 볼 수 있습니다.

Cost Management 데이터에 대한 사용 권한을 할당하는 방법에 대한 자세한 내용은 Cost Management 데이터에 대한 액세스 할당을 참조하세요.

필요에 따라 다음 템플릿 중 하나를 사용합니다.

템플릿 설명
필터 없음 ARM 템플릿에는 필터가 없습니다.
하나의 필터 ARM 템플릿에는 리소스 그룹용 필터가 있습니다.
2개 이상의 필터 ARM 템플릿에는 리소스 그룹용 필터와 미터 범주용 필터가 있습니다.

템플릿 검토 및 배포

템플릿 검토

이 빠른 시작에서 사용되는 템플릿은 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 리소스 하나가 정의되어 있습니다.

템플릿 배포

  1. 다음 이미지를 선택하고 Azure에 로그인하여 템플릿을 엽니다. 템플릿은 필터 없이 예산을 만듭니다.

    Azure에 Resource Manager 템플릿을 배포하는 단추입니다.

  2. 다음 값을 선택하거나 입력합니다.

    Resource Manager 템플릿, 필터 없이 예산 만들기, 포털 배포

    • 구독: Azure 구독을 선택합니다.
    • 리소스 그룹: 필요한 경우 기존 리소스 그룹을 선택하거나 새 리소스 그룹을 만듭니다.
    • 지역: Azure 지역을 선택합니다. 예: 미국 중부
    • 예산 이름: 예산의 이름을 입력합니다. 리소스 그룹 내에서 고유해야 합니다. 영숫자, 밑줄 및 하이픈만 허용됩니다.
    • 금액: 예산을 추적하는 데 드는 총 비용을 입력합니다.
    • 시간 조직: 예산이 적용되는 시간을 입력합니다. 허용되는 값은 매월, 매분기 또는 매년입니다. 시간 조직이 끝나면 예산이 초기화됩니다.
    • 시작 날짜: 해당 월의 1일을 YYYY-MM-DD 형식의 시작 날짜로 입력합니다. 미래의 시작 날짜는 오늘부터 3개월 이내여야 합니다. 시간 조직 기간을 사용하여 과거의 시작 날짜를 지정할 수 있습니다.
    • 종료 날짜: 예산의 종료 날짜를 YYYY-MM-DD 형식으로 입력합니다.
    • 첫 번째 임계값: 첫 번째 알림의 임계값을 입력합니다. 비용이 임계값을 초과하면 알림이 전송됩니다. 항상 백분율이며 0.01~1000 사이여야 합니다.
    • 두 번째 임계값: 두 번째 알림의 임계값을 입력합니다. 비용이 임계값을 초과하면 알림이 전송됩니다. 항상 백분율이며 0.01~1000 사이여야 합니다.
    • 연락처 이메일 임계값을 초과하면 예산 알림을 보낼 이메일 주소 목록을 입력합니다. 문자열 배열을 허용합니다. 필요한 형식은 ["user1@domain.com","user2@domain.com"]입니다.
  3. Azure 구독 유형에 따라 다음 작업 중 하나를 수행합니다.

    • 검토 + 만들기를 선택합니다.
    • 사용 약관을 검토하고 위에 명시된 사용 약관에 동의함을 선택한 다음 구매를 선택합니다.
  4. 검토 + 만들기를 선택한 경우 템플릿의 유효성이 검사됩니다. 만들기를 실행합니다.

    Resource Manager 템플릿, 예산 필터 없음, 포털 배포 알림을 보여 주는 스크린샷.

Azure Portal은 템플릿을 배포하는데 사용됩니다. Azure Portal 외에도 Azure PowerShell, Azure CLI 및 REST API를 사용할 수 있습니다. 다른 배포 템플릿을 알아보려면 템플릿 배포를 참조하세요.

배포 유효성 검사

다음 방법 중 하나를 사용하여 예산이 만들어졌는지 확인합니다.

Cost Management + Billing>으로 이동하여 >예산 범위를 선택합니다.

리소스 정리

예산이 더 이상 필요하지 않은 경우 다음 방법 중 하나를 사용하여 삭제합니다.

Cost Management + Billing>로 이동하여 청구 범위를 선택하고 >예산> 예산을 선택한 다음 >예산 삭제를 선택합니다.

다음 단계

이 빠른 시작에서는 예산을 만들고 이를 사용하여 배포했습니다. Cost Management and Billing과 Azure Resource Manager에 대해 자세히 알아보려면 아래 문서를 계속 진행하세요.