|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/deploy-fargate-ecs-apps-infrastructure-aws-with-terraform/
课程评论:没有评论
课程名称:使用 Terraform 部署 AWS Fargate ECS 应用及基础设施 课程概述: 本课程由 AWS 认证解决方案架构师教授,旨在教授学员如何使用 Terraform 实现生产级别的 AWS ECS Fargate 容器平台基础设施。课程强调“基础设施即代码”(Infrastructure as Code),并教授学员使用 Terraform 这一流行的基础设施配置管理工具。课程将指导您构建一个符合 AWS 良好架构框架(Well-Architected Framework)推荐模型的高可用、可扩展、容错且具弹性的部署架构。 课程内容摘要: 1. **环境准备与 Terraform 基础**: * 介绍课程所需的工具,包括 IDE(建议安装 Terraform 插件以获得语法高亮和自动补全功能)和 AWS 账户。 * 演示如何设置 Terraform 部署所需的环境变量。 * 提供 Terraform 基础知识的速成课程,涵盖实现基础设施所需的关键概念。 2. **Terraform 部署基础设施**: * **远程状态管理与密钥对获取**:配置 Terraform 远程状态,并获取用于连接实例的密钥对。 * **VPC 网络构建**: * 创建 Virtual Private Cloud (VPC)。 * 为实现高可用性,将私有和公有子网分布到三个不同的可用区(Availability Zones)。 * 创建私有和公有路由表以管理 VPC 内资源的路由。 * 为公有子网附加 Internet Gateway (IGW),使其能访问互联网。 * 为私有子网配置 NAT Gateway,允许私有资源仅能访问互联网(出站连接),但不能从互联网直接访问。 3. **AWS ECS Fargate 平台搭建**: * **域名注册**:为 Spring Boot 应用注册域名。 * **ECS 基础组件创建**: * 创建 ECS 集群。 * 配置 Target Group(目标组)。 * 设置 Application Load Balancer (ALB)。 * 创建 HTTPS Listener 和 Certificate(证书)。 * 为 ECS 集群创建 IAM 角色。 4. **Spring Boot 应用部署准备**: * **ECS Fargate 任务定义(Task Definition)**:介绍并实现 Fargate 任务定义。 * **IAM 角色与策略**:创建 ECS 任务所需的 IAM 角色和策略。 * **ECS 服务(ECS Service)**:配置 ECS 服务。 * **Target Group、Listener Rule**:配置 Target Group 和 Listener Rule,以将流量路由到 ECS 服务。 * **CloudWatch Log Group**:创建 CloudWatch Log Group 用于日志记录。 5. **CI/CD 管道构建与部署**: * **Shell 脚本编写**:创建 shell 脚本,将应用的整个 CI/CD 管道自动化,包括: * 使用 Maven 构建应用。 * 将 Docker 镜像推送到 AWS Elastic Container Registry (ECR)。 * 将 Docker 镜像部署到 AWS ECS Fargate。 * **管道执行**: * 执行构建阶段,编译代码。 * 打包 Docker 镜像并推送到 ECR。 * 最终将 Spring Boot 应用部署到 AWS ECS Fargate,并与注册的域名关联,使应用可访问。 课程亮点: * 学习如何使用 Terraform 实现生产就绪的基础设施。 * 掌握构建高可用、可扩展、容错和具备弹性的 AWS 架构的最佳实践。 * 了解并实践 AWS 良好架构框架的原则。 * 通过实操学习从代码构建到容器部署的完整 CI/CD 流程。 * 课程由 AWS 认证解决方案架构师授课,提供专业的指导。
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!