AWS。成本优化--AWS的服务费用概览和流量成本

2,882 阅读11分钟

让我们继续进行关于AWS成本优化主题的旅程。之前的部分--AWS。成本资源管理器--在CloudWatch日志的例子上检查成本AWS:成本优化--购买RDS保留实例

基于云的架构的缺点之一是,它的成本可能比使用自己的裸机服务器时高得多。在这种情况下,云供应商可能有一个混乱的计费方案,你将为使用的资源、流量等付费。

因此,在这篇文章中,我们将尝试了解--在使用亚马逊网络服务时要支付什么,并在下面的部分将检查有用的AWS服务,以控制和优化AWS环境,如成本资源管理器、可信顾问、计算优化器、AWS预算等。

AWS的成本类别

所有的成本都可以分成三个主要组别--计算存储数据传输

  • 计算:对使用的CPU和内存容量的租金收费,价格取决于使用的实例类型
  • **存储:**对存储的数据进行收费
  • 数据传输:在大多数情况下,入站流量或同一AWS区域的服务之间的流量是免费的,但有例外。实际上,AWS上的流量费用将在本文章的AWS数据传输费用部分详细描述 UPDATE

而我要增加一个数据处理的类别:这将包括HTTP(S)请求和AWS服务的数据处理的费用。

了解了这些类别,就会很容易理解你在AWS上支付的费用。

让我们通过服务实例来仔细看看。

  • 计算。
    • 实例使用时间*(EC2、RDS、Redshift)*
    • 无服务器计算*(Lambda)*
    • T-family实例的CPU点数使用("T2/T3/Т4无限模式")(EC2、RDS、Redshift)
    • 支付类型 - 按需、现货、保留等*(EC2、RDS)*
    • 部署类型 - 一个或多个可用性区域*(RDS)*
    • 实例类型和它的CPU和RAM容量
  • 存储。
    • 弹性块存储(EBS)。
      • 读/写操作的数量
      • 使用的数据存储
      • 数据传输
      • 快照存储(通过S3价格)
      • 磁盘类型 - SSD, HDD
    • 简单存储服务(S3)。
      • 存储类型*(标准、不经常访问、冰川*)。
      • 存储对象的数量
  • 数据传输。
    • 发送的数据*(NAT网关,LoadBalancer,EC2/EBS,S3*)
  • 数据处理。
    • 接收和/或处理的数据量*(Kinesis、CloudWatch Logs)*
    • 处理的HTTP(S)请求的数量*(CloudFront, API Gateway*)。

此外,我们还要为以下情况收取额外费用。

  • 对AWS API的API请求(CloudWatch指标收集、CloudTrail事件)
  • AWS Marketplace许可证
  • 以及针对某项AWS服务的额外费用,如AWS WAF WebACL中的一些规则,会影响WAF的收费,RDS Insights,EC2的扩展CloudWatch监控,等等。

AWS服务支付表

让我们把主要的AWS服务收集到一个表中,看看我们在使用一个服务时要支付什么费用。

