柳嘉希

硕士研究生毕业生

软件工程师 | 可扩展的API · 网络爬虫 · 数据集成 · Vibe代码清理专家

AWS 计算服务复习:Lambda、ECS、EKS、ECR、Fargate、Elastic Beanstalk、Batch、Lightsail 与 Outposts

EC2 是虚拟服务器,但 AWS 还有很多更高层的计算服务。选择时要先判断你想管理多少基础设施。

Lambda

Lambda 是无服务器函数计算。你只上传函数代码,由事件触发执行。

AWS 负责:

  • 准备服务器
  • 扩容
  • 运行环境
  • 可用性
  • 按毫秒计费

典型触发来源:

  • API Gateway
  • S3 事件
  • SQS
  • EventBridge

限制是单次执行最长 15 分钟,不适合长时间运行任务。

容器和编排

容器把应用、依赖、运行时和配置打包在一起,让应用在不同机器上表现一致。

编排负责管理容器生命周期,包括启动、停止、扩缩容、故障恢复和滚动更新。

ECS

ECS 是 AWS 自家的容器编排服务。

ECS on EC2:你管理底层 EC2,控制力更强。

ECS on Fargate:无需管理服务器,专注容器任务。

EKS

EKS 是托管 Kubernetes。

EKS on EC2:适合需要 Kubernetes 和底层控制的大规模工作负载。

EKS on Fargate:适合想用 Kubernetes 但不想管理节点的团队。

ECR

ECR 是容器镜像仓库,用于存储、管理和拉取镜像。

Fargate

Fargate 是容器的无服务器计算引擎。它不是编排器,而是运行容器的托管计算层,可以配合 ECS 或 EKS 使用。

其他计算服务

Elastic Beanstalk:上传代码后自动处理部署、扩容、负载均衡和健康检查。

AWS Batch:运行批处理任务,适合科学计算、转码、大规模并行处理。

Lightsail:轻量 VPS,价格可预测,适合小网站、博客、学习和测试环境。

Outposts:把 AWS 基础设施扩展到本地数据中心,适合低延迟、数据驻留或合规需求。

选择原则:

  • 函数事件驱动:Lambda
  • 容器但不想管服务器:ECS/EKS + Fargate
  • Kubernetes 生态:EKS
  • 简单 Web 应用部署:Elastic Beanstalk
  • 批处理:AWS Batch
  • 小型 VPS:Lightsail
  • 本地混合云:Outposts