零基础5分钟学会谷歌云GCP核心云架构技能 - 成本分析篇

news2024/9/21 10:10:45

简介:

欢迎来到小李哥谷歌云GCP云计算知识学习系列,适用于任何无云计算或者谷歌云技术背景的开发者,让大家零基础5分钟通过这篇文章就能完全学会谷歌云一个经典的服务开发架构方案。

我将每天介绍一个基于全球三大云计算平台(AWS, Azure, GCP)的全球前沿云开发/架构技术基础解决方案,帮助大家快速了解国际上最热门的云计算平台上的最佳实践和前沿技术,并应用到自己的日常工作里。本次我将介绍如何在谷歌云上对云计算采购资源成本进行分析并生成报告。

方案所需基础知识 

Google Cloud 成本管理工具介绍

Google Cloud 提供了一系列强大的成本管理工具,帮助用户有效地跟踪、控制和优化在云上的支出。这些工具旨在为企业提供透明的成本分析和预测能力,确保云资源的使用与预算和业务目标相一致。

成本分配标签

用户可以为不同项目、部门或应用程序创建自定义标签,精确跟踪和分配云资源的费用,帮助企业更好地理解各个业务单元的支出情况。

预算和警报

Google Cloud 提供了预算设置和支出警报功能,用户可以为特定项目或服务设定预算上限,并在接近或超出预算时收到自动通知,防止超支情况的发生。

成本分析报告

借助成本分析工具,用户可以生成详细的费用报告,查看历史支出趋势,识别成本驱动因素,并发现优化机会。

推荐优化建议

Google Cloud 提供了资源优化建议,帮助用户发现未充分利用的资源,并提供具体的优化措施,如调整虚拟机规模、释放闲置资源等,从而最大化成本效益。

费用预测

通过成本预测工具,用户可以基于历史使用数据预测未来的云支出,帮助企业进行更精准的财务规划和资源管理。

为什么需要对云资源成本进行预估?

成本管理

预算控制:

通过预估云资源的使用成本,企业可以更好地制定和控制预算,避免超支情况的发生。了解不同配置和使用量对成本的影响,可以帮助企业优化资源配置。

费用分摊:

对于需要在不同部门或项目之间分摊云资源成本的企业,预估成本可以提供准确的费用分摊依据,确保各部门或项目的成本负担合理、公正。

资源规划

资源优化:

通过预估不同配置和使用模式的成本,企业可以优化资源使用,选择性价比最高的配置和服务,提升资源利用率,降低不必要的开支。

规划与调整:

预估成本可以帮助企业在实施云迁移或扩展计划时进行科学规划。了解不同方案的成本,可以帮助企业在规划阶段做出更明智的决策,并在需要时及时调整资源配置。

投资回报分析:

预估成本是进行投资回报分析的重要步骤。企业可以通过比较预估成本和预期收益,评估云项目的经济效益,做出更有价值的投资决策。

风险管理

规避风险:

通过详细的成本预估,企业可以提前识别和规避潜在的成本风险,避免由于资源使用过度或不合理配置带来的高额费用。

决策支持:

预估成本提供了决策支持的数据基础,帮助企业在进行云服务选择、配置调整和扩展计划时做出更稳妥的决策,降低决策风险。

本方案包括的内容:

1. 在Billing账户中查看账单用量图表

2. 通过筛选器分析云资源用量趋势

3. 探索各个服务账单用量成本占比

4. 查看云资源成本总结

成本分析具体步骤:

1. 进入谷歌云控制台,打开Billing服务,点击Reports报告。我们可以看到本月的云资源花销,以及本月预测的花销。

2. 同时我们可以看到本月花销的趋势图,点击某天的数据点可以得到当天花销。

3. 在趋势图底部显示了按照项目划分的每个项目的花销。

 

4.我们用右侧侧边栏的筛选器,选择“invoice month”并选择6月,可以筛选出特定月份范围内的成本趋势和数据。

5. 接下来我们按照特定日期范围筛选出我们的成本趋势,并按照区域进行划分,我们可以得到在us-central1和us-west1不同区域的成本总量。

6. 接下来我们查看哪个云服务在云资源成本中占据最大的用量。我们找出趋势图中的成本增长异常的部分,在本图中为“CTO-Dev”,接下来我们选中该项目,并且点击group by “Service”,则可以看到按照服务类型划分的用量。

 7. 最后我们进入Billing中的Cost breakdown功能中,可以获得我们的特定时间段内的总成本分析报告,包括用量和抵价券使用情况。

如何利用谷歌云Python SDK获取成本分析报告?

from google.cloud import bigquery

# 创建 BigQuery 客户端
client = bigquery.Client()

