AWS sub account setup - OXYGEN-MARKET/oxygen-market.github.io GitHub Wiki
Overview
We recommend that Snowplow users create an AWS sub-account and sandbox all of their Snowplow operations into that account.
This is particularly recommended for any users who are working with (or plan to work with) Snowplow Professional Services - as you can then assign Snowplow Professional Services liberal permissions on this sub-account, without impacting on your main account (or other sub-accounts) in any way.
Setting up an AWS sub-account
1. Setup Consolidated Billing
As a first step, log into your AWS account and click the "Sign up for Consolidated Billing" button:
https://portal.aws.amazon.com/gp/aws/developer/account?ie=UTF8...
2. Create a new account
From a non-logged in browser, you will then want to sign up again to AWS again like this:
https://portal.aws.amazon.com/gp/aws/developer/registration/in...
Call this new account snowplow-acme
(where Acme is your company name). Note the email address you signed up with.
3. Link the accounts
In your main account, head back to ConsolidatedBilling and click the Send a Request button. Provide the email address for your new sub-account.
You should receive an email to the email address for your new sub-account. Copy the activation link and paste it into your browser logged in to the sub-account.
Your accounts are now linked! This will allow us to spin up instances, create new S3 buckets etc.
4. Enable the services that Snowplow requires
Next, you need to enable the services Snowplow will require in the new subaccount.
For the Snowplow batch (Hadoop) flow:
- CloudFront
- CloudFormation
- EC2
- Elastic Beanstalk
- Elastic MapReduce
- S3
- Redshift
For the Snowplow real-time (Kinesis) flow:
- As above, plus:
- Kinesis
- DynamoDB
Next steps
You should then create the IAM user for us within this subaccount. That user should not have access to any of your existing AWS infrastructure.
For details on setting up the IAM user, see IAM setup.