Skip to content

AWS

  • Spend by service, region, and usage type
  • Reservation & Savings Plan utilization
  • Rightsizing & idle-resource recommendations

Method: IAM Role (cross-account)

  1. In Plutus, go to Cost Sources → AWS and open the connection form. Copy the External ID and Plutus Account ID shown in the Role Setup panel — the cross-account role needs both.
  2. In each AWS account you want to connect, deploy the PlutusCostReader IAM role using the Terraform module or CloudFormation template linked from that panel. The role is read-only and grants access to Cost Explorer only.
  3. Connecting many accounts under an AWS Organization? Deploy the role via CloudFormation StackSets from your management account instead of deploying it one account at a time.
  4. In each account you’re connecting, go to Billing → Cost Explorer and enable Cost Explorer if it isn’t already. The role can’t read cost data from an account where Cost Explorer is off.
  5. Copy the Role ARN of the deployed role and paste it into the Role ARN field.
  6. Optional — cost allocation tags: to build cost-tag rules from your own AWS tags, activate a tag key under Billing → Cost allocation tags, then enter that key in the Cost Allocation Tag Key field.
  7. Optional — emissions tracking: create a carbon emissions data export (Billing → Data Exports) delivering CSV to S3, grant the PlutusCostReader role s3:GetObject and s3:ListBucket on that bucket, and enter the bucket name (and prefix/region, if not the default) in the Carbon Export fields. Emissions data is published monthly and lags roughly a quarter, so expect the first few months to be empty.