Tim

Welcome to Tim's documentation

Tim, the Taloflow Instance Manager, is an AI that helps you reduce your AWS costs.

Get Started    

Filter Cost Report data sent to Tim

Sometimes, organizations prefer to integrate Tim without sending Tim the Cost Report information for all accounts. In this case, a simple function does the trick to filter the Cost Report and remove any information tied to accounts you would rather not share before it is sent to Tim.

Background

It is a AWS Lambda function that filters and copies the entries that belong to a specific Usage Account ID.

How it works

Tim can get the correct data for any specific Account ID (e.g.: a sub account) from the Cost Report by taking the following steps:

  1. When the Cost Report is placed into a Billing S3 bucket, an S3 event is triggered.

  2. This event triggers an AWS Lambda function that will run on your account to filter the Cost Report and place it into another S3 bucket that Tim can access.

Tim will only have access to the S3 bucket with the filtered information and can never see the full Cost Report with this configuration. You will always have explicit control over the code of the function and can fully audit it and can adjust to your liking what is filtered and what isn’t.

Limitations

The Taloflow Cost Report Filter function currently has some minor limitations:

  • You cannot filter on the Payer Account ID. Why? Because of the logic's function, which filters the lines containing the given Account ID, every line also contains the Payer ID, so the resulting Cost Report file would also have those lines.
  • You only filter by one Account ID. At this time, it is not possible to filter multiple accounts using this function.

Deployment

To begin the deployment of the AWS Lambda Cost Report filter, click here to download the package. The video below also walks through the steps to getting it set up if you're ever lost.

Prerequisites

  • AWS CLI
  • AWS SAM CLI
  • make

Deployment and Setup

Deploy to project using AWS SAM.

1. Update Configurations

  • Update the following variables in template.yml.
Variable Description
{ REPLACE_SOURCE_BUCKET_NAME } Source Bucket
{ REPLACE_DEST_BUCKET_NAME } Destination Bucket
{ REPLACE_USAGE_ACCOUNT_ID } ID of usage account

2. Deployment

  • Run the following command.
    make package deploy
    

A new function should be added, we will need to add a trigger to listen to s3 events.

3. Adding S3 Trigger to Lambda

  • Login to AWS Console
  • Search and select Lambda
  • Under Designer > Add Trigger, scroll down and click S3.
  • Under Configure triggers, select the following:
Field Input
Bucket Source bucket
Event Type PUT
Suffix csv.gz
  1. Click Add to add trigger.
  2. Click Save at the top right to confirm the settings.

Filter Cost Report data sent to Tim


Sometimes, organizations prefer to integrate Tim without sending Tim the Cost Report information for all accounts. In this case, a simple function does the trick to filter the Cost Report and remove any information tied to accounts you would rather not share before it is sent to Tim.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.