Refer the following document for the step by step project walkthrough.
Project Documentation: Deploy Scalable Java Applications on AWS Using Terraform
For this project you can use the open source pet clinic application (Java Spring Boot)
https://github.com/spring-projects/spring-petclinic
-
DevOps Tools
- Jenkins
- Packer
- Ansible
- Terraform
-
AWS Services
- Application Load Balancer (L7)
- Autoscaling Group
- AWS secrets manager
- RDS (MySQL)
- Build Java application
- Use Packer & Ansible to build the AMI With application code
- configure application logging
- configure cloudwatch agent with the application log location.
- Use Teraaform to provision the following
- MySQL RDS instance and store the username and password in AWS secrets manager
- Provision Application Load Blancer
- Create a launch template With the Application AMI
- Provision Autoscaling Group with Launch tempalate that use AMI built by packer and attach it to Loadbalancer.
- Verify application by accessing it using Load Balancer endpoint.
- Verify application logs in Cloudwatch