Deploy Fargate ECS Apps & Infrastructure: AWS with Terraform (Udemy.com)
Learn to work with AWS ECS Fargate, implement complete infrastructure deployment using Terraform with an AWS Architect!
Created by: Niyazi Erdogan
Last updated March 2021
What you will learn
- Learn how to work and code against AWS using Terraform!
- Learn how to work with AWS Fargate using Terraform!
- Implement ECS Fargate Applications on AWS using Terraform with Infrastructure-as-Code (IaC)!
- Learn how to register a domain with Route53 and use with Application Load Balancer for AWS ECS Fargate!
- Learn how to create an SSL HTTPS Certificate for your Route53 domain!
- Learn to implement 3-Layered Production-Grade Infrastructure for your Applications on AWS using Terraform IaC!
- You'll be confident to work with AWS using Terraform for any kind of AWS Resource on VPC and ECS Fargate!
- Learn how to Dockerize your Spring Boot Applications
- Learn how to create a Dockerfile for your application
- Learn how to create a Task Definition for your AWS ECS container application
- Learn how to develop end-to-end pipeline with Shell Scripting for application deployment!
How it compares
Against the other 518 rated Udemy courses in Software Development on CourseDuck:
- Rating4.5 out of 5higher than 41% of them
- Reviews753#173 of 519 by number of reviews
- Length4.8 hoursshorter than 63% of them
- Last updatedMarch 2021earlier than 86% of them
Course Description
Learn to implement production-ready infrastructure with AWS ECS Fargate container platform using Terraform today with an AWS Certified Solutions Architect!
Do you want to implement your complete infrastructure as code? Do you want to learn the coolest and most popular infrastructure configuration management tool on the market, Terraform and make a huge contribution to your skillset?
Then this course is what you need! You will not only learn how to implement Terraform code but also implement an AWS Well-Architected Framework recommended deployment model which will be Highly-Available, Scalable, Fault-Tolerant and Resilient!
In this course, we will start by exploring the tools we need throughout the course. Just to note here too, we will need an IDE with a proper Terraform plugin available. An AWS account is also necessary so I will show you how to get one if you do not already have it. Sure we will set up our environment variables for Terraform deployments and also configure our IDE to use Terraform efficiently by installing a Terraform Plugin which will highlight the syntax and auto-complete everything we intend to do.
In between all these, I will also give you a crash course on Terraform where you will gain all the information you need to implement this infrastructure!
Once we have everything set up, now is time to get our hands dirty and write some Terraform code to implement our cool, shiny architecture!
We will start off with implementing our remote state and obtaining a key pair which we will use to connect to the instances we will launch. Once we get these done, we will first create the Virtual Private Cloud (VPC) environment. To meet the demands of high-availability, we will spread our private and public subnets to three different availability zones inside a region. We will also create our Private and Public Route Tables to manage the routing between our resources inside VPC.
We’ll also make sure to attach an Internet Gateway (IGW) to our VPC to use with public subnets so the resources in those will be able to access and receive public internet traffic. Our private subnet also need some form of internet connection but not both ways; we want only internet access for outgoing connections from our resources in private subnets! To satisfy this requirement, we will launch and attach a NAT Gateway to our private route table.
Now is the time to develop our AWS ECS platform! To start with, we will first register ourselves a domain which we will use for our Spring Boot application. Then we will create an ECS cluster, Target Group, Application Load Balancer, HTTPS Listener and Certificate and IAM roles for ECS cluster to prepare for application deployment.
Next up is to check out the Spring Boot application that we will deploy to AWS ECS Fargate! We will take a quick look and start by implementing our ECS Fargate Task Definition. We will move on to create our IAM Role and Policy, ECS Service, Target Group, Listener Rule and CloudWatch Log Group to finish up with getting ready to deploy our application!
In the next chapter, we will script the whole pipeline of our application from building with Maven to pushing Docker image to AWS Elastic Container Registry (ECR) and then to deploying to AWS ECS Fargate! We will create ourselves a shell-script to implement everything as a different stage and develop the whole pipeline!
Once we're satisfied with the pipeline, we'll start executing our stages one by one! We'll first build the code, build and push our Docker image to AWS ECR and finally we will deploy our Spring Boot application to AWS ECS Fargate to have it up and running with our registered domain!
There are much more to come in this course and I cannot wait for you to come and learn the best practices from an AWS Certified Solutions Architect!
Instructor Details
- 4.5 Rating
753 Reviews
Niyazi Erdogan
Hi, I'm Niyazi Erdoğan. I'm a software engineer and AWS Certified Solutions Architect with over ten years of experience in various fields. I'm living in one of the most beautiful cities in the world, Istanbul.
I'm a self-taught programmer and I've been programming since I was in middle-school. My experience ranges from embedded development to server-side and client-side development technologies.
I started my career while I was only a student as a Java Developer in healthcare industry as a private contractor. Then I moved in to the largest telecommunication company of Turkey which is Turkcell. After several years and various different positions at Turkcell, I moved in to Portugal and worked for another large telecommunication company for several years with Java technologies.
After the telecommunication industry experience and several different experiences, I joined one of the largest companies of its sectors which is Siemens. I currently works at Siemens working with various Java and Cloud technologies
Besides my day job, I really enjoy developing software with lots of different technologies.On the other hand, I do love to follow tech conferences and blogs about latest technologies and tools. I also like to read books within or without my field of expertise and love to watch series like Westworld and Game of Thrones. And I make sure that I stay healthy with daily walking, running and workout.
More courses by Niyazi Erdogan
Learn to Develop for Cloud with Pivotal Cloud Foundry (2018)
3.8 (1,664 Reviews)
Provider: Udemy
Time: 2.7h
$11.99
Learn Spring & Spring Boot – 10x Productive Java Development (2019)
4.4 (350 Reviews)
Provider: Udemy
Time: 9.6h
$49.99
RDS PostgreSQL and DynamoDB CRUD: AWS with Python and Boto3 (2023)
4.4 (221 Reviews)
Provider: Udemy
Time: 4h
$39.99
More Software Development courses
MATLAB Programming Simulink: Beginner to Pro with ChatGPT (2026)
5.0 (930 Reviews)
Provider: Udemy
Time: 9.6h
$10.99
Build Web Apps with Nuxt.js 3: Master TypeScript & API [New] (2026)
4.9 (635 Reviews)
Provider: Udemy
Time: 6.7h
$19.99
Terraform 101: The Ultimate Hands-On Guide [Azure Edition] (2025)
4.8 (1,975 Reviews)
Provider: Udemy
Time: 11.9h
$94.99
Reviews
By Bud Linville on 5/30/2024
Solid course. Does not spend much time on the concepts, themselves, but rather starts spitting out the code. For this reason, I would label this as an intermediate course. For a more beginner friendly option to terraform, I would reccomend Cloudcasts course on youtube: https://www.youtube.com/playlist?list=PLI8rNSktL2DR9yk5lMxpFcnOHI29-W6N3 While he doesn't go through fargate, he will get you spun up with a basic VPC for ec2 instances with proper staging and production environments. Once you're comfortable there, I would come back to this course
By Andres Camilo Vallejo Hernandez on 6/7/2023
A really helpful course that is very direct to tell the information you need, to deploy an app using ECS with Fargate with the colaboration of Terraform. Just needed a little complement info about different services used in AWS like NAT Gateway and its use on this project. The teacher is very organized and I loved how he divided the infrastructure in layers with .tfstate remotely. Thank you very much Niyazi for the course and information.
By Jose Duarte on 3/30/2022
Really good course, I would rate it higher but some of the code is outdated, nonetheless it was easy to find code updates. Other than that I really liked how the terraforms "layers" were broken up and were able to communicate with each other. I am definitely going to follow that pattern in my future project. The instructor explained everything clearly and and I had a good time learning how to use terraform to deploy ecs infrastructure.
By Eduardo Jose Mandry Mila de la Roca on 11/24/2021
Yes. I like a lot because it covered a lot. I miss a little more information about architecting with the alb but, it is a good step by step for someone new to Terraform and Fargate
By Mitesh Upadhyay on 11/18/2021
Excellent Course . It covers everything which is needed. A Big Combo to the Tutor.
By Steven Duque on 12/4/2020
Awesome course! Got it all working and learned a TON! He builds everything with you so it really feels like your building a project from the ground up! Excited to put all this to use in my own application! The course is a little old but all you need is: - Terraform Upgrade Guide: https://www.terraform.io/upgrade-guides/0-12.html - Terraform AWs Provider docs: https://registry.terraform.io/providers/hashicorp/aws/latest/docs With that I got everything deployed and working smoothly with terraform, docker and AWS!
By Chinthaka Shashi on 7/18/2020
I gain lots of hands-on knowledge on Terraform on AWS by using this course. I used to spend much more time specially on provisioning TLS certificate but know I know how easy it is to use Terraform to automate it. And good choice of using the IntelliJ as a code editor in the lectures as it shows the students the value of productive tools in the market when writing infrastructure as code.
By Ali Almiskeen on 5/24/2020
I really liked this course There was a real expectation that should have been listed at the beginning even though it might sound like a common sense the fact that you need a deep knowledge with AWS
By Tan Boon Kuay on 5/4/2020
It is all good until chapter 9... It become very hard to carry on. Quite a bit of code is type in without further explanation. Example, the purpose of doing the split, what we trying to achieve here. Going back to chapter1, why main.tf is renamed to output.tf? There are bit and pieces around that was been done without reason, explanation or a simple instruction without further elaborating.
By Jeremy T on 7/7/2019
This course helped me get up to speed with Terraform and AWS Fargate. The author needs to double check some of the setup and commands for OS X users (i.e. install java, setup maven, docker tag) but otherwise, a very great course if you are new to this stuff.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100






![Build Web Apps with Nuxt.js 3: Master TypeScript & API [New]](/programming/software-development/images/6457785_5adc_4.jpg?v=1789443959)

![Terraform 101: The Ultimate Hands-On Guide [Azure Edition]](/programming/software-development/images/6208847_f60a_7.jpg?v=1791193600)
