Skip to main content
Cost Archiver
Updated over 2 months ago

Finout provides you with a simple way to manage long-term storage of cost data.

You can configure Finout to archive data in an AWS S3 bucket that you own — allowing you to store cloud spending data from your company’s various cost centers in one structured, easily accessible format.

Setting Up Cost Archiver

To output the cost data, Finout requires write permissions to an S3 bucket. For this purpose, please either create a new bucket or a new folder within the existing S3 bucket that’s used for your AWS CUR files.

Bucket permissions

Note: If there are currently no policies applied to the bucket, please use the following policy:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "{FinoutRole}"
},
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:ListMultipartUploadParts"
],
"Resource": "arn:aws:s3:::{DestinationBucketName}/*"
}
]
}

Note: If there are already statements in the bucket’s policy, please add the following to the statements array:

{
"Effect": "Allow",
"Principal": {
"AWS": "{FinoutRole}"
},
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:ListMultipartUploadParts"
],
"Resource": "arn:aws:s3:::{DestinationBucketName}/*"
}

Note: If you wish to limit the write permissions to a specific folder within the bucket, please update the resource portion as follows:

"Resource": "arn:aws:s3:::{DestinationBucketName}/{SomeFolder}/*"

Archived cost data

Cost data will be updated once a day in the following structure: bucket/archiver_name/v1/yyyymmdd.json.gz

Cost data can be added retroactively by request, and there is no limitation in terms of the archived data size.

Cost data structure

Field name

type

Description

time

Date (YYYY-MM-DDT00:00:00.000Z)

service

String

The type of service the cost is related to, for example, “EC2” (in AWS) or “Compute Engine” (in GCP)

region

String

The region the cost is associated with

cost_center_type

String

AWS / GCP / K8s / Snowflake

costs

dict<string, double>

all the following costs: amortized_cost, net_amortized_cost, blended_cost, unblended_cost, net_unblended_cost, uncovered_cost, reservation_cost, savings_plan_cost, spot_cost

metadata

dict<string, string>

All metadata relevant to this cost line

Still need help? Please feel free to reach out to our team at [email protected].


Did this answer your question?