このドキュメントでは、予算通知を使用してリソース使用量を選択的に制御する方法について説明します。
プロジェクトで課金を無効にすると、すべてのサービスが停止し、最終的にすべてのリソースが削除されます。よりきめ細かなレスポンスが必要な場合は、リソースを選択的に制御できます。たとえば、Cloud Storage リソースはそのままにして、一部の Compute Engine リソースを停止できます。一部のリソースのみを停止すると、環境を完全に無効にすることなく費用を削減できます。
次の例では、プロジェクトは複数の Compute Engine 仮想マシン(VM)を使用して研究を実行し、結果を Cloud Storage バケットに保存します。予算通知をトリガーとして使用し、予算を超えると、この Cloud Run 関数はすべての Compute Engine インスタンスをシャットダウンしますが、保存された結果には影響しません。
始める前に
開始前に、次のタスクを完了する必要があります。
Cloud Run 関数を設定する
- Cloud Run 関数を作成するの手順を完了します。[トリガーの種類] は、予算で使用する Pub/Sub トピックと同じに設定してください。
次の依存関係を追加します。
Node.js
次のコードを
package.json
ファイルにコピーします。Python
次のコードを
requirements.txt
ファイルにコピーします。次のコードを Cloud Run 関数にコピーします。
Node.js
Python
[エントリ ポイント] を、実行する正しい関数に設定します。
Node.js
[エントリ ポイント] を
limitUse
に設定します。Python
[エントリ ポイント] を
limit_use
に設定します。自動的に設定される環境変数のリストを確認し、仮想マシンを実行するプロジェクトに GCP_PROJECT 変数を手動で設定する必要があるかどうかを判断します。
ZONE パラメータを設定します。このパラメータは、予算を超えたときにインスタンスが停止されるゾーンです。
[デプロイ] をクリックします。
サービス アカウント権限を構成する
Cloud Run 関数は、自動的に作成されたサービス アカウントとして実行されます。使用を制御するには、次の手順で、変更が必要なプロジェクトのサービスにサービス アカウントの権限を付与する必要があります。
- Cloud Run 関数の詳細を表示して、正しいサービス アカウントを特定します。サービス アカウントはページの下部に表示されます。
Google Cloud コンソールの [IAM] ページに移動して、適切な権限を設定します。
インスタンスが停止していることをテストする
関数が想定どおりに動作することを確認するには、Cloud Run 関数をテストするの手順に沿って操作します。
成功すると、Google Cloud コンソールの Compute Engine VM が停止します。
次のステップ
他のプログラムによる通知の例を確認して、以下を行う方法を学びます。