このドキュメントでは、費用がプロジェクトの予算に達したときにプロジェクトの課金を自動的に無効にする方法について説明します。プロジェクトで課金を無効にすると、無料枠サービスを含め、プロジェクト内のすべてのサービスが停止します。 Google Cloud 予算通知に対するより微妙なレスポンスを設定するには、通知でリソース使用量を制御するをご覧ください。
Google Cloudに支出できる金額に上限があるため、費用を制限している場合があります。このような場合、予算の上限に達したら、すべてのサービスと使用を停止して費用の発生を停止したいと考えるかもしれません。 Google Cloud プロジェクトで課金を無効にすると、そのプロジェクトで費用が発生しないようにできます。
制限事項
費用が発生してから予算通知を受け取るまでに時間差があるため、すべてのサービスが停止された時点で確認されていなかった使用により追加費用が発生することがあります。この例で示される上限を設定する手順を行っても、予算を超えた費用が発生する場合があります。資金が限られている場合は、請求の遅延を考慮して、使用可能な資金より低く最大予算を設定してください。
請求先アカウントにロックされているプロジェクトの課金を無効にすることはできません。プロジェクトのロックとロック解除の詳細については、プロジェクトと請求先アカウント間のリンクを保護するをご覧ください。
始める前に
開始前に、次のタスクを完了する必要があります。
- Cloud Billing API を有効にする
- 1 つのプロジェクトを範囲とする予算を作成する
- プログラムによる予算通知を設定する
Cloud Run 関数を設定する
プロジェクトの Cloud Billing を無効にするには、Cloud Run 関数を作成し、Cloud Billing API を呼び出すように構成します。
- Cloud Run 関数を作成するの手順を完了します。[トリガーの種類] が、予算で使用する Pub/Sub トピックと同じに設定されていることを確認します。
次の依存関係を追加します。
Node.js
次のコードを
package.json
ファイルにコピーします。Python
次のコードを
requirements.txt
ファイルにコピーします。次のコードを Cloud Run 関数にコピーします。
Node.js
Python
[エントリ ポイント] を、実行する正しい関数に設定します。
Node.js
[エントリ ポイント] を
stopBilling
に設定します。Python
[エントリ ポイント] を
stop_billing
に設定します。自動的に設定される環境変数のリストを確認し、Cloud Billing を無効にするプロジェクトに GOOGLE_CLOUD_PROJECT 変数を手動で設定する必要があるかどうかを判断します。
[デプロイ] をクリックします。
サービス アカウント権限を構成する
Cloud Run 関数は自動的に作成されたサービス アカウントとして実行されます。課金を無効にするには、次の手順に沿って、変更が必要なプロジェクトのサービスにサービス アカウントの権限を付与する必要があります。
- Cloud Run 関数の詳細を表示して、正しいサービス アカウントを特定します。サービス アカウントはページの下部に表示されます。
Google Cloud コンソールの [IAM] ページに移動して、適切な権限を設定します。
請求先アカウントの権限を変更するには、Google Cloud コンソールで請求の [アカウント管理] ページに移動し、サービス アカウントを Cloud 請求先アカウントのプリンシパルとして追加して、適切な請求先アカウントの権限を設定します。
詳しくは、Cloud 請求先アカウントの権限を構成する方法をご覧ください。
Cloud Billing が無効であることをテストする
予算が通知を送信すると、指定したプロジェクトから Cloud 請求先アカウントが削除されます。関数が想定どおりに動作することを確認するには、Cloud Run 関数をテストするの手順に沿って操作します。
成功すると、プロジェクトは Cloud 請求先アカウントに表示されなくなり、同じプロジェクト内にある Cloud Run 関数を含めプロジェクト内のリソースが無効になります。
プロジェクトのリソースを引き続き使用するには、Google Cloud コンソールでプロジェクトの Cloud Billing を手動で有効に戻します。 Google Cloud
次のステップ
他のプログラムによる通知の例を確認して、以下を行う方法を学びます。