Add a customer AWS account for billing only

If one of your customers already has their own AWS account, you can onboard them into the platform gradually, starting with their billing dashboards only.

This page describes how to add obtain AWS credentials with billing access only and how to add them to Abiquo to display billing dashboards only.

  • The accounts you create with this process will have no compute access in AWS.

Obtain billing-only credentials for a customer AWS account

These steps describe how to obtain billing-only credentials for a main account and a subaccount (AWSAccount2). You can repeat the subaccount steps to create more subaccounts as required.

  1. Log in to the root AWS account of your customer
  2. From the same web browser where you logged into AWS, go to this link to create the billing user for pricing credentials 

    1. This CloudFormation template will create the abiquo-billing-user.
      This user will belong to an account that we will call AWSAccount1.
      The abiquo-billing-user will access the S3 billing bucket to get the billing information. We recommend that you don't change the user name
    2. Enter a Password and note it down!
    3. (warning) For Abiquo <= 6.0.0, you must create the S3 bucket in the AWS region us-east-1
    4. At the end of the page, select the acknowledgement checkbox, then click Create stack
  3. When the stack creation is complete, go to the Outputs tab, and take a screenshot of the details for AWSAccount1
  4. Log out from the root AWS account and log into AWSAccount1 (the new child account from the previous step)
  5. From the same web browser where you logged into AWS, follow this link to create the billing user for public credentials

    1. This CloudFormation template will create the abiquo-billing-user-public user.
      This user will belong to an account that we will call AWSAccount2.
      This abiquo-billing-user-public user will identify to Abiquo which billing data to process for the account. We recommend that you don't change the user name
    2. Enter a Password and note it down!
    3. At the end of the page, select the acknowledgement checkbox, then click Create stack.  
  6. When the stack creation is complete, go to the Outputs tab and take a screenshot of the details for AWSAccount2
  7. Log into each account (AWSAccount1AWSAccount2, etc) and create a new access key for each of them.



Create an Abiquo keynode and enterprises for billing only

In Abiquo, the main customer account will be a keynode enterprise. You will add the customer's basic pricing credentials to the keynode enterprise.

Then for each AWS account under the keynode, you will create a standard enterprise and add a minimal public cloud credential. This will enable the platform to identify each of these enterprises in the billing data.

  1. Create a new scope for the enterprise. Set its parent scope to your main reseller enterprise.
    1. Check that no computing resources are enabled from this scope (on the Entities tab)
  2. Create a keynode enterprise for your customer. For the Default scope, select the enterprise scope
  3. Edit the keynode enterprise, go to the Credentials → Pricing tab, and add the access key for the user abiquo-billing-user (AWSAccount1) .
    1. For more details, see Add public cloud pricing credentials for a tenant
  4. For each AWS account of the keynode enterprise:
    1. Create a new standard enterprise. For the Default scope, select the scope of the keynode enterprise
    2. Edit the new standard enterprise, go to the Credentials → Public tab, and add the Access key from the user abiquo-billing-user-public (AWSAccount2).
      1. Do NOT select the checkbox to Only for billing
      2. For more details, See "Add public cloud credentials for the enterprise" from the Compute in Public Cloud Regions documentation.




Create a Cost and Usage Report in AWS

To display billing data on the Abiquo dashboard, you will need to configure a Cost and Usage Report in an S3 bucket in AWS.

As you work through these steps, note the values you configure so that you can later register them in Abiquo with enterprise properties. 

  1. Log in to the main customer root AWS account

  2. If your customer does not have an S3 bucket for billing data, create one, for example, "costandusagebillingreport"

    1. If you are using Abiquo <= 5.0.0, then you must create the bucket in us-east-1
  3. Within the bucket, create a folder where AWS will store your reports. Give it the name of your report, for example "costandusagereport"
  4. Go to https://console.aws.amazon.com/billing/home#/preferences

  5. Open the Detailed Billing Reports [Legacy] section

  6. Select the option to Turn on the legacy Detailed Billing Reports feature to receive ongoing reports of your AWS charges

  7. Click Configure and enter the S3 bucket name

  8. Select all of the available reports including
    1. Monthly report
    2. Detailed billing report
    3. Cost allocation report
    4. Detailed billing report with resources and tags
  9. Click Save preferences

  10. Go to Cost & Usage Reports

  11. Enter the Report name then click Next

  12. Click Configure and select the S3 bucket. Click Next, then select I have configured that this policy is correct.
  13. For the report prefix, by default, Amazon will put the reports in a folder with the name format /report-name/date-range/ 
    1. If the S3 bucket will be exclusively used for billing, then you can safely set it to something like billing
    2. You will need to enter this as the report prefix in Abiquo. 
  14. Click Next
  15. Review your configuration and check that the following parameters are set: bucket name + the path (folder/subfolder) + Time detail: Hourly + GZIP or ZIP format




Configure Amazon accounts

These steps register the S3 bucket with the Cost and Usage Report in Abiquo, so that Abiquo can obtain the billing data.

  1. In Abiquo, edit the keynode enterprise and go to Properties
  2. Enter the properties as described in this table

    PropertyDescriptionPrevious nameMigration for v5.2.0
    amazon_bucketName of the S3 bucket where Amazon stores billing data.
    billing_bucket(tick)
    amazon_report_nameamazon_bucket/amazon_bucket_prefix/amazon_report_name/file.csvreport_name(tick)
    amazon_bucket_prefixamazon_bucket/amazon_bucket_prefix/amazon_report_name/file.csvreport_prefix(tick)

    amazon_billing_compress_format

    Compression format of the billing report file: ZIP or GZIP

    --
    amazon_bucket_regionAbiquo 6.0+, the AWS region of the S3 billing bucket--



Copyright © 2006-2022, Abiquo Holdings SL. All rights reserved