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

简介:

欢迎来到小李哥全新亚马逊云科技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
  1. 接下来我们创建一个Price Group, 用来对同一类的一组服务资源成本统一分析
  1. 接下来我们为这个Group添加服务资源。
  1. 以我们添加EC2服务为例,我们点击配置我们要添加的EC2信息
  1. 我们先选择我们EC2所在的区域,如"US East (Virginia)".

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

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

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

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

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

  1. 由于在亚马逊云科技上,出系统的流量请求需要收费,我们这里需要添加出系统每月的流量大小。如 1TB per month。
  1. 最终我们即可看到最后的计算结果,总成本为每个月99.33刀美元

代码创建Pricing Calculator Estimator

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

python 复制代码
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云开发/云架构方案!

相关推荐
誰能久伴不乏2 小时前
桌面客户端的运行日志系统:SQLite 分块 + 独立写线程 + 文本降级
数据库·c++·qt·架构·sqlite
未来之窗软件服务8 小时前
终端优先同步架构终端场景下轻量化、高可用通信模型-东方仙盟
架构·东方仙盟·阿雪技术观·网络震荡·dns污染·数据中继器·边界网关
yyuuuzz11 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
坐看风云变幻14 小时前
《系统架构师成长之路》第 8 期|微服务:单体拆分的时机、粒度与通信
微服务·架构·系统架构
尺度商业14 小时前
科技牛错杀与换挡的底层逻辑
人工智能·科技
Figo_Cheung16 小时前
Figo潜空间层级认知理论:基于齐夫拓扑与黎曼几何的结构化模型研究
人工智能·架构·空间计算
小草cys16 小时前
玄工科技XUANGONG TECH ·把科研级技术能力 交付为可落地的产品
人工智能·科技·可信计算技术·玄工科技
洞见前行16 小时前
用 Tinker 热更新反向实现插件化:两个独立 APK 合二为一的原理详解
架构
这个DBA有点耶16 小时前
分布式集群的“最后一公里”:分片集群与透明分布式集群的工程代价拆解
数据库·分布式·架构
林伽一18 小时前
训练断网、部署上门槛:AI 基础设施的两道新闸门|2026年10月25日
人工智能·科技·安全·ai·1024程序员节