Ste*_*pel 21
AWS 刚刚宣布全面推出通过Amazon CloudWatch使用账单警报监控估计费用的功能(显然自 2011 年底以来,AWS 高级账户已经可以使用该功能,请参阅 Daniel Lopez 对Is there a way to set Amazon AWS的回答)计费限额?):
我们会定期估算您使用的每项 AWS 服务的每月总费用。当您为您的账户启用监控时,我们开始将估计值存储为 CloudWatch 指标,它们将在通常的 14 天内保持可用。[...]
正如介绍性博客文章中所述,您可以首先使用账单警报让您知道何时您的 AWS 账单将高于预期,请参阅使用 Amazon CloudWatch 监控您的估计费用以了解有关此功能的更多详细信息。
这对于许多基本需求已经非常有用,但是,使用CloudWatch API自己检索存储的指标(请参阅GetMetricStatistics)实际上允许您根据这些数据驱动任意工作流和业务逻辑,当然您可以生成每日报告关于前一天花了多少钱也是如此。
关于后者,此产品的范围也得到了强调:
重要的是要注意,这些是估计值,而不是预测值。该估算值近似于您在当前计费周期内迄今为止的 AWS 使用成本,并且会随着您继续消耗资源而增加。[...] 它没有考虑您的 AWS 使用模式的趋势或潜在变化。[强调我的]
也就是说,报告指标的粒度尚未分析(我每 4 到 8 小时看到一次数据点,但不一定每次都更新值,正如人们所期望的那样),因此获得足够精确的每日报告可能需要一些统计后处理。
不幸的是,这并不像人们想象的那么直接,尤其是考虑到可以通过您的帐户手动检查所需的数据。人们期望有两种监控选项:
AWS 或我所知道的任何其他 IaaS/PaaS/SaaS 供应商目前都没有提供对其会计数据的 API 访问(可能是由于潜在的财务/法律影响),从而进行任何形式的 3rd 方集成(这很容易现在做)充其量是繁琐的,在这种情况下,您首先需要求助于网络抓取来检索数据。
幸运的是,来自 Cloudability 的新产品 [在免费套餐停止后删除链接] 最近进入了阶段,以专业且与供应商无关的方式为您完成此任务,我们已经在 AWS 上特别成功地使用它 - 您现在将仅收到您每月支出的每日(或较少频率)报告,即尚未细分为您的每日支出。当然,增加每日增加量是微不足道的,所以我希望并期待他们会随着时间的推移提供更多这样的信息。
他们的定价方法 [在免费套餐停止后删除链接] 也令人耳目一新(尽管很明显)并且只是与您自己的云支出相关联,因此一旦您意识到各自的节省潜力就应该为自己付费(他们不收费)如果您每月花费少于 2.5 万美元,则可以做任何事情)。
更新 20121016:不幸的是 Cloudability 已将其定价模型更改为更常见的定价模型,该模型仍包括免费层(并且通常价格合理),但删除了对其中高级功能的访问权限,我认为这对用户来说是一种令人耳目一新的公平和聪明的方法预算很少,他们可能仍然是其他地方的乘数,或者一旦成长起来就升级。
更新 20150115:不幸的是,Cloudability 选择了许多免费增值 SaaS 供应商的道路,最终完全停止了免费层:从 2 月 1 日起,我们将不再提供您今天使用的 Cloudability 免费版。
以前要求您的主要 AWS 凭证的警告(保留在下面以供参考)不再适用 - AWS 最近推出了新的 IAM 功能:密码管理和对账户活动和使用情况报告页面的访问:
此新功能允许您为业务和技术目的创建单独且不同的 IAM 用户。您可以授予业务用户访问 AWS 网站的账户活动和/或使用情况报告页面的权限,以允许他们访问账单和使用情况数据,而无需授予他们访问其他 AWS 资源(例如 EC2 实例或 S3 中的文件)的权限
Cloudability 现在也集成了这一点,因此您不再需要将您的主要 AWS 凭证交给他们,或者花费额外的精力来建立整合账单只是为了深入了解您的云支出,请参阅如何设置 Amazon IAM(身份账户管理) )了解详情。
不过,有一个警告应该预先注意:
为了访问您的数据,您需要将您的主要 AWS 凭证交给他们,否则他们显然无法窃取您的帐户。特别是对于 AWS,您仍然可以通过促进整合账单来避免这种情况,在这种情况下,您可以通过指定单个付款账户来整合多个 Amazon AWS 账户的付款 [...],而该账户又无法访问您的计算资源和数据。
小智 15
使用awscli工具,您可以获得本月至今的总数:
$ aws --region us-east-1 cloudwatch get-metric-statistics \
--namespace "AWS/Billing" \
--metric-name "EstimatedCharges" \
--dimension "Name=Currency,Value=USD" \
--start-time $(date +"%Y-%m-%dT%H:%M:00" --date="-12 hours") \
--end-time $(date +"%Y-%m-%dT%H:%M:00") \
--statistic Maximum \
--period 60 \
--output text | sort -r -k 3 | head -n 1 | cut -f 2
2494.47
Run Code Online (Sandbox Code Playgroud)
可以减去两个不同日期的总数以获得每日增量。或者,可以通过将时间窗口 ( end-time
- start-time
) 增加到 24 小时并从最新的数据点中减去最早的数据点来一次性获得估计值。
笔记:
date
(对于其他date
s,例如,在 OSX 上,date -v-12H
可能工作) 归档时间: |
|
查看次数: |
30558 次 |
最近记录: |