# 定义你的 Billing 数据集和表的名字
dataset_id = 'your_billing_dataset_id'  # 替换为你的数据集ID
table_id = 'your_billing_table_id'      # 替换为你的表ID

# 定义查询以获取 billing 报告
query = f"""
    SELECT
        billing_account_id,
        service.description as service_description,
        sku.description as sku_description,
        usage_start_time,
        usage_end_time,
        cost,
        currency,
        project.name as project_name
    FROM
        `{dataset_id}.{table_id}`
    WHERE
        cost > 0  -- 过滤掉没有成本的行
    ORDER BY
        usage_start_time DESC
    LIMIT 100  -- 限制返回结果的数量
"""

# 运行查询
query_job = client.query(query)

# 获取结果
results = query_job.result()

# 输出查询结果
for row in results:
    print(f"Billing Account ID: {row.billing_account_id}")
    print(f"Service: {row.service_description}")
    print(f"SKU: {row.sku_description}")
    print(f"Usage Start: {row.usage_start_time}")
    print(f"Usage End: {row.usage_end_time}")
    print(f"Cost: {row.cost} {row.currency}")
    print(f"Project Name: {row.project_name}")
    print("-" * 40)

解释:

  • BigQuery 客户端:通过 bigquery.Client() 创建一个 BigQuery 客户端,用于与 BigQuery 数据库进行交互。
  • SQL 查询:在 query 变量中定义了一个 SQL 查询,用于从 GCP 的 Billing 数据表中获取相关的账单信息。查询结果包括账单账号 ID、服务描述、SKU 描述、使用时间范围、成本、货币类型和项目名称等信息。
  • 查询执行与结果处理:通过 client.query(query) 执行查询,并使用 result() 方法获取查询结果。然后通过循环将结果逐行输出。

 

以上就是在谷歌云GCP上对账单成本分析的全部步骤。欢迎大家关注零基础5分钟上手谷歌云系列,未来获取更多国际前沿的谷歌云GCP云开发/云架构方案!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2033031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于单片机的智能风扇设计

摘 要: 传统风扇无法根据周围环境的温度变化进行风速的调整,必须人为地干预才能达到需求 。 本文基于单片机的智能风扇主要解决以往风扇存在的问题,其有两种工作模式: 手动操作模式和自动运行模式,人们可以根据需要进行模式选择。 在自动运行…

TIM定时器 溢出时间计算

在f1系列,所有定时器的时钟源频率都是72mhz,因为不管是挂在apb1还是apb2时钟总线上的定时器,经过倍频或者不倍频以后都将把定时器的频率设置成72mhz 时钟源频率除以psc1以后得到实际的频率,之所以psc要加1,是因为设置…

无人机测绘技术如何?

无人机测绘技术作为现代测绘技术的重要组成部分,正以其独特的优势在多个领域发挥着重要作用。以下是对无人机测绘技术的详细分析: 一、技术特点 1. 高精度:无人机测绘搭载高精度传感器和相机,能够快速、准确地获取地面信息&…

Datawhale X 魔搭 AI夏令营第四期-魔搭生图task1学习笔记

根据教程提供的链接,进入相应文章了解魔搭生图的主要工作是通过对大量图片的训练,生成自己的模型,然后使用不同的正向、反向提示词使模型输出对应的图片 1.官方跑baseline教程链接:Task 1 从零入门AI生图原理&实践 2.简单列举一下赛事的…

【Material-UI】Floating Action Button (FAB) 详解:基础用法

文章目录 一、Floating Action Button (FAB) 简介1. FAB 的定义2. FAB 的特点 二、Basic FAB 的基础用法1. 基础 FAB 按钮2. 次要颜色的 FAB 按钮3. 扩展变体的 FAB 按钮4. 禁用状态的 FAB 按钮 三、FAB 按钮的高级自定义1. 自定义按钮大小2. 调整按钮的悬浮位置 四、FAB 的无障…

研究报告系列二:供应链安全风险原因分析及相关新质生产力重要技术探讨

随着软件开发的复杂性和动态性不断增加,软件供应链的安全风险成为了一个亟需重视的重要议题,而在技术的飞速发展和广泛应用下,新质生产力相关领域同样存在着软件供应链安全方面的问题,作为《2023软件供应链安全研究报告》系列中的…

js逆向——2024最新金山词霸(练习二)

首先还是看响应,返回了一串加密数据 继续放大招hook JSON,详细流程在上一篇文章 然后直接跟栈找到解密位置 var t 1 (null e || void 0 e ? void 0 : e.status) ? A(A({}, e), {}, {content: JSON.parse((0,_.B6)(e.content))}) : e; t是解密之后…

护眼大路灯哪个牌子好?公认五款最好护眼大路灯分享

