Configure public cloud reseller accounts


Before you do these steps, first create the reseller tenant and organization hierarchy. See Organization hierarchy in hybrid cloud

Add public cloud credentials for resellers

To work with a public cloud region, each enterprise should have its own public cloud account for each cloud provider. All the users in the tenant will work with this same account. 

Privilege: Manage provider credentials

Before you begin:

  1. Obtain credentials to access the cloud provider's API. For Abiquo's basic guides, see Obtain public cloud credentials.  Always check your provider documentation too.

To add public cloud credentials:

  1. Go to Users → select and edit enterprise → Credentials → Public
  2. Enter the Credentials as described here
    1. Select the Provider: Some providers may require different credentials for groups of regions
    2. Enter Access key ID: Identity to access the cloud provider API

      1. For Azure enter subscription-id#app-id#tenant-id

      2. For Google enter project_id#client_id#client_email#private_key_id

      3. For OCI enter format is tenancy#user#fingerprint

    3. Enter Secret access key

      1. For OCI enter the private key in PEM format.


    See GUI Edit enterprise Credentials
  3. Click Add account. The platform will validate your credentials with the cloud provider and save them
  4. Finish editing the enterprise and click Save

This will add a cloud provider account for a tenant enterprise with access to a public cloud region.

In resellers with Amazon, Azure ARM, and other partner accounts, to create a customer account in the provider and add it to an enterprise in the platform, click the enterprise building Create account button. See Create an account in public cloud for the customer of a reseller




Synchronize public cloud price lists

The platform can import hardware profile prices from public cloud for use in pricing.

  • The prices are for Linux instances with no pre-installed software
  • For AWS, the only currency available is US dollars.

Before you begin:

  1. Check that there is a public cloud region for the provider. See Create a public cloud region.
  2. Check that the tenant has a pricing model assigned. See Create a new pricing model
    1. For Amazon regions, use US Dollars as the currency 
  3. Obtain credentials to retrieve pricing information from the provider
    1. For AWS pricing, an IAMS user must have the AWSPriceListServiceFullAccess permission. You can add the permission to the regular public cloud user account or create a separate user. See Obtain AWS credentials
    2. For Azure, see Obtain Azure ARM credentials.

      Tenant typeFormat_of_Access_ Key_ID_for Pricing_____Secret access keyNotes

      Standard account

      normal#subscription-id#app-id#tenant-id#offer-durable-id
      OR
      subscription-id#app-id#tenant-id#offer-durable-id
      Application secret keyAdd the text string "normal#" as a prefix to the pricing credentials. To facilitate upgrades, existing credentials will remain valid
      CSP account ownercsp#tenantId#accessToken#refreshTokenApplication secret keyYou MUST add the text string "csp#" as a prefix to the credentials
      Customer of CSP--Do not enter credentials because the platform will use the CSP credentials

To retrieve the hardware profile prices:

  1. Add pricing credentials for the tenant 
    1. From the username menu go to Edit credentials or go to Users → edit enterprise
    2. Go to Credentials → Public (for compute or for combined credentials in Amazon) or Pricing (for separate credentials)
    3. Enter the credentials
  2. If the tenant is a CSP and/or reseller, go to Edit enterprise → Properties and enter the following properties with appropriate values:

    azurecompute-arm_discount=0.2
    amazon_discount=0

    Note that CSP accounts return the prices with the discount factor applied, so the platform will not apply it again.
    To configure a custom suffix of the discount properties, set abiquo.enterprise.property.discount.suffix in abiquo.properties. See Abiquo Configuration Properties#enterprise.

  3. If the tenant is a customer of the CSP and/or reseller, go to Properties and enter the following properties with appropriate values:

    azurecompute-arm_price_factor=1.25
    amazon_price_factor=1.17

    To configure a custom suffix of the price factor properties, set abiquo.enterprise.property.pricefactor.suffix in abiquo.properties. See Abiquo Configuration Properties#enterprise.

  4. When you save the tenant, if the pricing credentials are present, the platform will retrieve the prices. 

To display and edit the prices of public cloud hardware profiles:

  1. Go to Pricing → edit pricing model.
  2. Go to Resource Prices → select the public cloud region
  3. For each hardware profile, enter a New price as required
  4. Click Save

The platform will update the hardware profile prices from the public cloud provider every 24 hours.

  • To set a custom interval, set abiquo.pricing.import.check.delayInHrs in abiquo.properties. See Abiquo Configuration Properties#pricing
  • To prevent the platform from updating the prices from the public cloud provider, remove the pricing credentials



