Cloud Billing Budget API の使用

簡単なリクエストを Cloud Billing Budget API に送信する方法について説明します。

すべてのメソッドの一覧については、REST API または RPC API のリファレンス ドキュメントをご覧ください。

始める前に

このガイドを読む前に、次の手順を行ってください。

  1. Cloud Billing Budget API の概要をご覧ください。
  2. Cloud Billing Budget API の前提条件をご覧ください。
  3. 手順に沿って設定してください。

Cloud 請求先アカウント ID を確認する

すべての Cloud Billing Budget API 呼び出しで Cloud 請求先アカウント ID が必要です。

  1. Google Cloud Console 請求先アカウントの管理ページに移動します。
  2. [請求先アカウント] タブに、Cloud 請求先アカウントのリストが名前と ID 順に表示されます。予算を管理するアカウントの請求先アカウント ID を探します。

請求先アカウント ID の場所を示す請求管理ページのスクリーンショット。

主要な予算のコンセプト

  • 予算は、請求先アカウント全体に適用できます。または、範囲を設定(フィルタ適用)して、予算の特定の部分のみを監視することもできます。
  • Cloud 請求先アカウント全体に適用される予算には、対象の請求先アカウントで支払われるすべての Google Cloud プロジェクトの費用が含まれます。
  • フィルタを使用して、プロジェクトやサービスのサブセットなどに予算の範囲を絞り込む、またはその他の予算フィルタを Cloud 請求先アカウントに適用することができます。
  • 予算の期間を指定できます。デフォルトでは、予算は 1 暦月の間に発生した費用をモニタリングします。Cloud Billing Budget API で利用できる usage_period フィルタを使用して、予算期間をCalendarPeriod または CustomPeriod に構成すると、デフォルトの暦月を超えて、指定した四半期、年、カスタム期間などの期間をモニタリングする予算を作成できます。
  • 指定した合計額に予算額を設定するか、前回の期間の支出額に基づいて予算額を設定することができます。
  • 境界しきい値のルールを設定してメール通知アラートをトリガーできます。費用(実際の費用または予測費用)が、設定したルールに基づく予算のパーセンテージを超えると、指定した受信者にアラートメールが送信されます。
  • 予算の通知ルールを設定して、予算アラートのメール受信者を指定し、Pub/Sub を使用したプログラムによる通知を有効にできます。
  • プログラムによる通知では、Pub/Sub トピックを使用できます(たとえば、予算メッセージを Slack などの他のメディアに転送する、または、コスト管理のタスクを自動化することができます)。

割り当て制限: 1 つの Cloud 請求先アカウントに一度に関連付けることが可能な予算は 5,000 件までです。詳細については、割り当てと上限をご覧ください。

API の呼び出し

次のサンプルは、Cloud Billing Budget API に簡単なリクエストを送信する方法を示しています。

予算の一覧表示

この API メソッドは、特定の Cloud 請求先アカウントで使用できるすべての予算を表示します。

REST とコマンドライン

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • billing-account-id: 予算が適用される Cloud 請求先アカウント ID。

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 が必要です。予算 ID は、予算の作成時に createBudget の出力から取得できます。また、すべての予算のリストを表示した場合は、listBudgets の出力から取得できます。

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • billing-account-id: この予算が適用される Cloud 請求先アカウント ID。
  • budget-id: 取得する予算の ID。

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 請求先アカウントに適用される Cloud Billing 予算を作成します。

REST とコマンドライン

このサンプルでは、指定した Google Cloud プロジェクトで範囲を限定(フィルタリング)して、所定の Cloud 請求先アカウントの予算を作成し四半期のカレンダー期間に対して設定する方法を示します。

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • project-id: 予算の範囲budgetFilter)として設定する Google Cloud プロジェクト ID。
  • billing-account-id: この予算が適用される Cloud 請求先アカウント ID。

HTTP メソッドと URL:

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

JSON 本文のリクエスト:

{
  "displayName": "Keep my spending down",
  "budgetFilter": {
    "projects": [
      "projects/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 が必要です。予算 ID は、予算の作成時に createBudget の出力から取得できます。また、すべての予算のリストを表示した場合は、listBudgets の出力から取得できます。

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • project-id: 予算の範囲budgetFilter)として設定する Google Cloud プロジェクト ID。
  • billing-account-id: この予算が適用される Cloud 請求先アカウント ID。
  • budget-id: 更新する予算の ID。

HTTP メソッドと URL:

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

JSON 本文のリクエスト:

{
  "budget": {
    "displayName": "My fancy budget",
    "budgetFilter": {
      "projects": [
        "projects/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 が必要です。予算 ID は、予算の作成時に createBudget の出力から取得できます。また、すべての予算のリストを表示した場合は、listBudgets の出力から取得できます。

後述のリクエストのデータを使用する前に、次のように置き換えます。

  • billing-account-id: この予算が適用される Cloud 請求先アカウント ID。
  • budget-id: 削除する予算の ID。

HTTP メソッドと URL:

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

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{}