Deploy Fargate ECS Apps & Infrastructure: AWS with Terraform
4.2 (109 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
512 students enrolled

Deploy Fargate ECS Apps & Infrastructure: AWS with Terraform

Learn to work with AWS ECS Fargate, implement complete infrastructure deployment using Terraform with an AWS Architect!
4.2 (109 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
512 students enrolled
Created by Niyazi Erdogan
Last updated 4/2020
English
English [Auto-generated]
Current price: $55.99 Original price: $79.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5 hours on-demand video
  • 41 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll 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!
  • Learn how to read and code against an Terraform HCL language!
  • You'll be able to launch your own infrastructure on AWS without even signing-in to AWS!
  • Learn the AWS Well-Architected Framework Best-Practices while implementing!
Course content
Expand all 67 lectures 04:49:46
+ Preparing The Environment for Development
2 lectures 18:17
Create an AWS Account If You Don't Already Have It!
09:04
Logging into AWS Console and a Walkthrough
09:13
+ Linux Environment Setup
4 lectures 09:46
Installing Terraform and IntelliJ Plugin
03:47
Installing Docker
02:58
Installing AWS SDK (CLI)
01:16
Preparing AWS Credentials for Environment
01:45
+ Windows Environment Setup
4 lectures 15:12
Installing Terraform and IntelliJ Plugin
04:37
Installing Docker
03:19
Installing AWS SDK (CLI)
04:20
Preparing AWS Credentials for Environment
02:56
+ MacOS Environment Setup
4 lectures 11:09
Installing Terraform and IntelliJ Plugin
03:16
Installing Docker
02:52
Installing AWS SDK (CLI)
03:01
Preparing AWS Credentials for Environment
02:00
+ Virtual Private Cloud (VPC) Network Infrastructure with Terraform - Part 1
6 lectures 21:17
Creating S3 Bucket for Terraform Remote State
01:06
Creating Our Project
01:35
Defining Our Remote State Configuration
03:10
Creating a Virtual Private Cloud (VPC)
06:25
Creating Public Subnets
05:14
Creating Private Subnets
03:47
+ Virtual Private Cloud (VPC) Network Infrastructure with Terraform - Part 2
7 lectures 30:20
Creating a Route Table for Public Routes
00:54
Creating a Route Table for Private Routes
00:43
Associating Route Tables with Subnets
05:05
Creating an Elastic IP for NAT Gateway
02:11
Creating the NAT Gateway and Adding to Route Table
03:54
Create an Internet Gateway (IGW) and Adding to Route Table
02:47
Executing Terraform and Outputting Variables for Remote State Reading
14:46
+ Elastic Container Service (ECS) Platform Infrastructure with Terraform
11 lectures 59:31
Registering a Domain on Route53 for Our ECS Platform
03:10
Defining Backend and Reading Remote State for Layer 1 Infrastructure
04:40
Creating ECS Cluster
00:41
Creating Application Load Balancer (ALB) with Security Group for ECS Cluster
08:10
Creating HTTPS Domain SSL Certificate and Validating for ECS Cluster
10:21
Adding Route53 Record for ALB Domain Name
03:33
Creating a Default Target Group for ECS Cluster
02:20
Creating an HTTPS ALB Listener for Load Balancer for ECS Cluster
04:44
Creating IAM Role for ECS Cluster
05:05
Attaching IAM Policy to ECS Cluster Role
05:19
Executing Terraform and Outputting Variables for Remote State Reading
11:28
+ ECS Fargate Application Deployment with Terraform
12 lectures 52:22
Taking a Look at Spring Boot Application We Will Deploy
01:31
Defining Backend and Reading Remote State for Layer 2 Infrastructure
05:02
Creating ECS Task Definition
08:28
Resolving Template and Creating ECS Task Definition
08:14
Creating IAM Task and Execution Role and Policy for ECS Tasks
07:17
Creating Security Group for ECS Service
03:38
Creating ALB Target Group for ECS Service
03:58
Creating ECS Service
03:31
Creating ALB Listener Rule for ECS Service
03:13
Creating CloudWatch Log Group for ECS Service
01:03
Reviewing Our Code and Infrastructure Before Execution
03:52
Providing Tfvars for Terraform Variables
02:35
Requirements
  • An AWS Account - Free Tier Available!
  • General Knowledge on AWS Model would be nice
  • Theoretical Knowledge on VPC and ECS Concepts would be nice but not necessary!
  • Any IDE or even a text-editor, recommend with a Terraform Plugin
Description

Learn to implement production-ready infrastructure with AWS ECS Fargate container platform using Terraform today with an AWS Certified Solutions Architect!

Source code now updated with Terraform 12!

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!

Who this course is for:
  • Who wants to learn AWS ECS Fargate; one of the best container environments out there!
  • Who wants to design and develop AWS ECS Fargate deployment from zero-to-hero using Terraform!
  • Who wants to learn how to implement Infrastructure-as-a-Code (IaaS) with Terraform on AWS
  • Who wants to learn Terraform, infrastructure configuration language from Terraform
  • Who wants to learn how to launch Virtual Private Clouds, Public-Private Subnets and more with Terraform code on AWS
  • Who wants to learn and launch Highly-Available, Scalable, Fault-Tolerant and Resilient architectures on AWS!
  • Beginners on AWS who wants to put their theory in practice