These are the input parameters for this template. All of these parameters must be supplied for this template to be deployed.
Metadata is mostly for organizing and presenting Parameters in a better way when using CloudFormation in the AWS Web UI.
Establishes conditions based on input parameters.
EC2 Security Group for the Elastic Load Balancer (ELB)
EC2 Security Group for the web servers
EC2 Security Group Ingress to update the existing Security Group for RDS to allow access from web servers
EC2 Security Group Ingress to update the existing Security Group for SoftNAS to allow access from web servers
- includes ASG, Launch Config & Scheduled Actions
Launch Configuration
Can't do this in Launch Configs (as of April 2018), leaving it for hopeful future use, but right now this is done via user data CreditSpecification:
- CPUCredits: unlimited
Variables that get populated by CloudFormation need to be in the main user data script
Download PowerShell bootstrap script from S3
Run bootstrap script (dot-sourced)
Create error files
Get the EC2 instance ID
Retrieve email configuration from Systems Manager Parameter Store
Finish email config
Send email
Auto Scaling Group
Scheduled Actions
- Includes ELB, target group & listeners
ELB itself
ELB Target Group
ELB Listeners
- Includes Log Group
CloudWatch Log Group
- Includes roles, instance profiles & policies
IAM Roles
IAM Instance Profilesyssm
IAM Policies
Route53 Record Set Group
Alias for ELB
Placeholder record set for the web server alias in us-west-2a (actual value gets set as part of user data script)
Placeholder record set for the web server alias in us-west-2b (actual value gets set as part of user data script)
CloudFormation template for Sunapsis web/application servers (4 of 5)