These are the input parameters for this template. All of these parameters must be supplied for this template to be deployed.
ScheduledTasksDisabled is a flag used to determine if scheduled tasks should be disabled when task server is created
S3StackName is the name of the stack that created the S3 buckets
RdsStackName is the name of the stack that created the RDS SQL Server instance
CloudFrontStackName is the name of the stack that created the CloudFront Distribution
BucketNamePrefix is the prefix of the name of the S3 buckets
Ec2KeyPairName is the EC2 KeyPair name used for instance launch (req'd to retrieve Windows admin password)
EmailForSNSSubscription is the email address to use for the SNS subscription
InstanceTypeTask is the EC2 instance type for the task server
InstanceTypeWeb is the EC2 instance type for the web servers
VPCID is the ID of the VPC where this template will be deployed. -sls-nonprod: vpc-2dc9b34a -sls-prod: vpc-82ee9de5
PrivateSubnetA is the private Subnet ID for us-west-2a -sls-nonprod: subnet-49338600 -sls-prod: subnet-fd862bb4
PrivateSubnetB is the private Subnet ID for us-west-2b -sls-nonprod: subnet-7f019218 -sls-prod: subnet-ca49c2ad
PublicSubnetA is the public Subnet ID for us-west-2a -sls-nonprod: subnet-48338601 -sls-prod: subnet-fc862bb5
PublicSubnetB is the public Subnet ID for us-west-2b -sls-nonprod: subnet-fc862bb5 -sls-prod: subnet-cb49c2ac
AsgAZs is the list of AZs to use for the Auto Scaling Groups
SSLCertARN is the ARN of the SSL certificate to use for the ELB
Metadata is mostly for organizing and presenting Parameters in a better way when using CloudFormation in the AWS Console UI.
Establishes conditions based on input parameters.
Wow. This is a lot of resources to deploy. Do you really need them all?
EC2 Security Groups for the EC2 instances & ELB
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 to web & task servers
- Includes ELB, target group & listeners
ELB itself
ELB Target Group
ELB Listeners
- Includes Log Group
CloudWatch Log Group
- includes ASG, Scaling Policy, Launch Config & CW Alarms
Auto Scaling Groups
Launch Configurations
Initialize and format the data volume
Variables that get populated by CloudFormation need to be in the main user data script
$environmentName = "rpt"
$s3bucket = "edu-arizona-sls-nonprod-d2lcsr-trn"
$tasksAreDisabled = "true"
Download PowerShell bootstrap script from S3
Run bootstrap script (dot-sourced)
Create error files
Get the instanceId
Retrieve email configuration from Systems Manager Parameter Store
Finish email config
Send email
Initialize and format the data volume
Variables that get populated by CloudFormation need to be in the main user data script
$environmentName = "rpt"
$s3bucket = "edu-arizona-sls-nonprod-d2lcsr-trn"
Get the instanceID from the instance metadata
Download PowerShell bootstrap script from S3
Run bootstrap script (dot-sourced)
Create error files
Retrieve email configuration from Systems Manager Parameter Store
Finish email config
Send email
Scaling Policies
CloudWatch Alarms
Route53 Record Set Group
Placeholder record set for task server alias (actual value gets set as part of task server user data script)
SNS Topic
IAM Roles
IAM Instance Profiles
IAM Policies
Outputs are values resulting from the CloudFormation stack that can be: 1) Viewed in the AWS cosole under the CloudFormation service. 2) Marked as export to be imported into another stack allowing cross-stack references.
D2L Course Site Request - CloudFormation Template (4 of 4)
Deploys D2L Course Site Request remaining infrastructure.