Skip to content

AWS CloudFormation templates for Vertice Cloud Cost Optimization integrations with your account

License

Notifications You must be signed in to change notification settings

VerticeOne/cloudformation-aws-vertice-cco-integration

Repository files navigation

Vertice Cloud Cost Optimization CloudFormation templates

This repository provides CloudFormation templates helping to configure Vertice Cloud Cost Optimization infrastructure in your account, including:

  • an IAM role allowing Vertice platform to access your resources,
  • an S3 bucket to store Cost and Usage Reports (CUR) and optionally store Cost Optimization Recommendations Reports (COR),
  • a Cost and Usage Report definition, and
  • an AWS Data Exports report definition (COR format).

We also offer Terraform configuration of the same at VerticeOne/terraform-aws-vertice-integration.

Using the template

Important

Make sure you are in the us-east-1 region. See Region Selection for explanation.
Before enabling an AWS Data Export report (COR format) through this template:

  • Enable Cost Optimization Hub in Billing and Cost Management in your Billing AWS Account: cost_optimization_hub.png
  • Create the AWSServiceRoleForBCMDataExports service-linked role
    • In the AWS Console, go to the Billing and Cost Management page
    • On this page navigate to Data Exports -> Click Create -> Select Standard data export and Cost optimization recommendations
    • Now you should see a warning table with the following title: Exports of Cost Optimization Recommendations requires a Service Linked Role (SLR)
      • If you don't see the warning, you have already created the AWSServiceRoleForBCMDataExports service-linked role.
    • In this warning table, click the Create service-linked role button, and it will create the necessary role for you.
    • You can leave the page now, without finishing the creation of the Data export, or you can continue with the settings below cor_service_linked_role_creation.png

The Vertice governance CloudFormation template is published to the following S3 address:

https://vertice-cco-cloudformation-templates.s3.eu-west-1.amazonaws.com/vertice-governance.yaml

Tip

To deploy the stack easily, use this CloudFormation quick-create link and populate all of the fields.

Alternatively, create a new CloudFormation Stack, providing the URL above as the --template-url parameter (or Amazon S3 URL in the AWS console).

Region selection

As documented in this upstream issue, the AWS CUR functionality is limited to the us-east-1 region. Therefore, you must deploy this template to that region to ensure smooth operation.

If you chose not to create the CUR report, S3 bucket or other resources using this CloudFormation template, then please create those resources first and then input the details when using this CloudFormation to complete the final setup steps.

Parameters

Required parameters

AccountType

supports the following values:

  • billing (CUR with S3 bucket should be configured in the account);
  • member (IAM role should be allowed to monitor your AWS services); or
  • combined (both billing and member resources should be set up).
BillingBucketName

The BillingBucketName will be required in order for the role to have the correct policy.

VerticeSTSExternalID

The Unique identifier provided to you for the Vertice platform to assume the IAM role in your account.

Optional parameters

The creation of specific resources is further controlled by the following optional parameters:

  • BillingReportCreate
  • BillingBucketCreate
  • DataExportCreate
  • VerticeIAMRoleCreate
  • Ec2RiPolicyCreate
  • ElastiCacheRiPolicyCreate
  • EsRiPolicyCreate
  • RdsRiPolicyCreate
  • RedshiftRiPolicyCreate
  • SavingPlansPolicyCreate

Please see the Parameters section of the template for further details.

BillingReportSplitCostAllocationData

The template supports the Split Cost Allocation Data opt-in feature of the Cost and Usage Report, which provides more granular data for ECS/EKS usage. Please note that this feature may increase your costs slightly due to a larger volume of usage data generated.

To enable this feature:

  1. Opt in to Split Cost Allocation Data in the Cost Management Preferences page of the AWS Console (Step 1 of the guide linked above).
  2. Set the BillingReportSplitCostAllocationData: true parameter on this module.

Removing Vertice Resources

In order to remove Vertice resources from your environment you simply need to delete the CloudFormation Stack from the us-east-1 region.

This will remove all resources created through the CloudFormation template.