零基础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云开发/云架构方案!

相关推荐
hyswl66617 小时前
郑州小程序开发公司推荐:详解火焰山科技
科技·小程序
wanhengidc18 小时前
网站服务器都有哪些作用?
运维·服务器·科技·智能手机·云计算
飞睿科技18 小时前
【IoT开发选型】乐鑫ESP32-S3核心优势解析:为何它是AIoT应用的“全能王”?
科技·嵌入式硬件·物联网·智能家居
物联网软硬件开发-轨物科技18 小时前
【轨物交流】海盐县组织部调研轨物科技 深化产学研用协同创新
人工智能·科技
原神启动119 小时前
云计算大数据——Nginx入门篇( Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装)
大数据·http·云计算
sweet丶19 小时前
适合iOS开发的一种缓存策略YYCache库 的原理
算法·架构
hour_go20 小时前
《微服务系统故障诊断》:核心概念、技术流派与未来展望
微服务·云原生·架构
shenghuiping200120 小时前
AWS S3 上的object 创建和删除的触发告警
云计算·aws·lambda·bucket·size·object 创建
ZePingPingZe20 小时前
分布式、Spring Boot微服务、垂直拆分、水平拆分、分库分表详解及关系梳理
分布式·架构
生成论实验室21 小时前
宇宙生成信息编码:易经六十四卦的数学表述与生成论物理学阐释
人工智能·科技·神经网络·信息与通信·几何学