Google Developers Console中的某些功能(如Analytics API)在您达到配额之前是免费的。其他功能(如Google云端存储)会在首次点击时产生费用。
当我在https://console.developers.google.com/ > Storage > Cloud Storage > Storage Browser
下上传文件并将此文件公之于众时,我支付每GB流量约0.12美元。
但理论上,此链接的流量可能会爆炸,例如因为突然受欢迎。因此,我想设置每日或每月的成本限制。
问:如何保护自己免受Google Developers Console中过高的成本影响?
答案 0 :(得分:15)
你做不到。从2016年5月7日起,我向谷歌询问了这一点,以下是他们的回复:
(GCE = Google云引擎。没有支出限制。
GAE =谷歌应用引擎 - 是的它有支出限制。)
...您有资格获得支持...仅... ... ... [各种有用的链接] ......
据说,目前没有任何功能允许你这样做 在GCE上配置有限的预算。这个功能当然可用 对于GAE [1]。正如你在评论中提到的,你要么完全可以 关闭虚拟机(取决于您的使用案例)或将虚拟机设置为 如果达到特定流量限制,则会向您发送提醒[2]。
此致
某人的名字
技术解决方案代表
Google云端平台[1] https://cloud.google.com/appengine/docs/quotas
[2] https://cloud.google.com/monitoring/support/notification-options
@wmdry,你写道:“此链接的流量可能会爆炸” - 我也害怕这一点。这就是我向谷歌询问此事的原因。而且我计划因此而避开谷歌的CDN,而是使用另一个CDN提供商,它有支出限制。因为,与Nginx不同,我认为没有办法限制/限制谷歌的CDN。
我计划使用GCE(Google Cloud Engine)。因此,现在我正在阅读如何限制我的Nginx服务器的速率。因为如果我只是正确配置Nginx,那么你提到的那些$ 0.12 / GB,就不可能爆炸......就像一个月内的$ 10k一样?如果谷歌在几个星期的假期回来时发出1万美元的账单会怎么样呢,这只是因为我的爱好项目和一些人一遍又一遍地下载1 MB电影(因为:邪恶)。嗯,&更大的&我的服务器越快,风险就越高。
我希望Google会增加支出限额,因为我确实想要使用Google的CDN。
答案 1 :(得分:4)
只需访问开发者控制台:
https://console.developers.google.com/project
然后转到Compute / AppEngine / Settings并设置每日预算。
答案 2 :(得分:2)
截至2017年7月,您可以设置通过电子邮件发送通知的预算但不限制支出:
设置仅限提醒的预算,不会限制支出:
官方帮助页面:https://support.google.com/cloud/answer/6293540?hl=en
答案 3 :(得分:2)
API使用可以受到硬限制:
根据API,您可以明确限制各种请求的数量 方式,包括:每天的请求数,每100秒的请求数以及 每位用户每100秒请求数。您可能想限制 通过设置上限来计费。例如,为避免计费 对于超出免费使用限制的使用,您可以设置请求 每天上限
答案 4 :(得分:1)
我发现Google的文档现在提供了两种方法来实际限制GCP项目的成本。它涉及以下设置:
请注意,Google的文档确实提到成本超出预算和触发功能之间可能会有延迟,因此,如果您有绝对的硬成本限制,则应该在缓冲区中构建。我将预算的90%用作关闭实例的触发线。
答案 5 :(得分:1)
您可以将预算发布/订阅提醒与云功能相结合,如果达到阈值,则可以禁用整个帐户的计费。
完整教程在这里: https://www.youtube.com/watch?v=KiTg8RPpGG4
此处的 GitHub 存储库: https://github.com/aioverlords/Google-Cloud-Platform-Killswitch
禁用计费
const _disableBillingForProject = async projectName => {
const res = await billing.updateBillingInfo({
name: projectName,
resource: {
billingAccountName: ''
}, // Disable billing
});
console.log(res);
console.log("Billing Disabled");
return `Billing disabled: ${JSON.stringify(res.data)}`;
};
答案 6 :(得分:0)