使用 Cloud SQL 避免高昂的日常费用

Avoid high daily charges with Cloud SQL

所以我处于开发模式,在开发后的 10 天内,我收到了 300 美元 的账单 Google。

我做了什么:

  1. 创建了一个测试 table,并向其中添加了记录 - 文本和数字。
  2. 从我的 Mac 执行了多个查询,我会说 每天 100 次,持续 6 天
  3. 有一个 table 大约 100k 行和 6 列

这就是我对每个查询所做的(是否为每个查询重新连接成本更高?):

engine = sqlalchemy.create_engine('postgresql://' + username + ':' + password + '@' + host + ':' + port + '/' + database)
df = pd.read_sql_query(current_query, engine)
  1. 我一次写大约 2000 行(只有我自己),有时我会读几千行 - 为了开发。

你可以看到我的费用 and

  1. CPU24小时一直显示1.4%,我一直没用

我可以看到每天 RAM 的费用为 9 美元,CPU 的费用为 8 美元。收费是固定而且是每天收费,看来跟我的操作无关。

我和Google谈过,他们无法解释这笔费用,你在Console上也看不到这个。

我怎样才能准确了解他们向我收取的费用?好像是每日固定金额。

如果这就是 Google 的收费方式,想想 10k 用户(或更多)要花多少钱就很可怕

Cloud SQL 不会按您执行的查询收费,它会按您使用的实例收费。

这是在Cloud SQL docs中提到的,如@cory-kramer 所说:

Cloud SQL pricing is composed of the following charges:

  • CPU and memory pricing
  • Storage and networking pricing
  • Instance pricing

定价文档中的成本是每个 vCPU 每小时和每 GB 内存每小时。如果您使用 HA 实例,这些是双倍的。

从屏幕截图中,我可以说您创建了一个 HA Cloud SQL 实例,因为它显示 Regional(顺便说一句,没有必要隐藏 SKU,那些是public 并且每个人都一样)。

假设您在 us-central1 中有一个使用带有 4 个 vCPU 和 15 GB RAM 以及 10 GB 磁盘的 Postgres 的 HA 实例。

使用 GCP Calculator 我们得到 1 个实例每月 397.89 美元的估算值。

现在的后续问题可能是,“如果我只使用实例 1 天或 2 天,报告说我使用了超过 24 或 48 小时”。

原因是 vCPU 作为实例拥有的核心数倍增。这也适用于 RAM,它与 的充电方式非常相似。

公式为:

cpu_hours = vCPUs * 24 hrs * days instance was active

memory_hours = RAM * 24 hrs * days instance was active

为了避免大量费用,您可以 start/stop 每天实例化,或者如果这是一个开发实例,您可以将硬件减少到一个非常小的实例,例如 1 个 vCPU、0.614 GB 或最小的必要硬件来工作。您也可以 make it zonal(不是 HA)

价格也会根据创建的区域而变化。

我的建议是在创建资源之前充分了解定价以避免任何意外。我知道文档可能会令人困惑,但最好花些时间检查一下,以便优化预算。