Terraform Project – Assignment – Exercise – Lab#2: Modules

How to submit Assignment?

Please submit assignment @https://www.debug.school/ and POST url share in the comments of this post.


  • Project 1 – Create a terraform Module in which you create a Ec2-instance RHEL7.5, Install JDK and Maven into Ec2-instance and create a jar file using pom.xml.
    Source Code – https://github.com/scmgalaxy/helloworld-java-maven
  • Project 2 – Create a terraform Module in which using Azure you create a virutal machine of RHEL7 and install Ansible and run the run a following ansible role into it.
    Source Code – https://github.com/devops-school/ansible-hello-world-role
  • Project 3 – We are looking to improve the security of our network and have decided we need a bastion server to avoid logging on directly to our servers. Add a bastion server, the bastion should be the only route to SSH onto servers in the VPC.
  • Project 4 – The team have decided to use the Java framework Spring Boot to build features for our website. Deploy the following sample application into the VPC, reconfigure Nginx as a reverse proxy to the Java app. Provide a Terraform output/curl command to get the hello world text that the application serves.

Source Code – https://github.com/sebwells/example-java-spring-boot-app

Sample Terraform code – https://github.com/rjbate/terraform-exercise

  • Project 5 – Deploy a sample Tomcat Application on an Azure Virtual Machine Scale Set
    • Create a customized Ubuntu managed image with Tomcat installed
    • Store the image in a shared image gallery
    • Create a Key Vault enabled for disk encryption and a Key
    • Deploy a Virtual machine scale set
    • Enable service endpoint for Key Vault.
    • Update key vault access policy to allow scale set subnet.
    • Enable disk encryption extension and associate with key
    • Access Tomcat webpage

Source – https://github.com/preddy727/AzureTerraformTemplates

Rajesh Kumar
Follow me