AWS Cloudformation
We use AWS cloudformation for an automated complete setup including all Infrastructure, Networking, Software Installation, etc.
The cloudformation template and bootstrap scripts will be provided as part of the installation bundle. The parameters for the cloudformation are as follows:
Global configs
DeploymentName
A name that will be appended to any resources which are named as part of this template.
Default: corridor
LicenseKey
License Key for the installation.
Default: None (required)
VPC
VPC to create all instances in
Default: None (required)
CorridorBuildS3BucketName
The bucket name for the S3 location of the Corridor build
Default: None (required)
CorridorBuildS3Prefix
The prefix for the S3 location of the Corridor build (No trailing slash)
Default: ''
KeyName
Name of an existing EC2 KeyPair to enable SSH access to the instances
Default: None (required)
DataLakeS3BucketName
The bucket name for the S3 location of the data lake to write to
Default: None (required)
DataLakeS3Prefix
The prefix for the S3 location of the data lake to write to (No trailing slash)
Default: ''
Database Configuration
DBInstanceType
The Instance Type for the Database machine
Default: db.t3.large
DBAllocatedStorage
The size of the database (in GB)
Default: 5
DBPassword
The database account password for the "root" user (minimum 8 characters)
Default: None (required)
DBSubnetIds
List of Subnets for Corridor DB.
Default: None (required)
API/WebApplication/Redis Machine Configuration
ApiAppInstanceType
EC2 Instance Type for the API and Web Application machine
Default: m5.xlarge
ApiAppAMIId
AMI ID for the API+WebApplication+Redis machine (For Redhat - https://access.redhat.com/solutions/15356, For AmazonLinux2 - https://aws.amazon.com/amazon-linux-2/release-notes/))
Default: ami-0b69ea66ff7391e80
ApiAppSubnetId
Subnet Id for the API+WebApplication+Redis Machine
Default: None (required)
Cluster Configuration
ClusterAmiId
The AmazonLinux1 AMI for the EMR cluster - https://aws.amazon.com/amazon-linux-ami/
Default: ami-00eb20669e0990cb4
ClusterEbsVolumeSize
The size of the EBS volume (in GB) for each EC2 Instance in the Cluster
Default: 200
ClusterMasterInstanceType
EC2 Instance Type for Cluster Master node
Default: m5.2xlarge
ClusterWorkerInstanceType
EC2 Instance Type for Cluster Worker nodes
Default: m5.2xlarge
ClusterWorkerCount
Number of worker nodes to create in the cluster
Default: 3
JupyterS3BucketName
In order to have S3 backed Jupyter need a bucket name to store the files
Default: None (required)
JupyterS3Prefix
Prefix to add for the Jupyter S3 location. (Do not include starting nor trailing slash)
Default: 'corridor-notebooks'
ClusterSubnetId
Subnet Id for Cluster. Recommended to be the same as the API/Redis subnet.
Default: None (required)
ClusterAccessPolicy
Add a Managed Policy ARN to control access to the cluster. This policy will be added in addition to Managed Policies created by template for access to Corridor Build Location, Jupyter Notebook Location, and Data Path Location.
Default: None
ClusterServiceRole
Cluster Service Role. If not provided will use the AWS Default Role "EMR_DefaultRole"
Default: None
ClusterJobFlowInstanceProfile
Cluster Job Flow Instance Profile. If not provided the template will create an Instance Profile based on permissions needed for setup.
Default: None
Application Load Balancer Configuration
ALBSubnets
Choose which subnets the Application Load Balancer should be deployed to. You must specify subnets from at least two Availability Zones.
Default: None (required)
Security Configuration
DevCidrIP
The IP address range that can be used to SSH to the Corridor API/App/Redis Machine and access RDB via 3306
Default: None
HttpCidrIP
The IP address range that can be used to access the application via HTTP(s)
Default: None