零基础5分钟上手亚马逊云科技AWS核心云开发/云架构知识 - 成本分析篇

news2024/9/22 5:35:05

简介:

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

我将每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿云开发/架构技术基础解决方案,帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS最佳实践,并应用到自己的日常工作里。本次我将介绍如何分析和预估再亚马逊云科技上的成本,利用Price Calculator和AWS的成本模型合理评估所需云资源价格、发现降本机会并采购。

方案所需基础知识 

什么是亚马逊云科技 Price Calculator?

亚马逊云科技 Price Calculator(AWS Pricing Calculator)是亚马逊云科技提供的一个网页工具,帮助用户估算使用 AWS 服务的成本。用户可以根据自己计划使用的服务,输入相关配置和使用量,生成详细的成本预估报告,包括计算、存储、数据库、网络等,可以为企业和个人用户提供准确的成本预测。

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

成本管理

预算控制

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

费用分摊

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

资源规划

资源优化

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

规划与调整

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

投资回报分析

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

风险管理

规避风险

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

决策支持

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

本方案包括的内容:

1. 创建Price Group成本单元,对某一类的成本统一预估和计算

2. 预估EC2服务器的周成本、月成本和年成本

项目搭建具体步骤: 

1. 首先我们在网页打开AWS Pricing Calculator, 创建一个成本预估Estimate

2. 接下来我们创建一个Price Group, 用来对同一类的一组服务资源成本统一分析

3. 接下来我们为这个Group添加服务资源。

4. 以我们添加EC2服务为例,我们点击配置我们要添加的EC2信息

5. 我们先选择我们EC2所在的区域,如"US East (Virginia)".

 6. 接下来我们添加我们要创建的EC2服务器配置。如操作系统为“Linux”, WorkLoad类型为“每日会流量突增”,EC2开启的日期为每周周一到周五。

7. 添加EC2自动扩容的信息,平常为2台,高峰期为4台,高峰期持续8小时,

 8. 接下来配置服务器的大小类型,2核CPU,4GiB内存,类型为t2.medium。

9. 付款类型选用即用即付,用多少交多少的On Demand形式。

 10. 服务器硬盘类型为gp3,IOPS为30。

11. 由于在亚马逊云科技上,出系统的流量请求需要收费,我们这里需要添加出系统每月的流量大小。如 1TB per month。

12. 最终我们即可看到最后的计算结果,总成本为每个月99.33刀美元

代码创建Pricing Calculator Estimator

我们利用AWS boto3 SDK同样可以利用Python调用Pricing Calculator API进行成本的预估。示例代码如下:

import json
import boto3

def handler(event, context):
    instance_type = event['queryStringParameters']['instance_type']
    region = event['queryStringParameters']['region']
    hours = int(event['queryStringParameters']['hours'])

    pricing_client = boto3.client('pricing', region_name='us-east-1')

    response = pricing_client.get_products(
        ServiceCode='AmazonEC2',
        Filters=[
            {'Type': 'TERM_MATCH', 'Field': 'instanceType', 'Value': instance_type},
            {'Type': 'TERM_MATCH', 'Field': 'location', 'Value': region}
        ]
    )

    price_per_hour = json.loads(response['PriceList'][0])['terms']['OnDemand'][list(json.loads(response['PriceList'][0])['terms']['OnDemand'].keys())[0]]['priceDimensions'][list(json.loads(response['PriceList'][0])['terms']['OnDemand'][list(json.loads(response['PriceList'][0])['terms']['OnDemand'].keys())[0]]['priceDimensions'].keys())[0]]['pricePerUnit']['USD']

    total_cost = float(price_per_hour) * hours

    return {
        'statusCode': 200,
        'body': json.dumps({'total_cost': total_cost})
    }

以上就是在亚马逊云科技上利用Price Calculator对于云平台上的服务器成本进行预估的全部步骤。欢迎大家关注0基础5分钟上手AWS系列,未来获取更多国际前沿的AWS云开发/云架构方案!

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

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

相关文章

数据结构 - 相邻节点迭代器

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、相邻节…

nuxt3实战:完整的 nuxt3 + vue3 项目创建与useFetch请求封装

一. 安装 pnpm dlx nuxilatest init <project-name>// ornpx nuxilatest init <project-name>如遇到报错 手动安装&#xff1a; 浏览器访问报错https请求地址&#xff1a; 点击tar(项目初始文件的下载地址)对应地址,下载starter-3.tar.gz 包到本地 本地创建项…

【Android】使用网络技术——WebView的用法、http协议、OKHttp、解析XML、JSON格式数据笔记整理

WebView的用法 新建一个WebView项目 修改activity_main中的代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:id"id/main"and…

STM32F1之SysTick系统定时器详细解析

目录 1. 简介 2. SysTick功能框图 3. SysTick寄存器 3.1 SysTick控制及状态寄存器 3.2 SysTick重装载数值寄存器 3.3 SysTick当前数值寄存器 3.4 SysTick校准数值寄存器 4. SysTick定时时间计算 5. SysTick寄存器结构体 6. 写一个us级延时函数 7. 写一个…

240806-RHEL 无法通过 ssh username@ip 远程连接,报错:Connection closed by ip port 22

A. 原因排查 遇到这个错误通常意味着 SSH 服务可能在目标主机上没有正常运行&#xff0c;或有防火墙/网络配置问题。以下是一些排查步骤&#xff1a; 检查 SSH 服务状态&#xff1a; 确认 SSH 服务是否正在目标主机上运行。 sudo systemctl status sshd重启 SSH 服务&#xff…

