Skip to content

AWS Account Registration

Octo supports registering AWS accounts through AWS Console and Terraform.

  • AWS console: requires you sign-in to your AWS account and deploy stacks or stackset in your AWS account.
  • Terraform: deploy the necessary resources in your AWS account using our terraform module

These registreation methods enable Octo to retrieve usage and billing data, perform API operations, and optionally register linked accounts under a payer account.

Via AWS Console

Step 1: Select Registration Method

Choose Connect via AWS Console. AWS Console

Step 2: Basic Details

Recommended to register billing account (AWS payer account)

We recommend registering your AWS billing account (payer account) instead of the sub-accounts (linked accounts) as you can have the option to easily include the sub-accounts at the end of this process

a. Input your AWS Account ID (12 digits)

b. Input Account Name

c. Click Register Account
Octo will double check whether existing account has already existed in the system. If the account name or the AWS account ID exist in Octo it will prompt a error banner.

d. If there is no error, then click Next

Basic details

Step 3: Setup API Access

In this step it will deploy a stack in your AWS account, this will setup needed permission to allow Octo to perfome API Operation in your account. You can learn more about how this is done with CloudFormation template [here]

a. Click Open AWS create stack page This will bring you create stack page in your currently signed-in AWS account, make sure you deploy the stack in your intended account, default region would be us-east-1.

Stack page

b. In the stack form page in AWS, please check default values when creating stack:

  • Stack name (You can retain the value or input your desired stack name.)
  • ExternalId (Do not change.)
  • Principal (Do not change.) stack values

c. Check the stack details and at the end of the page Tick the checkbox to agree that says "I acknowledge that AWS CloudFormation might create IAM resources with custom names. message."

d. Click Create stack button. If create stack is success, go back to Octo.

Agreement

e. Back in Octo, Click Check and Confirm to verify the deployment.

f. The verification will check whether your AWS account is a billing (payer account) or a sub-account (linked account)

Sub-account (Linked account)
If the account is a sublinked, you can click the Confirm and Finish button to finish the registration. Linked Account

Biling account (Payer Account)
If payer then click Next to proceed with additional steps for payer accounts. Payer Acc

Step 4: Setup CUR and S3 bucket (Payer account only)

If you initially connected to Payer account in the previous step. You will see this step. To pull your AWS data to Octo, there is a need to setup the CUR and S3 bucket for payer accounts. You have two options to choose either New CUR setup or Use existing CUR setup.

New or Existing

Setting up the CUR and S3 bucket using New CUR setup

Setup CloudFormation using default configuration

The CUR export settings and the target S3 bucket will be deployed to us-east-1 region.

  1. Select Default configuration default

  2. Click Open AWS Create Stack Page Stack page

  3. Clicking the button above will take you to your CloudFormation console

  4. Please make sure that it is deployed on the default us-east-1 region Default

  5. Once you're done, go back to Octo and click Check and Confirm to start the verification process Verify New Setup

  6. If the verification is successful, you'll have the option to add a sub-account. You can either add and click Check and Confirm again to finish, or simply skip the sub-account step Sub account

Setup target S3 bucket in a different region.

S3 bucket is setup on a desired region aside from us-east-1 region.

  1. Select Target S3 bucket in a different region Custom region

  2. Under S3 Bucket, click Open AWS Create Stack Page

  3. Clicking the button above will take you to your CloudFormation console

  4. Under CUR, click Open AWS Create Stack Page

  5. Clicking the button above will take you to your CloudFormation console Stack page Custom

  6. Provide a stack name.(You can retain the value or input your desired stack name.) Then set the CurS3BucketOption parameter to USE_EXISTING, then set your CurS3BucketName and CurS3BucketRegion accordingly Custom region

  7. Once done, come back to this page and click Check and Confirm to start the verification process Success Check and Confirm

  8. After that, you have an option to add a sub account, you can click the Open AWS Create Stack Page and then click the Check and Confirm button to finish. sub account

