USF Information Technology CloudFormation YAML Template
Learning Objectives
At the end of the assignment you will be able to:
Create a CloudFormation template that uses parameters
Install software and make configurations using a CloudFormation template
- Requirements
ubuntu-nginx.yaml
Create a CloudFormation YAML template with the name, ubuntu-nginx.yaml
, that will create an Ubuntu 20.04 server running the nginx web server. The TAs will test your script in the us-east-1 region, so use the instance id for that region. The nginx server must be running on your server. Hint: While developing this template, you probably want to spin up an Ubuntu 20.04 instance and do the install of nginx manually first to see what it takes.
Your template must have parameters for the following:
the key pair to use for connecting to the instance via ssh
the allowed CIDR block that ssh is allowed on, with a default of USF’s CIDR block.
Your security group must allow ssh connections only from the specified CIDR block, and web connections from anywhere.
Your template must create a default index.html
page in the appropriate location that displays the following: Your name in an h1
header and the title
of the page. So for instance, my page would have Dr. Ventura in both the title
and h1
header.
Extra Credit Also include the server’s public DNS name and AWS region in index.html
. For public DNS name, the naive implementation will lead to circular dependencies. Hint: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html (Links to an external site.). You are not required to do this step. However, if you do you will get 5 points (out of 100) extra credit.
What to Submit
- Submit your
ubuntu-nginx.yaml
as an attachment to the assignment.