AWS/Kubecost Data Audit
Last updated
Last updated
First, in the Kubecost UI, view the price of a single node for a single day.
Next, compare this instance's costs with what is found in AWS Cost Explorer (Amortized). The most accessible way of doing so is Group by -> Resource, and Filters -> Resource -> i-033b92ecd18376946.
If unable to Group by -> Resource (because it requires enabling hourly/resource granularity in Cost Explorer), try Group by -> Tag -> aws:eks:cluster-name, and Filters -> Tag -> aws:eks:cluster-name -> kc-demo-prod. This will compare the cost of a cluster in AWS Cost Explorer, versus the cost of a cluster in Kubecost.
Note: When grouping by cluster, AWS Cost Explorer only accounts for the Node and Network costs, not the ClusterManagement/ControlPlane, Disks, or LoadBalancer costs. Also keep in mind this method will also be less exact than comparing a specific node between Kubecost and AWS Cost Explorer.
To determine what could cause a discrepancy between your instances' cost and AWS Cost Explorer, perform these troubleshooting measures:
Investigate Prometheus to see if the underlying metrics about the node are sporadic or missing.
Cost Explorer CSV export for one day filtered by account and service in AWS. Compare that to the Kubecost /model/asset
API request for the same day.
Set up CUR to export as CSV file. Investigate to see whether the costs in the CSV file match with what is displayed on the Kubecost Assets page.
Test Athena queries.