- 1. Introduction 1m 14s
- 2. About This Course 3m 31s
- 3. What We Will Build In This Course? 2m 47s
- 4. What Do You Need For This Course? 2m 38s
Deploy Fargate ECS Apps & Infrastructure: AWS with Terraform
About this course
Up-to-date with Terraform 0.14+!
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!
What you'll learn
- Up-to-date with Terraform 0.14+!
- 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?
Curriculum
67 Lessons • 4H 43M- 1. Create an AWS Account If You Don't Already Have It! 9m 4s
- 2. Logging into AWS Console and a Walkthrough 9m 13s
- 1. Installing Terraform and IntelliJ Plugin 3m 47s
- 2. Installing Docker 2m 58s
- 3. Installing AWS SDK (CLI) 1m 15s
- 4. Preparing AWS Credentials for Environment 1m 45s
- 1. Installing Terraform and IntelliJ Plugin 3m 47s
- 2. Installing Docker 3m 19s
- 3. Installing AWS SDK (CLI) 1m 15s
- 4. Preparing AWS Credentials for Environment 1m 45s
- 1. Installing Terraform and IntelliJ Plugin 3m 47s
- 2. Installing Docker 2m 52s
- 3. Installing AWS SDK (CLI) 1m 15s
- 4. Preparing AWS Credentials for Environment 1m 45s
- 1. Terraform 101 18m 38s
- 2. Fargate Basics 8m 9s
- 1. Creating S3 Bucket for Terraform Remote State 1m 6s
- 2. Creating Our Project 1m 35s
- 3. Defining Our Remote State Configuration 3m 10s
- 4. Creating a Virtual Private Cloud (VPC) 6m 25s
- 5. Creating Public Subnets 5m 14s
- 6. Creating Private Subnets 3m 47s
- 1. Creating a Route Table for Public Routes 54s
- 2. Creating a Route Table for Private Routes 43s
- 3. Associating Route Tables with Subnets 5m 5s
- 4. Creating an Elastic IP for NAT Gateway 2m 11s
- 5. Creating the NAT Gateway and Adding to Route Table 3m 54s
- 6. Create an Internet Gateway (IGW) and Adding to Route Table 2m 47s
- 7. Executing Terraform and Outputting Variables for Remote State Reading 14m 46s
- 1. Registering a Domain on Route53 for Our ECS Platform 3m 10s
- 2. Defining Backend and Reading Remote State for Layer 1 Infrastructure 4m 40s
- 3. Creating ECS Cluster 41s
- 4. Creating Application Load Balancer (ALB) with Security Group for ECS Cluster 8m 10s
- 5. Creating HTTPS Domain SSL Certificate and Validating for ECS Cluster 10m 21s
- 6. Adding Route53 Record for ALB Domain Name 3m 33s
- 7. Creating a Default Target Group for ECS Cluster 2m 20s
- 8. Creating an HTTPS ALB Listener for Load Balancer for ECS Cluster 4m 44s
- 9. Creating IAM Role for ECS Cluster 5m 5s
- 10. Attaching IAM Policy to ECS Cluster Role 5m 19s
- 11. Executing Terraform and Outputting Variables for Remote State 11m 28s
- 1. Taking a Look at Spring Boot Application We Will Deploy 1m 31s
- 2. Defining Backend and Reading Remote State for Layer 2 Infrastructure 5m 2s
- 3. Creating ECS Task Definition 8m 28s
- 4. Resolving Template and Creating ECS Task Definition 8m 14s
- 5. Creating IAM Task and Execution Role and Policy for ECS Tasks 7m 17s
- 6. Creating Security Group for ECS Service 3m 38s
- 7. Creating ALB Target Group for ECS Service 3m 58s
- 8. Creating ECS Service 3m 31s
- 9. Creating ALB Listener Rule for ECS Service 3m 13s
- 10. Creating CloudWatch Log Group for ECS Service 1m 3s
- 11. Reviewing Our Code and Infrastructure Before Execution 3m 52s
- 12. Providing Tfvars for Terraform Variables 2m 35s
- 1. Creating a Dockerfile for Our Spring Boot Application 2m 40s
- 2. Creating a Shell Script for Deployment 3m 5s
- 3. Implementing Deployment Stages for Shell Script 2m 51s
- 4. 1st Stage - Implementing Code Build Stage 1m 20s
- 5. 2nd Stage - Implementing App Dockerizing and AWS ECR Push 6m 53s
- 6. 3rd Stage - Implementing App Deployment to ECS Fargate with Terraform 4m 43s
- 7. 1st Stage - Building the Code 1m 37s
- 8. 2nd Stage - Dockerizing App and Pushing to AWS ECR 1m 20s
- 9. 3rd Stage - Deploying App to ECS Fargate with Terraform 2m 58s
- 10. Testing Out The Whole Architecture and Verifying Our Fargate App 5m 52s
- 1. Thank You! 1m 36s
- 0.00 instructor rating
- 1 courses
- Systems students worldwide
Niyazi Erdogan
Learn from DragonZap instructors with practical, build-first lessons focused on systems, low-level programming, compilers, kernels, and real-world engineering fundamentals.
Student reviews
No student reviews have been posted yet.