Step 1: What Cost Should be Split?

How should we approach this in CostFormation?

The first step towards splitting costs is identifying and grouping the cost you'd like to split. Is it a shared database or service, like Snowflake compute or another data lake like RDS? Is it an S3 bucket or EC2 instance used by multiple teams or products?

Whatever this cost is, the simplest path forward is to structure our CostFormation so that this cost exists as an element in a dimension. For example, our business has some shared costs in RDS, so we'll update our CostFormation to add a new dimension:

    Name: Shared RDS
    DefaultValue: Not Shared
      - Type: Group
        Name: Shared Data Lake
          - Source: Service
            Equals: AmazonRDS

We now have an element called Shared Data Lake in our Shared RDS dimension. This is perfect because we can now reference that in a Rules Allocation dimension. Let's move onto the next step and extend our CostFormation.

Link to Previous Step