在 per-user/per-run 基础上实施 GCP 计费的策略是什么?
What's a strategy for implementing GCP billing on a per-user/per-run basis?
我们正在开发一种在 GCP 上自动化 运行ning Dataproc 的过程(从启动集群到提交作业,再到终止集群的所有过程)以进行基因组分析。最终,我们想知道 Dataproc 的这些自动化“运行”中的每一个花费了多少,尤其是当我们向其他用户开放我们的程序时。因此,我们还希望(如果可能的话)自动化将 Dataproc 成本归因于特定 GCP 用户(“运行”)的过程。这样,在每个月底,我们就可以看到每个用户花费了多少,特别是用于什么个人项目。实施这个的好策略是什么?
我考虑过为每个 user/client 创建一个单独的 GCP 项目并将它们绑定到特定的计费帐户,但是否有更好的管理方法?
推荐的方法是将标签应用于您的资源 [1]。账单数据可以通过标签进行过滤和细分 [2].
在您的示例中,用户和客户端都是集群和作业资源上的标签。仅对集群资源计费。
如果您的自动化真的只是一次性 create-cluster/submit-job(s)/删除集群流程,那么请考虑 Workflow Templates 将其自动化。具体来说,内联模板是为这种自动化量身定制的。
[2] https://cloud.google.com/billing/docs/how-to/export-data-bigquery
我们正在开发一种在 GCP 上自动化 运行ning Dataproc 的过程(从启动集群到提交作业,再到终止集群的所有过程)以进行基因组分析。最终,我们想知道 Dataproc 的这些自动化“运行”中的每一个花费了多少,尤其是当我们向其他用户开放我们的程序时。因此,我们还希望(如果可能的话)自动化将 Dataproc 成本归因于特定 GCP 用户(“运行”)的过程。这样,在每个月底,我们就可以看到每个用户花费了多少,特别是用于什么个人项目。实施这个的好策略是什么?
我考虑过为每个 user/client 创建一个单独的 GCP 项目并将它们绑定到特定的计费帐户,但是否有更好的管理方法?
推荐的方法是将标签应用于您的资源 [1]。账单数据可以通过标签进行过滤和细分 [2].
在您的示例中,用户和客户端都是集群和作业资源上的标签。仅对集群资源计费。
如果您的自动化真的只是一次性 create-cluster/submit-job(s)/删除集群流程,那么请考虑 Workflow Templates 将其自动化。具体来说,内联模板是为这种自动化量身定制的。
[2] https://cloud.google.com/billing/docs/how-to/export-data-bigquery