Metadata is mostly for organizing and presenting Parameters in a better way when using CloudFormation in the AWS Web UI.
These are the input parameters for this template. All of these parameters must be supplied for this template to be deployed.
All of these are 24/7 instances. If STG we will use an instance type to match PRD If Dev or TST we are using a small instance type Prototype is a placeholder in case we want to start adding prototypes for testing in UAR at a later date
These are all of the actual AWS resources created for this application.
This defines a Layer in the OpsWorks stack. It sets up the Chef cookbooks to pull in from S3, as well as a list of specific Chef recipes to run.
There is currently a chef recipe dependency on this shortname prefix
This defines the application for the OpsWorks stack. NOTE: UAR does NOT use docker like KFS does, so the UAR application is installed directly onto the created EC2 instances by Opsworks
The prototype Stack will now have -proto appended to their names. Because of the limitations of Cloud custodian + Cloud Formation templates we are going this route.
This defines the OpsWork stack itself. Mostly its network configs and defaults. The main thing in here is the source for the Chef Cookbooks to be used by any layers.
Defines the Load Balancer for UAR. http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html
This is the IAM role that will be applied to the OpsWorks EC2 Instances. Any AWS specific permissions that the node might need should be defined here.
Access to the S3 Bucket which holds application specific files that need to be loaded on each application node. (ojdbc.jar, encrypted keystores, etc)
Access to CloudWatch for the log group and log stream from each application environment.
IAM Access for Route53 to the UAR envs
Create a CloudWatch Log Group for each application environment. This allows us to set the retention timeframe. UAFAWS-302 - Create dependency on CWlog Log group and EC2 instance with CWlogs agent. During CF template delete CW agent has access to recreate log group after first pass
This is just a little construct to connect a set of roles together into a profile. The profile is referenced in the OpsWorks stack itself.
Security group for the OpsWorks application instances themselves. Needs to permit incoming traffice from the ELB, and any other authorized incoming sources.
This is the Security Group that wraps the Load Balancer. This controls what network traffic is allowed into the ELB. Just web traffic is allowed from anywhere.
Create a DNS entry in Route53 for the UAR ELB. This creates a CNAME pointing at the DNS name of the UAR Load Balancer.
Output values that can be viewed from the AWS CloudFormation console.
UAR Environment CloudFormation Deployment
This CloudFormation template will build out a whole UAR environment, including an OpsWorks stack, Load Balancer, Application nodes.