Workshop Studio

Deployment

Architecture

We recommend deployment of the CUDOS, KPI and Cost Intelligence Dashboards in a dedicated account, other than your Management (Payer) Account. This Lab provides a CloudFormation template to copy data from your Management Account to a dedicated one. You can use it to deploy the dashboards on top of multiple Management (Payer) Accounts or multiple linked accounts.

Recommended Deployment Architecture

This architecture supports aggregation of CURs from multiple Sources to one Data Collection Account. This is useful if you want have visibility across multiple Management (Payer) Accounts.

Also the same aggregation can be used when you do not have access to the Management (Payer) account and you need visibility across multiple Linked Accounts that belong to a single Business Unit.

Deployment

Deployment process consists of 3 main steps:

  1. Deploy a bucket for aggregated CUR in the Data Collection Account
  2. Deploy CUR, bucket and a replication policy in Source Accounts (can be one or many Sources).
  3. Deploy Cloud Intelligence Dashboards (CID) Stack in Data Collection Account

If your Management (Payer)/Source Account is the same as your Destination account (where you want to deploy the dashboards) you can follow the steps for Destination Account only, and choose to activate Local CUR in the CFN parameter.

CloudFormation Deployment Steps

Resulting CUR Bucket Structure

Step 1. (In Destination/Data Collection Account) Create Destination For CUR Aggregation

Here we will deploy the CFN template and set the CFN parameters for a Destination Account. In most cases, you'll choose not to create a CUR in this account.

  1. Log into the Destination account in the Region of your choice. It can be any account inside or outside your AWS Organization.

  2. Click the Launch Stack button below to open the pre-populated stack template in your CloudFormation console.

    Launch Stack button

  3. Select the Region where you want to deploy your resources.

  4. Enter your Destination Account ID (Current Account where the dashboards will ultimately be deployed).

    NOTE: Please note this Account ID, you will need it later when you deploy this same stack in your Management (Payer)/Source account(s).

    Screenshot of CFN template with default settings

  5. Disable CUR creation by entering False as the parameter value if you are replicating CURs from the Management (Payer) account of an AWS Organization. You will only need to change this to True if you are replicating CURs from linked accounts (not management payer accounts) and you want to have cost and usage data for this Destination account as well.

  6. Enter your Source Account(s) IDs, using commas to separate multiple Account IDs.

  7. Review the configuration, click I acknowledge that AWS CloudFormation might create IAM resources, and click Create stack.

  8. You will see the stack will start with CREATE_IN_PROGRESS.

    This step can take 5 - 15 mins.

  9. Once complete, the stack will show CREATE_COMPLETE.

You will be able to add or delete Source Account CURs later by updating this stack and adding or deleting Management (Payer) Account ID in a comma separated list of Source Accounts.

Step 2. (In Management/Payer/Source Account) Create CUR and Replication Rules

  1. Login to your Source Account (can be management account or linked account if you're using member CURs ).

  2. Click the Launch Stack button below to open the stack template in your CloudFormation console.

    Launch Stack button

  3. Enter a Stack name for your template such as CID-CUR-Replication.

  4. Enter your Destination/Data Collection AWS Account ID as a parameter (Your Data Collection Account, where you will deploy dashboards).

    Cloudformation stack parameters with destination account id, source account ids inputs and I acknowledge that aws cloudformation might create iam resources checkboxes highlighted

  5. Review the configuration, click I acknowledge that AWS CloudFormation might create IAM resources, and click Create stack.

  6. You will see the stack will start with CREATE_IN_PROGRESS .

    This step can take ~5 mins.

  7. Once complete, the stack will show CREATE_COMPLETE.

  8. It will take about 24 hours for your CUR to populate and replicate to your destination (data collection) account where you will deploy the dashboards.

  9. You can continue, but the dashboards will be empty or you can return to the next steps after 24 hours and you will have data for the current month.

  10. We recommend creating a Support Case with Service=Billing and Category=Other Billing Questions, requesting a backfill of your CUR (name=cid) with 12 months of data (Can be up to 36 months). Case must be created from your Source Account (Management/Payer account). See CUR Backfill section)

