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.
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
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
.
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.)
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.
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.
Biling account (Payer Account)
If payer then click Next to proceed with additional steps for payer accounts.
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.
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.
-
Select
Default configuration
-
Click
Open AWS Create Stack Page
-
Clicking the button above will take you to your CloudFormation console
-
Please make sure that it is deployed on the default
us-east-1
region -
Once you're done, go back to Octo and click
Check and Confirm
to start the verification process -
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
Setup target S3 bucket in a different region.
S3 bucket is setup on a desired region aside from us-east-1 region.
-
Select
Target S3 bucket in a different region
-
Under S3 Bucket, click
Open AWS Create Stack Page
-
Clicking the button above will take you to your CloudFormation console
-
Under CUR, click
Open AWS Create Stack Page
-
Clicking the button above will take you to your CloudFormation console
-
Provide a stack name.(You can retain the value or input your desired stack name.) Then set the
CurS3BucketOption
parameter toUSE_EXISTING
, then set yourCurS3BucketName
andCurS3BucketRegion
accordingly -
Once done, come back to this page and click
Check and Confirm
to start the verification process -
After that, you have an option to add a sub account, you can click the
Open AWS Create Stack Page
and then click theCheck and Confirm
button to finish.
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
-
Click
Open AWS Create Stack Page
-
Clicking the button above will take you to your CloudFormation console
-
Provide a stack name.(You can retain the value or input your desired stack name.) Then set your
CurS3BucketName
andCurS3BucketRegion
accordingly to create stack. Note, do not change thePrincipal
-
Once done, come back to this page and click
Check and Confirm
to start the verification process -
After that, you have an option to add a sub account, you can click the
Open AWS Create Stack Page
and then click theCheck and Confirm
button to finish
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.
-
Stackset page
If you choose connect all linked accounts, clickOpen 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 -
Choose a template (AWS StackSet page)
-
In the StackSet page, scroll down to Prerequisite - Prepare Template and select Template is ready
-
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
-
Click Next
-
-
Specify StackSet details
-
Fill in StackSet name with your desired name or you can copy and paste from Octo
-
Paste your InternalID and Principal into the relevant field under Parameters. You can find the details back in the Octo Add-sub accounts page
-
Click Next
-
-
Configure StackSet options
-
Under Execution configuration, select either Inactive or Active
-
Check the checkbox below before clicking Next
-
Click Next
-
-
Set deployment options
-
Scroll down to Specify regions and input
us-east-1
-
Click Next
-
-
Review
-
Review your newly created StackSet and click
Submit
-
Your new StackSet should appear within a few moments on the main StackSets page
-
-
Checking in Octo
-
Go back to Octo and click
Check and confirm access
-
When you use a success message banner proceed to click
Finish
to complete the entire process
-
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.
-
Select Registration Method
ClickVia other options
, choose Terraform -
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
-
Check this terraform module, from there you can read it's README section for more detailed information about the module and the required inputs.
-
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.
-
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. -
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).
-
If API Access is successful, you can click
Confirm and 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.