Cloud Billing Budget API 사용하기

Cloud Billing Budget API에 몇 가지 간단한 요청을 보내는 방법을 알아봅니다.

전체 메서드 목록은 REST API 또는 RPC API 참조 문서를 확인하세요.

시작하기 전에

이 가이드를 읽기 전에 다음을 수행해야 합니다.

  1. Cloud Billing Budget API 개요를 읽어보세요.
  2. Cloud Billing Budget API 기본 요건을 읽어보세요.
  3. 설정 단계 수행

Cloud Billing 계정 ID 확인

모든 Cloud Billing Budget API 호출에 대해 Cloud Billing 계정 ID가 필요합니다.

  1. Google Cloud Console 결제 계정 관리 페이지로 이동합니다.
  2. 내 결제 계정 탭에서 이름 및 ID로 Cloud Billing 계정 목록이 표시됩니다. 예산을 관리할 계정의 결제 계정 ID를 찾습니다.

결제 계정 ID의 위치를 보여주는 결제 관리 페이지의 스크린샷

주요 예산 개념

  • 예산은 전체 결제 계정에 적용하거나, 세분화된 예산 필터를 사용하여 특정 비용 조각을 모니터링하기 위해 범위가 지정(필터링)될 수 있습니다.
  • 전체 Cloud Billing 계정에 적용되는 예산에는 해당 결제 계정으로 지불되는 모든 Google Cloud 프로젝트의 비용이 포함됩니다.
  • Cloud Billing 계정 액세스 권한이 제한적이거나 없으면 자신이 소유한 프로젝트에 대해 단일 프로젝트 예산을 만들 수 있습니다. Cloud Billing 계정 수준의 사용자인 경우 프로젝트 수준의 사용자가 예산에서 OwnershipScope 필드를 사용하여 수정할 수 없는 단일 프로젝트 예산을 만들 수 있습니다.
  • 조직, 폴더, 프로젝트, 서비스의 하위 집합과 Cloud Billing 계정에 적용 가능한 기타 예산 필터와 같은 필터를 사용하여 예산 범위를 좁힐 수 있습니다.
  • 예산 기간을 지정할 수 있습니다. 기본적으로 예산은 한 달 동안에 발생한 비용을 모니터링합니다. Cloud Billing Budget API에 사용할 수 있는 usage_period 필터를 사용하면 CalendarPeriod 또는 CustomPeriod에 대한 예산 기간을 구성할 수 있으며 이를 통해 분기, 년 또는 지정한 커스텀 기간과 같은 기본 캘린더 월 이상의 기간을 모니터링할 예산을 만들 수 있습니다.
  • 예산 금액을 지정한 총 금액으로 설정하거나 전월에 발생한 지출에 대한 예산 금액을 설정할 수 있습니다.
  • 예산 기준 규칙을 설정하여 이메일 알림을 트리거할 수 있습니다. 사용자가 설정한 규칙을 기준으로 비용(실제 비용 또는 예상 비용)이 예산의 일정 비율을 초과할 경우 알림 이메일이 지정한 수신자에게 전송됩니다.
  • 예산의 알림 규칙을 설정하여 예산 알림의 이메일 수신자를 지정하고 Pub/Sub를 사용한 프로그래매틱 알림을 사용 설정합니다.
  • 프로그래매틱 알림Pub/Sub 주제를 사용할 수 있습니다. 예를 들어 예산 메시지를 Slack과 같은 다른 매체로 전달하거나 비용 관리 작업을 자동화합니다.

할당량 제한: 각 개별 Cloud Billing 계정은 한 번에 수천 개의 예산을 연결할 수 있습니다. 현재 한도 및 추가 정보는 할당량 및 한도를 참조하세요.

API 호출

다음 샘플은 Cloud Billing Budget API에 몇 가지 간단한 요청을 보내는 방법을 보여줍니다.

예산 나열

이 API 메서드는 특정 Cloud Billing 계정에 설정된 모든 예산을 나열합니다.

REST

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • billing-account-id: 예산이 적용되는 Google Cloud 결제 계정 ID
  • project-id: Cloud Billing Budget API가 사용 설정된 Google Cloud 프로젝트

HTTP 메서드 및 URL:

GET https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "budgets": [
   {
      "name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
      "displayName": "Forecasted spend budget with Service Filter",
      "budgetFilter": {
        "projects": [
          "projects/123456789"
        ],
        "services": [
          "services/A1E8-BE35-7EBC"
        ],
        "creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
        "calendarPeriod": "MONTH"
      },
      "amount": {
        "lastPeriodAmount": {}
      },
      "thresholdRules": [
        {
          "thresholdPercent": 0.9,
          "spendBasis": "FORECASTED_SPEND"
        }
      ],
      "allUpdatesRule": {},
      "etag": "c9d6c011f6fa6b5c"
    }
  ]
}

예산 가져오기

이 API 메서드는 특정 예산에 대한 세부정보를 가져옵니다.

REST

이 메서드를 호출하려면 업데이트할 예산의 budget-id가 필요합니다. 예산을 만들 때는 createBudget 출력에서, 예산을 모두 나열할 때는 listBudgets 출력에서 예산 ID를 가져올 수 있습니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • billing-account-id: 이 예산이 적용되는 Google Cloud 결제 계정 ID
  • budget-id: 가져올 예산의 ID
  • project-id: Cloud Billing Budget API가 사용 설정된 Google Cloud 프로젝트

