用Athena查询每个账户下各个EC2实例类型的成本

0

【以下的问题经过翻译处理】 我正在寻找一种方法,通过Cost Explorer或CUR / Athena查询从每个账户中提取EC2实例类型的使用情况及其相关成本。 例如,如果我正在使用m4.2xlarge实例,有多少个账户正在使用该实例类型以及其成本。 我拥有接近60种不同的实例类型和接近20个账户。

profile picture
专家
已提问 5 个月前33 查看次数
1 回答
0

【以下的回答经过翻译处理】 您好,我对上面的查询有一些更正。

  1. 包括Spot成本
  2. 有价格条款
  3. 除了计费成本外,还会存在摊销成本。如果客户提前购买了部分RI或SP,则这尤为重要。
  4. 如果包含摊销成本,则SQL条件中需要加上SavingsPlanNegation条件。

您仍然需要替换相同的名称。 您还应使用where子句重新限制时间范围。例如,要查找1月份的成本,您将编写:

where line_item_usage_state_date >= date '2021-01-01' and line_item_usage_state_date <date '2021-02-01' and

SELECT
  line_item_usage_account_id
, (CASE WHEN (line_item_usage_type LIKE '%SpotUsage%') THEN 'Spot' 
   WHEN (((product_usagetype LIKE '%BoxUsage%') OR (product_usagetype LIKE '%DedicatedUsage:%')) AND ("line_item_line_item_type" LIKE 'SavingsPlanCoveredUsage')) or (line_item_line_item_type = 'SavingsPlanNegation') THEN 'SavingsPlan' 
   WHEN (("product_usagetype" LIKE '%BoxUsage%') AND ("line_item_line_item_type" LIKE 'DiscountedUsage')) THEN 'ReservedInstance' 
   WHEN ((("product_usagetype" LIKE '%BoxUsage%') OR ("product_usagetype" LIKE '%DedicatedUsage:%')) AND ("line_item_line_item_type" LIKE 'Usage')) THEN 'OnDemand' 
   ELSE 'Other' END) "价格条款"  
, case when line_item_usage_type like '%BoxUsage' or line_item_usage_type like '%DedicatedUsage' then product_instance_type else split_part (line_item_usage_type, ':', 2) end InstanceType
, round (sum (line_item_unblended_cost),2) 计费成本
, round (sum((CASE 
     WHEN line_item_usage_type LIKE '%SpotUsage%' THEN line_item_unblended_cost  
     WHEN ((product_usagetype LIKE '%BoxUsage%') OR (product_usagetype LIKE '%DedicatedUsage:%')) AND (line_item_line_item_type LIKE 'Usage
profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则