我知道,为了获得AWS账户的详细费用,我需要启用程序化计费访问,并将账单报告推送到相应AWS账户中的S3存储桶。如何使用CloudWatch API获取AWS账户/服务成本?
这种方法适用于我。但是,问题在于要下载和处理的账单大小非常巨大,以至于仅获取过去几个月中所有链接的AWS账户的账户和服务级别成本。
我在尝试探索AWS CloudWatch API以获取链接的帐户级别成本。我试图让所有关联账户的列表,并使用下面的命令被他们消耗的服务:
aws cloudwatch list-metrics --namespace "AWS/Billing"
预期其工作原理完全正确返回结果。然而,尝试使用下面的命令来获得这些帐户的费用时:
aws cloudwatch get-metric-statistics --namespace "AWS/Billing"
--dimensions "Name=LinkedAccount,Value=<linked-account-id>" --metric-name=EstimatedCharges --start-time=2017-10-01T19:30:00Z --end-time=2017-10-10T19:30:00Z --period=3600 --statistics=Sum
我得到以下形式的几乎是空的JSON:
{
"Datapoints": [],
"Label": "EstimatedCharges"
}
我已确保我使用的是正确的关联账户ID和提供的其他参数如上所述。我在这里错过什么来获得帐户或服务级别的成本?
编辑1:我已将我的配置文件中的区域设置为us-east-1,因为该区域是命令工作的必填字段。这是不是原因?如果是,那么修复/解决方法是什么?
更新1:我能够得到整体AWS账户成本(主要账户成本+链接账户成本),使用上述API,仅通过调整尺寸,但我还是没能拿到个人账户/服务成本(主要和关联账户的个人成本)。
更新2:当我从需要成本的帐户使用IAM用户时,我可以获得关联帐户成本。但是,LinkedAccount
维度仍然不起作用:当我使用主帐户的IAM用户使用LinkedAccount
维度获取其关联帐户的成本时,它仍会返回空结果。我的期望是,由于我可以在主帐户的账单中获取关联账户的成本,并且在登录AWS门户时可以看到关联账户的成本,所以我应该能够使用CloudWatch获取关联账户的成本蜜蜂。仍在尝试使用使用CW API的主帐户的IAM用户获得链接帐户成本的解决方案。
不,这不是我所期待的。我已经提到,我知道从S3存储桶中倾倒钞票的成本。我需要一个API,它可以在不下载和处理这些帐单的情况下为我提供帐户及其服务的成本。 – jobin
更新了cli命令以获取指标。希望能帮助到你。 – Kannaiyan
没有,即使在指定货币和关联帐户维度之后,我仍然会在问题中发布空的JSON。 – jobin