Engineering Homework Help

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

  1. Requirements
  2. 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

  1. Submit your ubuntu-nginx.yaml as an attachment to the assignment.