护眼大路灯哪个牌子好?很多家长都是为了孩子的视力健康而置换的护眼大路灯,但是有一部分孩子用了之后反而会和家长说出现眼睛不太舒服,甚至近视加深的情况。而引发这种情况的大多数为产品不达标或非专业台灯,因为专业护眼大路灯是…

白屏检测系统的设计与实现

目录 一、 什么是白屏问题?二、 问题分析与拆解2.1 人工判定一个白屏问题的逻辑2.2 自动化判定一个白屏问题的算法思想 三、 白屏检测算法3.1 图像灰度化3.2 图像二值化3.3 计算(判定为白屏)置信度 四、 白屏检测系统的设计与实现4.1 UI自动化…

某通用系统0day审计过程

前言 代码审计篇章都是自己跟几个师傅们一起审计的1day或者0day(当然都是小公司较为简单),禁止未经允许进行转载,发布到博客的用意主要是想跟师傅们能够交流下审计的思路,毕竟审计的思路也是有说法的,或者是相互源码共享也OK&…

51单片机之动态数码管显示

一、硬件介绍 LED数码管是一种由多个发光二极管(LED)封装在一起,形成“8”字型的显示器件。它广泛用于仪表、时钟、车站、家电等场合,用于显示数字、字母或符号。 通过控制点亮a b c d e f g dp来显示数字,本实验开发板…

最长的一帧学习(待补)

文章目录 一、osgViewer:: ViewerBase:: frame()1.osgViewer:: View:: init()2.osgViewer::Viewer::realize(),窗口和场景的“设置”工作part1 GraphicsContextpart1.1 通过阅读osgViewer::View::setUpViewInWindow()了解osg最基础的操作 part2 DisplaySettingspart…

《机器学习by周志华》学习笔记-决策树-03

1、连续值处理 到目前为止,我们在决策树01、02中仅讨论了基于离散属性来生成决策树,而现实任务中常会遇到连续属性,所以在本章的学习中,我们将会讨论如何在决策树学习中使用连续属性。 1.1、概念 取值范围是连续的实数值或者整数值的属性就是「连续属性」,与离散属性相对…

Java全栈开发知识图谱(概要)

Java全栈开发知识图谱 基础知识 Java基础 语法面向对象编程(OOP)异常处理集合框架并发编程JVM原理 下列的只是图谱来源与网路 ,仅作为学习笔记使用,侵删。 数据结构和算法 常用数据结构(数组、链表、栈、队列、树等…

通过提示词越狱解锁学习提示词的新姿势

一、什么是提示词越狱 提示词越狱是一种针对语言模型的攻击方法,攻击者通过设计特定的提示词或查询,诱导模型生成不当或有害的内容。这类攻击通常利用模型的脆弱性,绕过其内置的安全机制。通过巧妙的措辞或特殊的结构,攻击者能够…

【ML】为什么multi-lingual bert 有跨语言的能力?M-BERT有什么特点

【ML】为什么multi-lingual bert 有跨语言的能力? 1. Multi-lingual BERT的跨语言能力解析1.1 什么是Multi-lingual BERT?1.2 为什么Multi-lingual BERT有跨语言的能力?1.3 结论 2. 数据量减少对BERT识别能力的影响及Multi-lingual BERT的跨…

删除git中的.idea

删除git中的.idea 1. 修改 .gitignore 文件内容,添加 .idea echo .idea >> ./gitignore2. 删除本地暂存区的 .idea [git rm命令用于从Git仓库中删除文件或目录, 而--cached选项告诉Git仅删除Git索引中的.idea目录,并不会删除本地文件系…

【大数据】重塑时代的核心技术及其发展历程

🐇明明跟你说过:个人主页 🏅个人专栏:《大数据前沿:技术与应用并进》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是大数据 2、大数据技术诞生的背景 二、大…

Java并发编程(七)—ThreadLocal的原理及应用详解

目录 一、ThreadLocal的原理 1、ThreadLocal对象 2、ThreadLocalMap 3、Thread 对象 4、get() 和 set() 方法 5、内存管理 二、ThreadLcoal的应用 三、ThreadLocal扩展问题 四、总结 ThreadLocal 类在 Java 中提供了一种机制,可以在每个线程中存储独立的变…

【Python】基础语法介绍

目录 一、标识符和关键字 二、注释 三、缩进 四、输入和输出 五、字符串操作 六、基本数据类型 七、复合数据类型 7.1 列表 7.2 元组 7.3 字典 7.4 集合 八、数据类型转换 九、运算符 8.1 算术运算符 8.2 比较运算符 8.3 赋值运算符 8.4 位运算符 8.5 逻辑运…