柳嘉希

硕士研究生毕业生

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

AWS CLF-C02 复习:EC2、实例类型、AMI、定价、自动扩缩与消息服务

EC2 是 AWS 提供的虚拟服务器,可以按需创建、启动、停止和销毁。

EC2 工作原理

创建 EC2 实例时通常需要选择:

  • AMI:操作系统和预装软件
  • 实例类型:CPU、内存、网络能力
  • 存储配置
  • 网络与安全组

连接实例可以使用 SSH、RDP 或 AWS Systems Manager。

实例类型

通用型:计算、内存、网络均衡,适合 Web 服务。

计算优化型:适合高 CPU 任务。

内存优化型:适合大数据集、缓存和数据库。

加速计算型:使用 GPU 或硬件加速。

存储优化型:适合高 I/O 和本地存储工作负载。

定价模型

常见定价方式:

  • 按需实例
  • 预留实例
  • Savings Plans
  • Spot 实例

选择时要看工作负载是否稳定、是否可中断、是否长期运行。

自动扩缩与负载均衡

Auto Scaling 根据需求自动增加或减少实例数量。

Elastic Load Balancing 把流量分发到多个目标,提高可用性。

消息服务

SQS 是队列服务,用于解耦生产者和消费者。

SNS 是发布订阅服务,用于把消息推送给多个订阅者。

EventBridge 用于事件驱动架构,可以连接不同 AWS 服务和应用事件。

延伸理解

复习这篇时,不要只记住名词,要把重点放在 EC2、Auto Scaling、ELB、消息队列和计算服务之间的架构取舍。这类知识如果只停留在定义层面,很容易在面试或项目中答得很散。更好的理解方式是把它放进一个具体场景:谁在调用它,输入从哪里来,失败后谁负责恢复,数据或状态会不会被重复处理。

  • AWS 复习不能只背服务名,要把服务放进真实架构:入口、计算、网络、存储、权限、监控和成本。
  • 每个服务都应该问三个问题:解决什么问题、由谁运维、失败时影响范围是什么。
  • 考试和实际项目都很重视边界:Region 与 AZ、托管服务与自管理服务、有状态与无状态资源。

在真实项目中,可以把它当成一个判断框架:先确认输入、约束、失败场景和可观测性,再决定具体工具或写法。 如果一个方案看起来很简单,要继续追问它在规模扩大、权限变化、异常恢复和团队协作下是否仍然成立。

实践检查清单

  • 明确这个知识点在系统中的位置:是开发时约束、运行时能力、基础设施能力,还是协作流程。
  • 写出一个最小可运行例子,并补一个失败例子;只会写 happy path 说明理解还不够稳。
  • 记录常见误用:例如边界条件、权限假设、性能假设、同步/异步差异或环境差异。
  • 把概念和项目经历关联起来:如果面试被追问,可以用自己的项目说明为什么这样选。
  • 最后用一句话总结取舍:它牺牲了什么,换来了什么。

自测问题

  1. 这个主题解决的核心问题是什么?
  2. 如果不用当前方案,还有哪些替代方案?代价是什么?
  3. 最容易出错的边界条件在哪里?
  4. 如何在代码、测试或监控中验证它真的可靠?

项目化应用场景

可以把这类知识放到一个小型 SaaS 部署场景里理解:用户通过域名访问 CloudFront 或 Load Balancer,请求进入公有子网,应用运行在 EC2、ECS 或 Lambda,数据库和缓存放在私有子网,日志进入 CloudWatch,权限由 IAM 控制,静态文件放在 S3。复习每个 AWS 服务时,都要问它在这条链路中的位置是什么:入口、计算、网络、存储、安全、监控还是成本控制。这样比孤立背服务定义更容易判断选型。

常见误区:

  • 只背服务名,不能画出请求链路。
  • 忽略默认网络边界,把数据库放到公网。
  • 没有估算成本和失败影响范围。