Create an account in public cloud account for the customer of a reseller

The Create accounts feature for public cloud is for resellers with AWS partner and Azure CSP accounts.

To create accounts for a reseller customer:

  1. Edit the enterprise, go to Credentials 
    • The enterprise must have the Azure CSP or AWS partner credentials
      • For Azure, the account must have the User Administrator role to create users and the Owner role to assign roles.
      • For AWS, for the policies to assign to an account, see AWS account policies
      • For vCloud, the user must be an Organization Administrator
  2. Click the building Create account button
  3. Enter the customer details for the provider.
    AWS

    For more details see GUI Create account AWS

    Azure

    For more details see GUI Create account Azure

Abiquo will automatically create the account in the cloud provider and add the credentials to the reseller customer's enterprise.



Display Amazon billing data

This section describes how to configure Amazon billing data for resellers. For standard accounts see Display Amazon billing data for standard accounts

To configure AWS to supply billing data, do the following steps.

  1. Create an S3 bucket, for example, "costandusagebillingreport"

    1. Within the bucket, create a folder where AWS will store your reports. Give it the name of your report, for example "costandusagebillingreport"
    2. Note the billing bucket name, for example, "costandusagebillingreport"

  2. Create a new user, such as "programmaticbilling" to create the reports
    1. Assign the AmazonS3ReadOnlyAccess policy
    2. Activate the IAM user's access to billing information. See https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/control-access-billing.html

  3. Optionally configure legacy billing reports

    1. Go to Billing → Billing preferences

    2. Open the Detailed Billing Reports [Legacy] section

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

    4. Click Configure and enter your S3 bucket details

    5. 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
    6. Click Save preferences

  4. Configure Cost & Usage Reports

    1. Go to Cost & Usage Reports

    2. Enter the Report  name, which you will need to enter in Abiquo later, then click Next

    3. Click Configure and select the S3 bucket. Click Next, then select  I have confirmed that this policy is correct.
    4. By default, Amazon will put the reports in a folder with the name format "/report-name/date-range/". Note this as the value for the report prefix in Abiquo. Click Next
    5. Review your configuration and check that the following parameters are set: 
      1. bucket name
      2. path (folder/subfolder)
      3. time detail: Hourly
      4. GZIP or ZIP format
  5. The AWS account with credentials to use in Abiquo should have the following permissions

    TypePrivilegesResources
    Price listFull accessAll resources
    S3Full: list, readMultiple

To configure billing dashboards in Abiquo for resellers, do these steps.

  1. The Abiquo users should have the privileges to Display hybrid dashboard tab, View bills, and optionally to Display VM cost view widget (hybrid tab)
  2. In Abiquo, edit the reseller enterprise and create the following enterprise properties

    PropertyDescriptionPrevious nameMigration for v5.2.0
    amazon_bucketName of the S3 bucket where Amazon stores billing data.
    (warning) Change value for v5.2.0. This was previously reseller ID in the yaml configuration file.
    billing_bucket(warning) Enter the new value
    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

    (tick)-
    amazon_price_factorDefault provider markup for customer enterprises with no value(tick)-
    amazon_mpaSet to "dedicated" or "no" to use blended costs.
    If not present or "shared", use unblended costs
    (tick)-
    amazon_discountDiscount you have agreed on with Amazon. Typical values are 0.03, 0.02 or similar.(tick)-
  3. In Abiquo, edit the enterprises of the customers of the reseller and create the following property. You can also set the default value in the reseller.

    Property

    Description

    Previous nameMigration for v5.2.0
    amazon_price_factorMarkup or discount applied by the partner to their customer.
    The default value is 1.
    (tick)-



Display Azure billing data

This page describes how to configure Azure billing data for resellers with CSP accounts. 

The platform populates the billing dashboard with data from the cloud provider, so you will need to allow programmatic access to billing in the cloud provider.

  • After you configure this feature, the platform may take up to 2 days to display data in the Estimated bill section of the Hybrid dashboard. 