If you prefer not to add a sub-account, simply click Skip and finish

Setting up the CUR and S3 bucket using Existing CUR setup

Existing Setup

  1. Click Open AWS Create Stack Page Stack page

  2. Clicking the button above will take you to your CloudFormation console

  3. Provide a stack name.(You can retain the value or input your desired stack name.) Then set your CurS3BucketName and CurS3BucketRegion accordingly to create stack. Note, do not change the Principal Existing CUR

  4. Once done, come back to this page and click Check and Confirm to start the verification process Verify Existing

  5. After that, you have an option to add a sub account, you can click the Open AWS Create Stack Page and then click the Check and Confirm button to finish sub account

If you prefer not to add a sub-account, simply click Skip and finish

Step 5: Adding sub-accounts (linked accounts)

Optional to add sub-accounts immediately

You can skip this step and add the sub-accounts later in the billing account details page in Octo.

This step uses stackset to deploy API Access in all sub-accounts (linked accounts) under the billing account (payer account). This is useful if your organization have many linked accounts that you want to register to Octo.

add sub accounts step

  1. Stackset page
    If you choose connect all linked accounts, click Open AWS Create Stack Page button.
    This will open AWS Create StackSet page in a new tab. Make sure you are signed in to the correct AWS account which is the payer account StackSet page

  2. Choose a template (AWS StackSet page)

    1. In the StackSet page, scroll down to Prerequisite - Prepare Template and select Template is ready

    2. Under Specify template, ensure that Amazon S3 URL is selected and paste the S3 template URL. You can find the URL back in the Octo Add-sub accounts page

    3. Click Next

    Choose Template

  3. Specify StackSet details

    1. Fill in StackSet name with your desired name or you can copy and paste from Octo

    2. Paste your InternalID and Principal into the relevant field under Parameters. You can find the details back in the Octo Add-sub accounts page

    3. Click Next

    Stackset Details

  4. Configure StackSet options

    1. Under Execution configuration, select either Inactive or Active

    2. Check the checkbox below before clicking Next

    3. Click Next

    Stackset Options

  5. Set deployment options

    1. Scroll down to Specify regions and input us-east-1

    2. Click Next

    Deployment Deployment next

  6. Review

    1. Review your newly created StackSet and click Submit

    2. Your new StackSet should appear within a few moments on the main StackSets page

  7. Checking in Octo

    1. Go back to Octo and click Check and confirm access

    2. When you use a success message banner proceed to click Finish to complete the entire process

    sub-account-connected-successfully

Via Terraform

You must have terraform installed in your local machine to proceed. You can follow this guide
(Optional) If you prefer to use AWS CLI for authenticating your AWS account, you can follow this guide.

  1. Select Registration Method
    Click Via other options, choose Terraform Terraform

  2. Basic Details
    This step will save your account's Id and name if provided.

    a. Input your AWS Account Id (12 digits)

    b. Input Account Name

    c. Click Register Account

    d. If there is no error, then click Next

    Basic Details

  3. Check this terraform module, from there you can read it's README section for more detailed information about the module and the required inputs.

  4. Run terraform init, this initializes a working directory containing Terraform configuration files, terraform plan to check what resources will be created, and terraform apply to create those resources. You can also check here for more information about the Terraform CLI.

  5. After running those commands above, check if the deployments are successful, if so, click Check and confirm to verify. You can also check in your AWS account console to see if the resources are properly created.

  6. On Octo, you can see the status of the deployments for API Access, CUR and S3 bucket (For payer account only), and multiple account API access - optional (For payer account only).

  7. If API Access is successful, you can click Confirm and Finish

Terraform Finish

For Payer accounts, if it's registered without using stackset, you can still enable it by doing the steps above, just make sure you set the use_stackset to true in the terraform module, it will update the resources and automatically register all your linked account to Octo, there is no need to delete your payer account and register again.