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

相关推荐
桌面运维家10 分钟前
vDisk云桌面:IDV架构Windows安全域部署与策略实践
安全·架构
宠友信息24 分钟前
面向多端部署的社区平台技术方案:uniapp 与java微服务架构的工程化实践
java·微服务·微信·架构·uni-app·springboot
Loo国昌1 小时前
RAG 第一阶段:前沿技术剖析与环境搭建
人工智能·后端·语言模型·架构
踏浪无痕2 小时前
SQLInsight:一行依赖,自动追踪API背后的每一条SQL
后端·架构·开源
架构师沉默2 小时前
一个很多人没想过的问题:为什么编程语言有 for,还要设计 while?
java·后端·架构
周杰伦fans3 小时前
如何在业务压力、技术债务与优雅架构之间找到平衡点
架构
桌面运维家3 小时前
Windows vDisk云桌面:VOI架构优化部署实战
windows·架构
Python_Study20255 小时前
企业级数据采集系统选型指南:从技术架构到实战解决方案剖析
架构
roman_日积跬步-终至千里5 小时前
【大数据架构:架构思想基础】Google三篇论文开启大数据处理序章:(数据存储)分布式架构、(数据计算)并行计算、(数据管理)分片存储
大数据·分布式·架构
小股虫5 小时前
数据库外科手术:一份拖垮系统的报表,如何倒逼架构演进
数据库·微服务·设计模式·架构·方法论