To display billing data for reseller tenants and their customers, do these steps:

  1. CSP resellers must give consent for the use of the CSP account in the platform. Contact Customer Service for more information.
    The consent process will generate the accessToken and the refreshToken, which are part of the pricing credentials.

  2. By default, the platform will retrieve billing data for the last two months. To change this value, on the Abiquo Server, edit the abiquo.properties file and add the following property with the number of months to retrieve:

    abiquo.enterprise.property.billing.monthoffset=2
  3. In Abiquo, edit the reseller enterprise and create the enterprise properties:

    PropertyDescriptionPrevious valueMigration

    azurecompute-arm_discount

    Decimal value (with dot separator), used to calculate the user invoice for billing dashboard.
    CSP APIs return prices with a discount applied, which we remove to display for customers.
    This is done using the formula  total =  TotalFromCSP/(1 -  azurecompute-arm_discount )


    (tick)-

    azurecompute-arm_price_factor

    Default value for enterprises that do not have this value in their hierarchy.
    Also used to calculate the user invoice for billing dashboard.
    Also used for retrieving hardware profile prices from the provider.
    The platform will apply changes to the price factor in the next billing period.

    (tick)-

    azurecompute-arm_currency_code

    Default is "USD". Three character currency code of the bill. WARNING! Different from currency_code used for conversion factor

    Currency(tick)

    billing.azure.country_code

    Two digit ISO code representing the country where you purchased the subscription.
    The default of "US" is set in abiquo.properties in Remote Services as abiquo.billing.azure.country_code.
    So you only need to set this enterprise property to change the default value.

    RegionInfo(tick)
  4. The following properties are deprecated in Abiquo 5.2.0 and the upgrade process will remove them:
    1. OfferDurableID
    2. Locale
  5. For reseller customers, edit the enterprise and create the following properties:

    PropertyDescriptionPrevious valueMigration

    azurecompute-arm_discount

    Decimal value (with dot separator), used to calculate the user invoice for billing dashboard.

    (tick)-

    azurecompute-arm_price_factor

    The value of the discount or markup applied by the partner to the end user.
    The default value is 1.

    (tick)-
  6. For reseller customers with Azure plans under “CSP” subscriptions, create the following properties:

    PropertyDescriptionPrevious valueMigration
    azurecompute-arm_only_bill_subscription

    For Azure plans under CSP accounts only.
    If this property is "true", for an Azure plan, only bill for usage -
    do not include the customer's products and services in the billing data for this enterprise.

    New-
  7. For any reseller customer that will not use the compute features of the provider, to display data on the Billing dashboard, enter compute Credentials on the Public tab in the format Subscription##TenantId. 
    See Add credentials of reseller customers for billing only.
  8. In Abiquo, edit the reseller enterprise and go to Credentials → Pricing and add the Pricing credentials,
  9. In Abiquo, users will require the privileges to Display hybrid dashboard tab and View bills. See Configure dashboard display



Display Google Cloud Platform billing data

This page describes how to configure Google Cloud Platform billing data for display on the dashboard of the Abiquo multi-cloud platform.

  1. To configure Google to supply billing data, follow Google documentation to set up billing data export.
    See https://cloud.google.com/billing/docs/how-to/export-data-bigquery-setup
    This will require permissions to administer the account.
    To summarize, you can go to the Google console →  BigQuery →  select the Project and create a dataset, for example, "billingDatasetId". Note the name of your billing dataset.
  2. Check that the service account for Abiquo has the "Big Query Viewer" role
  3. Log in to Abiquo and edit the Abiquo enterprise
  4. Go to Properties and enter the properties as described here.

    PropertyDescription
    dataset_idName of your billing dataset, e.g. billingDatasetId
    googleCloudPlatform_price_factorOptional markup property
    googleCloudPlatform_discountOptional discount property
  5. If you already entered the compute credentials but did not mark Also use for pricing, go to Credentials→ Pricing and enter them in the following format:
    • Access key ID: project_id#client_id#client_email#private_key_id
    • Secret access key: private_key
    For details of how to obtain these credentials, see Obtain Google Cloud Platform credentials



Configure billing dashboard

By default, the billing data does not display on the Hybrid tab.

To enable the display of the billing details on the Hybrid tab, configure billing dashboards and assign the following privileges to user roles:

Privilege: Display hybrid dashboard tab, View bills,



 

Configure billing charts

To configure the billing charts, use UI configuration properties. For example:

  • Number of months to display bills for 
  • The currency conversion factors for billing dashboards
  • Provider list with complete friendly names

For UI configuration properties documentation, see Configure Abiquo UI

 


 

Configure billing data

If there is no data, the Billing sections will not display.

To configure the scripts to obtain data for the billing sections on the Hybrid tab, see Display cloud provider billing data.


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