Step 3. (In Destination/Data Collection Account) Deploy Dashboards

3.1 - Prepare Amazon QuickSight

Amazon QuickSight is the AWS Business Intelligence tool. You can install Dashboards into your Amazon QuickSight account and customize them to your needs. If you are already a regular Amazon QuickSight user you can skip these steps and move on to the next step. If not, complete the steps below.

3.2 Deploy Dashboards

In this step you will deploy a CloudFormation template which will create all required resources. You will copy and paste some parameters (An S3 path to CUR data, A QuickSight user that will be the owner of the QuickSight assets, and which dashboards you want to deploy) into the template and click run.

Ensure you use the same Region as in Step 1 (same region where your S3 Bucket with CUR is located) to avoid cross region Data Transfer costs. Also your AWS Account must have a quicksight:DescribeTemplate permission for reading from us-east-1 region.

All other resources are created automatically: Athena Workgroup and an S3 bucket, Glue Table, Glue Crawler, QuickSight datasets, and finally the dashboards. The template uses a custom resource (a Lambda with this CLI tool ) to create, delete, or update assets.

  1. Log in to to your Destination/Data Collection Account

  2. Click the Launch Stack button below to open the pre-populated stack template in your CloudFormation.

    Launch Stack button

  3. Enter a Stack name for your template such as Cloud-Intelligence-Dashboards

  4. Review Common Parameters and confirm prerequisites before specifying the other parameters. You must answer 'yes' to both prerequisites questions.

  5. Copy and paste your QuicksightUserName into the parameter text box. To find your QuickSight username:

    • Open a new tab or window and navigate to the QuickSight console
    • Find your username from the person icon in the top right corner Quicksight page with username drop down in the top right highlighted
  6. Update your CURBucketPath if needed.

    • (Default) If you used the CFN Template in the CUR setup process above then CURBucketPath needs to be the s3 path to the folder in your CUR bucket where account IDs are. For example s3://cid-1234567890123-shared/cur/
    • If you did not use the CFN automated CUR setup process above and have just one CUR you setup manually then CURBucketPath needs to be the s3 path to the folder in your CUR bucket where the year folders are. For example s3://cid-1234567890123-shared/prefix/name/name/ (double check this path, you must see /year=xxxx partitions in there).

      Please note that CURBucketPath parameter cannot currently be updated once the stack is created. If you need to change it you can delete and re-create the stack.

  7. Select the Dashboards you want to install. We recommend deploying all three: Cost Intelligence Dashboard, CUDOS, and the KPI Dashboard.

  8. Review the configuration, click I acknowledge that AWS CloudFormation might create IAM resources, and click Create stack.

  9. You will see the stack will start in CREATE_IN_PROGRESS

    This step can take ~15-20 mins.

  10. Once complete, the stack will show CREATE_COMPLETE

  11. You can check the stack output for dashboard URLs. Please note that dashboards will be empty by this point. We recommend initiate a backfill via a Support Cases (see CUR Backfill section).

Next steps

Troubleshooting

No data in Dashboards after 24 hours

Please check the following:

  1. Double check that QuickSight has permissions to read from your CUR bucket.
  2. In QuickSight, go to Datasets and click on Summary View. Check for errors (if you see a status Failed, you can click it to see more info).
  3. Check if CUR data has arrived to the S3 bucket. If you just created CUR you will need to wait 24 hours before the first data arrives.
  4. The QuickSight datasets refresh once per day, if your first CUR was delivered after your latest refresh, you may need to click manual refresh on each dataset to see data in the dashboard.
CUR Backfill

By default when you create CUR it only have data for the current month. We recommend requesting a Backfill of your CUR data from AWS by creating a Support Case:

  • Login to Management/Payer account
  • Open Support console and Create Case 
    • Type=Account and billing
    • Service=Billing
    • Category=Other Billing Questions
    • Severity=Important Question
    • Subject= Backfill CUR for CID
    • Description=Hello, Please backfill the CUR (name=cid) with 36 months of data.

Any issues? Visit our FAQs.