CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
AWS 云服务入门/课时/ECS 与 Fargate
RawBlame
课时目录12 节

AWS 云服务入门

  1. 01AWS 是什么
  2. 02IAM 与权限
  3. 03VPC 与网络
  4. 04EC2 虚拟机
  5. 05S3 对象存储
  6. 06RDS 托管数据库
  7. 07Lambda 无服务器
  8. 08ECS 与 Fargate
  9. 09AWS CDK 简介
  10. 10AWS 控制台 vs Terraform
  11. 11成本与免费层
  12. 12综合练习

ECS 与 Fargate

容器上云、Task/Service、与 K8s 选型。

35 分钟

ECS 与 Fargate

ECS(Elastic Container Service) 在 AWS 上跑 Docker 容器;Fargate 免管 EC2 节点,只定义 Task CPU/内存。介于宝塔单机 Docker 与 kubernetes-essentials 全功能编排之间的 AWS 原生容器路径。

学习目标

  • 理解 Cluster、Task Definition、Service、Fargate
  • 对照 Docker Compose 与 K8s Deployment
  • 评估 CodeRoadMap backend 容器上 ECS 的步骤

核心内容

概念对照

ECSDocker / K8s
Task Definitiondocker-compose.yml 服务定义
Task一次运行的容器组
Service维持 N 个 Task 运行(类似 Deployment)
Fargate无 K8s 控制面,AWS 管节点

选型:已深度用 K8s + Helm → EKS;想少运维节点、镜像来自 docker-essentials → ECS Fargate。

最小 Task Definition(片段)

{
  "family": "coderoadmap-backend",
  "networkMode": "awsvpc",
  "requiresCompatibilities": ["FARGATE"],
  "cpu": "256",
  "memory": "512",
  "containerDefinitions": [{
    "name": "api",
    "image": "123456789012.dkr.ecr.ap-southeast-1.amazonaws.com/coderoadmap:latest",
    "portMappings": [{ "containerPort": 8080 }]
  }]
}

Console

ECS → Clusters → Create → Fargate → Task definitions → Create → Service(选 VPC 子网 + 安全组 + ALB 可选)。

CLI 示例

# 注册 task definition
aws ecs register-task-definition --cli-input-json file://task-def.json

# 创建 Fargate 服务
aws ecs create-service --cluster coderoadmap-lab --service-name backend \
  --task-definition coderoadmap-backend:1 --desired-count 1 \
  --launch-type FARGATE \
  --network-configuration "awsvpcConfiguration={subnets=[subnet-xxx],securityGroups=[sg-xxx],assignPublicIp=ENABLED}"

# 查看运行中任务
aws ecs list-tasks --cluster coderoadmap-lab --desired-status RUNNING

网络与 IAM 见 aws-vpc、aws-iam。

练习

  • 把本地 Docker 镜像 push 到 ECR(或先用 public 镜像实验)
  • 创建 Fargate Service,curl ALB 或公网 IP:port
  • 对比 ECS Service 与 K8s Deployment 的异同(三条即可)
  • 小结

    ECS Fargate = AWS 托管的 Docker 运行层。 下一课 CDK:用代码定义 AWS 资源。

    加载本节练习…
    ← 上一课Lambda 无服务器下一课 →AWS CDK 简介