Skip to content

Latest commit

 

History

History
73 lines (52 loc) · 2.95 KB

README.md

File metadata and controls

73 lines (52 loc) · 2.95 KB

Trusted Analytics Platform AWS CloudFormation Templates

Prerequisites

  1. Install virtualenv.
  2. Allocate an Elastic IP address.
  3. Create a key pair.

Parameters

Name Description Default value
cfPassword
cfSystemDomain
cfElasticIP
KeyName
ClouderaMasterInstanceType m3.xlarge
ClouderaWorkerCount 3
ClouderaWorkerInstanceType m3.xlarge
NATInstanceType t2.micro
cfRunnerZ1InstanceType c3.large
cfRunnerZ1Instances 1
TerminationProtectionEnabled true

You can use xip.io as a domain. For example for Elastic IP 75.101.155.119, domain 75.101.155.119.xip.io can be used.

Creating an AWS CloudFormation template

Create and activate virtualenv:

$ virtualenv venv
$ source venv/bin/activate

Install requirements:

$ pip install -r requirements.txt

Configure ansible-pull:

$ export ANSIBLE_PULL_URL=https://<username>:<token>@github.com/<repository>/ansible-playbooks.git
$ export ANSIBLE_PULL_CHECKOUT=master

Create AWS CloudFormation descriptions:

$ ./TAP.py >TAP.template

Creating a stack using AWS CloudFormation Console

Launch Stack

Creating an AWS CloudFormation stack using cfn script

Configure the AWS CLI using environment variables:

$ export AWS_ACCESS_KEY_ID=<access_key>
$ export AWS_SECRET_ACCESS_KEY=<secret_key>

Create and upload template to S3 bucket, then create stack using template.

$ cfn -c TAP.template -b <bucket> -p cfPassword=<password> -p cfSystemDomain=<domain> -p cfElasticIP=<elastic_ip> -p KeyName=<key_name> -r <region> -t -C CAPABILITY_IAM <stack>

CAPABILITY_IAM is required for the IAM resources.