使用Kubecost管理EKS成本

EKS动手实验合集请参考这里

一、简介

Kubecost是基于OpenCost的云原生的成本管理工具。在不使用Kubecost情况下,管理EKS的cost一般是基于预留实例的EC2 Node,并人为划分服务资源进行分割,某些情况下还需要搭配Cost and Usage Reports(CUR)详单。

使用Kubecost,可以在相对直观的看到各Deployment/Service对应的相应费用,并根据服务的运行时长显示对应成本。Kubecost免费版可通过Helm在EKS上快速部署。如果需要更多功能,还需要使用商业版的Kubecost。本文介绍如何部署免费版的Kubecost。

Continue reading “使用Kubecost管理EKS成本”

看懂一份AWS CloudFront(含Origin Shield)的CDN服务账单

一、背景

CloudFront Origin Shield功能是在CloudFront区域缓存之下的一层额外缓存。当被加速的源站不在AWS上的时候,开启这个功能和优化访问体验。当被加速的源站是AWS上的资源时候,对源站请求会汇聚到Origin Shield所在的区域,可以起到优化缓存的作用。

开启了CloudFront Origin Shield之后,产生的云费用账单会有数条,此时如何分析每一项费用的产生是否合理、如何进行优化?

Continue reading “看懂一份AWS CloudFront(含Origin Shield)的CDN服务账单”

如何读懂一份AWS账单的EC2预留实例匹配关系

一、预留实例的计费逻辑

在一份账单中占比最大的部分可能就是EC2,EC2部分也包含了诸如EKS集群使用的node节点等用量。在部分机型是On-demand按需运行,部分机型是有多个RI预留时候,账单可能显示的比较复杂,晦涩难懂。那么如何解读账单中体现的EC2用量呢?本文以某个场景为例进行分析和解读。在开始解读账单之前,首先要看下RI预留实例的计费逻辑。

Continue reading “如何读懂一份AWS账单的EC2预留实例匹配关系”

使用多账号+Organization区分不同部门的费用

一、前言

前文提到过,实现费用分割的方法之一是加tag,即Billing Dashboard里边的Cost Allocation Tag功能。配置说明参考上篇文章。在运行一段时间之后,看效果如下。

使用Tag区分费用的一个主要挑战就是,部分资源不支持标记tag,无法按照tag进行费用拆分。不支持的主要内容包括:Route53/WAF等。在使用比较重且较贵的Aurora RDS服务中,RDS实例消耗的CPU、内存是根据实例规格计费的,是可以使用tag区分费用的。但是,RDS生成的磁盘IO是不支持加tag的。如果有多个Aurora,不能区分哪一个数据库发生的IOPS,这是一点很大的局限。

Continue reading “使用多账号+Organization区分不同部门的费用”

使用TAG区分AWS费用账单

一、划分费用的方法

为了区分不同部门、不同业务线的费用,如下两个常见方法:

  1. 使用AWS Organization功能,创建独立的子账户,然后自动合并付款。缺点是自账户创建、认证、密码策略、管理维护稍微步骤多一些。详细文档参考这里
  2. 使用Tag区分。在当前账号下,创建资源都填写对应的资源标签。

本文描述的是方法2也就是Tag(标签)。详细文档参见这里的链接

Continue reading “使用TAG区分AWS费用账单”