web-dev-qa-db-ja.com

Google Developers Consoleでコスト制限を設定する方法

Analytics APIなど、Google Developers Consoleの一部の機能は、割り当てに達するまで無料です。 Google Cloud Storageなどの他の機能は、最初のクリックからコストを発生させます。

https://console.developers.google.com/ > Storage > Cloud Storage > Storage Browserでファイルをアップロードし、このファイルを公開する場合、GBトラフィックあたり約0.12ドルを支払います。

しかし、理論的には、このリンクへのトラフィックは爆発する可能性があります。突然の人気のため。したがって、1日または1か月のコスト制限などを設定したいと思います。

Q:Google Developers Consoleで高すぎるコストから身を守るにはどうすればよいですか?

30
ptmr.io

2017年7月現在、メールで通知を送信する予算を設定できますが、支出には上限がありません

screenshot of GCS documentation warning that budget does not cap API usage

アラートのみの予算を設定するには、支出に上限を設けません

  1. Cloud Platform Consoleに移動します。
  2. コンソールの左側のメニューを開き、[お支払い]をクリックします
  3. 請求先アカウントが複数ある場合は、請求先アカウント名をクリックします。
  4. 左側にある[予算とアラート]をクリックします。

公式ヘルプページ: https://support.google.com/cloud/answer/6293540?hl=ja

4
ptmr.io

それはいけません。これについてGoogleに質問しました。こちらが2016年5月7日の回答です。

(GCE = Googleクラウドエンジン。費用の制限はありません。
GAE = Googleアプリエンジン—はい、使用量には制限があります。)

...あなたは...のみのサポートの対象となります...
... [さまざまな役立つリンク] ...

とはいえ、現時点では、GCEで限られた予算を構成できる機能はありません。この機能は、GAE [1]で確実に利用できます。コメントで述べたように、VMを完全にシャットダウンするか(ユースケースによって異なります)、特定のトラフィック制限に達した場合にアラートを送信するようにVMを設定することができます[2]。

今後ともよろしくお願いいたします。

誰かの名
テクニカルソリューション担当者
Google Cloud Platform

[1] https://cloud.google.com/appengine/docs/quotas
[2] https://cloud.google.com/monitoring/support/notification-options

@wmdry、あなたが書いた: "このリンクへのトラフィックは爆発する可能性があります" —私もこれを恐れています。だから私はこれについてグーグルに尋ねた。このため、GoogleのCDNを回避し、代わりに費用の制限がある別のCDNプロバイダーを使用することを計画しています。 Nginxとは異なり、GoogleのCDNをレート制限/スロットルする方法が見当たらないからです。

ただし、GCE(Google Cloud Engine)を使用する予定です。したがって、現在私はNginxサーバーをレート制限する方法について読んでいます。私がNginxを正しく設定しただけでは、あなたが言及した$ 0.12/GBは、1か月で$ 10,000のように爆発する可能性がないのですか?趣味のプロジェクトと数人が1 MBの映画を何度も何度も何度もダウンロードしているため(悪意があるため)、数週間の休暇から戻ったときにGoogleが1万ドルの請求書を送ったとしたらどうでしょう。うーん、私のサーバーが大きくて高速なほど、リスクは高くなります。

私はGoogleのCDNを使用したかったので、Googleが支出制限を追加することを望みます。

16
KajMagnus

デベロッパーコンソールに移動するだけです。

https://console.developers.google.com/project

  • プロジェクトを選択します。
  • 「請求と設定」を選択します
  • 課金を有効にします。

次に、Compute/AppEngine/Settingsに移動し、1日の予算を設定します。

enter image description here

4

APIの使用は、ハードリミットで制限できます。

APIによっては、1日あたりのリクエスト、100秒あたりのリクエスト、100秒あたりのユーザーあたりのリクエストなど、さまざまな方法でリクエストを明示的に制限できます。上限を設定して、課金対象の使用を制限することができます。たとえば、無料の無料使用制限を超えて使用料金が請求されるのを防ぐために、1日あたりのリクエスト数の上限を設定できます

差出人: https://cloud.google.com/apis/docs/capping-api-usage

2
Florian

Googleのドキュメントには、GCPプロジェクトのコストを実際に制限する2つの方法が用意されていることがわかりました。次の設定が必要です。

  1. 予算に対してコストをチェックする であるCloud関数を作成し、コストが予算を超えた場合に特定のアクションを実行します。 Googleのドキュメントには サンプル コードの一部が用意されており、プロジェクトのすべてのVMインスタンスをシャットダウンするか、プロジェクトの課金を無効にできます。すべてのVMをシャットダウンすると、すべてのVMが停止します-関連するコストですが、データを保持することができます(それでもストレージの料金を支払う必要があります)。プロジェクトの課金を無効にすると、すべてのコスト関連のアクティビティが効果的に失われ、データが失われる可能性があります。CloudFunctionに「budget-enforcer」という名前を付けることができます」.
  2. 上記のGoogleコードスニップには、ハードコードされたZONE変数があります。ゾーンに合わせて変更してください。
  3. Cloud Function「budget-enforcer」を実行するためのサービスアカウントを作成します。 VMをシャットダウンするには、サービスアカウントに役割「コンピューティングインスタンス管理者(v1)」が必要です。プロジェクトの課金を無効にするには、サービスアカウントに「プロジェクト課金マネージャー」の役割が必要です。
  4. Cloud Functionのトピックを設定します(私は「proj-name-stop-vm」と「proj-name-disable-bill」を呼び出します)。
  5. 通常どおりに予算アラートを設定し、上記のPub/Subトピックのいずれかに接続します。

Googleのドキュメントには、コストが予算を超えて関数がトリガーされるまでに遅延が生じる可能性があると記載されているため、絶対的なハードコスト制限がある場合は、バッファーを組み込む必要があります。私はインスタンスのシャットダウンのトリガーラインとして予算の90%を使用しています。

1
Yan Li