探索 Python 异步通信的奥秘:WebSockets 库的神奇之旅

文章目录 探索 Python 异步通信的奥秘&#xff1a;WebSockets 库的神奇之旅背景&#xff1a;为何选择 WebSockets&#xff1f;什么是 websockets 库&#xff1f;安装 websockets 库5个简单的库函数使用方法场景应用示例常见问题与解决方案总结 探索 Python 异步通信的奥秘&…

用Manim实现三维坐标系的绘制

1.ThreeDAxes 函数 ThreeDAxes是 Manim 中用于创建三维坐标系的类。在manim中常用的三位坐标绘制函数是&#xff1a; class ThreeDAxes(x_range(-6, 6, 1), y_range(-5, 5, 1), z_range(-4, 4, 1), x_length10.5, y_length10.5, z_length6.5, z_axis_configNone, z_normala…

数据仓库怎么建设?一文详解数仓的建设过程!

随着信息技术的飞速发展&#xff0c;企业不仅需要存储和管理海量数据&#xff0c;更迫切需要从这些数据中提取有价值的信息&#xff0c;以支持复杂的决策制定过程。数据仓库不仅是存储数据的场所&#xff0c;更是支持复杂查询、报告和数据分析的强有力工具&#xff0c;其建设已…

JavaScript异步简介|Promise快速入门

异步&#xff08;Asynchronous, async&#xff09;是与同步&#xff08;Synchronous, sync&#xff09;相对的概念。 异步 JavaScript 简介 异步编程技术使你的程序可以在执行一个可能长期运行的任务的同时继续对其他事件做出反应而不必等待任务完成。与此同时&#xff0c;你…

Linux工具|运维工具rename常用命令详解

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注…

【vulnhub】Wakanda :1靶机

靶机安装 下载地址&#xff1a;https://download.vulnhub.com/wakanda/wakanda-1.ova 运行环境&#xff1a;Virtual Box 信息收集 靶机IP扫描 netdiscover -i eth0 -r 192.168.7.0/24 端口扫描 nmap -A 192.168.7.243 -p- 80端口开启了http服务&#xff0c;在3333端口开启…

案例研究丨盛泰光电携手DataEase实现数据驱动智能制造

盛泰光电科技股份有限公司&#xff08;以下简称为“盛泰光电”&#xff09;是中国第一批摄像头模组制造企业。自成立至今&#xff0c;一直专注于手机摄像头模组的研发、制造、销售与服务&#xff0c;并向非手机包括笔记本、车载、医疗、AIoT等领域延伸&#xff0c;形成以手机摄…

PHP + Laravel + RabbitMQ + Redis 实现消息队列 (二) 消费队列在RabbitMQ和redis中的简单使用

最简单的队列功能 RabbitMQ和消息传递通常会使用一些术语&#xff1a; 生产者&#xff08;Producer&#xff09;意味着发送消息。一个发送消息的程序称为生产者。队列&#xff08;Queue&#xff09;尽管消息通过RabbitMQ和您的应用程序流动&#xff0c;但它们只能存储在队列中…

数据结构(01):数据结构概述(基本术语、逻辑结构和物理结构)

1、数据结构概述 (1)基本术语 A.数据元素 具有一定意义的基本单位。如人类的数据元素是人&#xff08;张三、李四等&#xff09;。 B.数据项 可以看作是数据元素的属性。如人的属性&#xff08;姓名、年龄、身高等&#xff09; C.数据对象 性质相同的数据元素的集合。如某一栋…

群聊的创建 表情包发送 图片发送

目录 群聊&#xff1a; ​编辑 表情包发送&#xff1a; 图片发送&#xff1a; 群聊&#xff1a; 1.群资料的表groupinformation 字段&#xff1a;GroupId 群id&#xff0c;GroupName 群名&#xff0c;CreatTime 创群时间&#xff0c;CreatUserId 创群的人&#xff0c;…

萤石云 ezuikit-js创建的播放器实例esc取消全屏后变黑屏

原因&#xff1a;上层页面重新设置了容器的宽高&#xff0c;导致uikit退出全屏时宽高计算异常 解决方法&#xff1a;实例初始化的时候会传入宽高width、height&#xff0c;播放器的画面尺寸是根据这两个参数设置的&#xff0c;然后退出全屏会回到这两个值

计算机的错误计算(五十五)

摘要 展示大数的余弦函数值的错误计算。 根据国际IEEE 754 标准[1]&#xff0c;包括余弦在内的三角函数的定义域是整个实数范围&#xff1a; 但是&#xff0c;实际情况怎样呢&#xff1f; 例1. 计算 . 在 Python下计算&#xff1a; x30**65 print(x) import math print(ma…

只强的Java学习之路8-7

一. 安装配置nodejs npm create vitelatest npm install vue-router npm install axios npm install element-plus --save npm run dev https://element-plus.org/zh-CN/#/zh-CN 新建项目&#xff1a; easy.vue <script setup></script><!--绑定数据-->…

在vue中页面使用了动态组件组件导致首次页面加载时子组件样式不显示,刷新后才正常

问题&#xff1a; 在vue中页面使用了动态组件组件导致首次页面加载时子组件样式不显示&#xff0c;刷新后才正常。 原因&#xff1a; 因为动态组件的延迟加载&#xff0c;如果使用了Vue的动态组件&#xff08;如<component :is"...">&#xff09;&#xff0c;…

【代码随想录】有序数组的平方

本博文为《代码随想录》的学习笔记&#xff0c;原文链接&#xff1a;代码随想录 题目 977. 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输入&…