AWS服务计算存储数据传输数据处理评论
EC2- 每分钟对运行中的实例- 见EBS- 出境数据传输-- 价格取决于定价模式(按需、保留、现货、节约计划)。
EBS-- 每GB存储在EBS上
- 快照存储(在S3)每GB
- I/O操作
- 快照传输到AWS S3(如果是跨区域的)。- 每MB/s (对于gp3)- 价格取决于EBS类型(SSD支持,HDD支持
- EBS快照存储收费
RDS- 在运行的实例上每分钟- 每GB存储
- I/O操作
- 备份(快照)存储
- 快照导出到S3
- 向外传输数据
-- 价格取决于单AZ或多AZ部署模式
- 跨AZ复制数据传输是免费的
S3-- 每GB存储
- 每个存储对象的数量
- 外向数据传输- 请求数(PUT, COPY, POST, 等)

- 额外的管理,如S3库存,分析,对象标签

- 取决于存储类别(S3标准,S3冰川等)
- 在同一AWS区域的S3桶之间的数据传输是免费的
- 在同一AWS区域从S3到AWS服务的数据传输是免费的
CloudFront--- 从边缘位置到互联网的数据传输
- 从边缘位置到原点的数据传输
- HTTP或HTTPS请求的数量- 价格取决于价格等级(所有价格等级,200价格等级,100价格等级)。
兰姆达- 在函数执行过程中每秒使用的计算时间
- 函数调用的数量
- 使用的内存
- 提供的并发量
-- AWS地区的出站数据传输-- Lambda和一些AWS服务之间的数据传输是免费的

AWS数据传输成本

让我们来讨论一下最有趣的话题:在AWS上发送流量时,我们要为什么付费?

一般来说,AWS上的流量可以分为两部分 - 亚马逊网络服务和互联网之间,以及AWS网络内部。另外,流量的价格可以根据它的方向而不同 - 进入同一个或另一个可用区、AWS VPC或AWS区域。

因此,请记住,。

  • 所有向外的流量将对所有具有弹性网络接口(EC2、ALB)的服务进行收费
  • 所有跨可用性区域的流量
  • 所有跨区域的流量

互联网上的AWS数据传输

从互联网进入AWS的入站流量

几乎所有从互联网到AWS云的入站流量都是免费的。

反之亦然--几乎所有的出站流量都会花费我们一些钱。

从AWS云到互联网的出站流量

从AWS账户到互联网的出站流量将按AWS区域价格计费,因为它们是不同的。请看亚马逊EC2按需定价>数据传输--数据从互联网传输到亚马逊EC2数据从亚马逊EC2传输到互联网

另外,当AWS将向您收取出站流量时,它将汇总您账户中以下服务的出站流量。

  • 亚马逊RDS
  • 亚马逊Redshift
  • 亚马逊SES
  • 亚马逊SimpleDB
  • 亚马逊EBS
  • 亚马逊S3
  • 亚马逊冰川
  • 亚马逊SQS
  • AWS存储网关
  • 亚马逊SNS
  • 亚马逊DynamoDB
  • 亚马逊CloudWatch日志

在AWS云内的数据传输成本

区域间数据传输

AWS区域之间的数据传输将按源区域的价格收费。在Amazon EC2 On-Demand Pricing > Data Transfer页面中的Data Transfer OUT From Amazon EC2 To的同一个表格中,你可以看到每个地区的价格。

例如,我们在us-east-2俄亥俄州有一个S3桶,它有S3复制配置到us-west-1北加州的一个桶,见AWS。S3跨区域复制与DeleteMarkers设置的更多细节。 在这种情况下,我们将按us-east-2, Ohio的价格收费。

AWS区域和直接连接地点之间的数据传输

虽然主要规则是传入的流量是免费的,但对于Direct Connet来说,有一个例外,因为它的传入流量将被收费,并且取决于源和目标区域的价格。请看AWS直接连接的数据转出(DTO)价格

例如,从俄亥俄州到北加州的直接连接的数据传输将花费每GB 0.0200美元,而从俄亥俄州到爱尔兰,eu-west-1 - 每GB发送0.0282美元。

CloudFront边缘位置和AWS区域之间的数据传输

CloudFront的边缘位置是AWS数据中心,用于存储从源头获得的信息。

在这里,我们要支付的是。

  1. 从边缘位置到互联网的数据传输
  2. 从Edge地点到起源地的数据传输
  3. 处理的HTTP(S)请求的数量

再说一遍--价格将取决于源地和目标地区,更多信息请看Amazon CloudFront定价

在AWS区域内的AWS数据传输

当AWS服务在同一AWS区域的范围内进行通信时,一些流量也会被收费。

  • 亚马逊EC2、AWS容器、亚马逊RDS、亚马逊Redshift、亚马逊DynamoDB加速器(DAX)、亚马逊ElastiCache实例或不同可用区之间的弹性网络接口之间的数据传输,无论它是通过公共或私人IP发送,还是使用弹性IPv4,都将在两个方向上花费每GB 0.01美元

例如,我们从VPC-1的Redshift集群发送500GB到同一VPC的EC2实例,但相邻的可用区 - 在这种情况下,我们将对从VPC-1发出的流量收取5美元,对进入VPC-2的流量收取另外5美元。

  • 在同一可用区VPC的EC2实例、容器或弹性网络接口之间使用公共IP或弹性IP进行数据传输,每个方向的费用为0.01美元/GB

如果你有两个EC2,每个都有自己的弹性IP连接 - 那么我们将收取数据传输的费用。

  • 在同一可用区和同一VPC的EC2实例、容器或弹性网络接口之间使用私有IP进行数据传输是免费的。

这里很简单:只在VPC内使用私有IP,不要通过AZ边界--你就不用付钱了。

  • 不受可用区或VPC限制的AWS服务(如AWS S3、DynamoDB、SES、Kinesis等)与同一AWS区域的EC2实例或其他服务之间的数据传输是免费的。

另外,对于使用多AZ部署的服务,如Amazon Aurora、Amazon Neptune和Amazon RDS,一些跨AZ流量是免费的。

另外,在同一AWS区域的经典或应用负载平衡器和EC2之间的流量也是免费的。

AWS流量计费图

在写这篇文章的时候,我在网上搜了很多资料,都没有得到类似于AWS流量计费地图的说明性演示。我找到的唯一东西是AWS博客上的《常见架构的数据传输费用概览》。

因此,在下面的方案中,我试图展示哪些流量将在AWS上收费。

让我们从一个 "入口 "开始逐步检查 - 区域1和AZ-1的负载平衡器。

Region-1, Availability Zone-1:

  1. LoadBalencer传入的流量是收费的(因为LCU包括处理的字节数)
  2. 然后,如果流量从ALB到EC2 - 它是免费的
  3. EC2通过NAT网关发送响应,在此期间,EC2和NAT网关之间的数据传输是免费的,但NAT网关的出站流量将被计费
  4. EC2向同一AWS区域内的CloudFront边缘位置发送数据,这是免费的,但从CloudFront向访问者发送数据是收费的
  5. 从CloudFront边缘位置到EC2的数据流量将被计费
  6. EC2和同一地区的S3之间的数据传输是免费的
  7. EC2通过VPC对等连接与正常AZ中的RDS主实例进行对话 - 这也是免费的
  8. EC2通过VPC对等连接与另一个AZ的RDS Slave对话--这将是收费的(跨AZ)。
  9. 在同一AWS区域的RDS主实例和其RDS从实例之间的复制流量是免费的

Region-1, Availability Zone-2:

  1. 从AZ-2的EC2到AZ-1的EC2的数据流量是收费的,因为它是跨AZ的流量。
  2. 在AZ-2的EC2和RDS Slave之间的流量是免费的
  3. 但从EC2和RDS主站的流量将被收取费用,因为它也是跨A区的。

区域-2,可用区-3。

  1. 从该区域的EC2到区域1的EC2的出站流量将被计费,因为这是跨区域的传输。
  2. 从本区域的EC2到区域1的S3桶的出站流量将被计费,因为这是跨区域的传输。

AWS流量建议

  • 尽量将您的所有工作负载保持在同一个AWS区域,如果需要使用其他区域,请选择价格最低的区域。
  • 尽量将你的所有工作负载保持在同一个可用区和VPC中,并使用私有IP进行连接
  • 避免使用NAT网关,因为它是按出站流量收费的。在可能的情况下,使用互联网网关。
  • 如果你需要向用户发送数据,请使用CloudFront--与直接从EC2实例发送流量相比,它的速度更快,费用更低。

有用的链接

类似的帖子

The postAWS:成本优化--AWS中的服务费用概述和流量成本首次出现在RTFM:Linux、DevOps和系统管理上。