HTTP 메서드 및 URL:

GET https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
  "displayName": "Forecasted spend budget with Service Filter",
  "budgetFilter": {
    "projects": [
      "projects/123456789"
    ],
    "services": [
      "services/A1E8-BE35-7EBC"
    ],
    "creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
    "calendarPeriod": "MONTH"
  },
  "amount": {
    "lastPeriodAmount": {}
  },
  "thresholdRules": [
    {
      "thresholdPercent": 0.9,
      "spendBasis": "FORECASTED_SPEND"
    }
  ],
  "allUpdatesRule": {},
  "etag": "c9d6c011f6fa6b5c"
}

예산 만들기

이 API 메서드는 지정된 Cloud Billing 계정에 적용되는 Cloud Billing 예산을 만듭니다.

REST

이 샘플은 분기의 캘린더 기간에 대해 사용자가 지정하고 설정한 Google Cloud 프로젝트로 범위가 지정(필터링)된 특정 Cloud Billing 계정의 예산을 만드는 방법을 보여줍니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • projects/budget-scope-project-id: 예산 범위(budgetFilter)로 설정할 Google Cloud 프로젝트 ID
  • billing-account-id: 이 예산이 적용되는 Google Cloud 결제 계정 ID
  • api-user-project-id: Cloud Billing Budget API가 사용 설정된 Google Cloud 프로젝트

HTTP 메서드 및 URL:

POST https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets

JSON 요청 본문:

{
  "displayName": "Keep my spending down",
  "budgetFilter": {
    "projects": [
      "projects/budget-scope-project-id"
    ],
    "calendar_period": "QUARTER"
  },
  "amount": {
    "lastPeriodAmount": {}
  },
  "thresholdRules": {
    "thresholdPercent": 0.8,
    "spendBasis": "CURRENT_SPEND"
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
  "displayName": "Keep my spending down",
  "budgetFilter": {
    "projects": [
      "projects/123456789"
    ],
    "creditTypesTreatment": "INCLUDE_ALL_CREDITS",
    "calendar_period": "QUARTER"
  },
  "amount": {
    "lastPeriodAmount": {}
  },
  "thresholdRules": {
    "thresholdPercent": 0.8,
    "spendBasis": "CURRENT_SPEND"
  },
  "allUpdatesRule": {},
  "etag": "f7928d8010160668"
}

예산 업데이트

이 API 메서드를 사용하여 기존 Cloud Billing 예산을 수정해 예산 금액, 예산 필터(예산 범위), 예산 기간 또는기준 규칙을 변경할 수 있습니다.

REST

이 샘플은 기존 예산을 업데이트해 사용자가 지정한 Google Cloud 프로젝트로 범위(필터)를 설정하고 예산 기간을 월예산에서 분기별 예산으로 업데이트하는 방법을 보여줍니다.

이 메서드를 호출하려면 업데이트할 예산의 budget-id가 필요합니다. 예산을 만들 때는 createBudget 출력에서, 예산을 모두 나열할 때는 listBudgets 출력에서 예산 ID를 가져올 수 있습니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • projects/budget-scope-project-id: 예산 범위(budgetFilter)로 설정하려는 Google Cloud 프로젝트
  • billing-account-id: 이 예산이 적용되는 Google Cloud 결제 계정 ID
  • budget-id: 업데이트할 예산의 ID
  • api-user-project-id: Cloud Billing Budget API가 사용 설정된 Google Cloud 프로젝트

HTTP 메서드 및 URL:

PATCH https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id

JSON 요청 본문:

{
  "budget": {
    "displayName": "My fancy budget",
    "budgetFilter": {
      "projects": [
        "projects/budget-scope-project-id"
      ],
      "calendar_period": "QUARTER"
    },
   "amount": {
      "specifiedAmount": {
        "units": 500
      }
    },
    "thresholdRules": {
      "thresholdPercent": 0.8,
      "spendBasis": "CURRENT_SPEND"
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
  "displayName": "My fancy budget",
  "budgetFilter": {
    "projects": [
      "projects/123456789"
    ],
    "creditTypesTreatment": "INCLUDE_ALL_CREDITS",
    "calendar_period": "QUARTER"
  },
  "amount": {
    "specifiedAmount": {
      "units": 500
    }
  },
  "thresholdRules": {
    "thresholdPercent": 0.8,
    "spendBasis": "CURRENT_SPEND"
  },
  "allUpdatesRule": {},
  "etag": "f7928d8010160668"
}

예산 삭제

이 API 메서드를 사용하여 기존 Cloud Billing 예산을 삭제할 수 있습니다.

REST

이 메서드를 호출하려면 업데이트할 예산의 budget-id가 필요합니다. 예산을 만들 때는 createBudget 출력에서, 예산을 모두 나열할 때는 listBudgets 출력에서 예산 ID를 가져올 수 있습니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • billing-account-id: 이 예산이 적용되는 Google Cloud 결제 계정 ID
  • budget-id: 삭제할 예산의 ID
  • project-id: Cloud Billing Budget API가 사용 설정된 Google Cloud 프로젝트

HTTP 메서드 및 URL:

DELETE https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{}