跳到正文ChatGPT 说 · Jimmy Huang's BlogChatGPT 说
本页目录· 70 条
这周 Seminar 学习辅导:AWS Services
1. 本周 Seminar 总览
这周开始正式进入 AWS 的核心服务与配置。前半学期主要学习 VM、Docker、Kubernetes、FastAPI、Ansible、Pulumi,以及 Nectar / Oracle / Azure 等云平台和工具;从 Week 6/7 开始,课程重心转向 AWS,包括 AWS 的重要服务、配置、serverless 和 security。
本周实际重点不是“把 AWS 所有服务背下来”,而是开始训练你如何根据一个真实应用场景选择合适的 AWS 服务和配置。老师明确说,AWS 服务非常多,课程不可能覆盖全部,所以会挑选最基础、最重要、以后 applied session 会用到的类别:Security / IAM、Storage、Compute、Networking & Content Delivery、Database 等。
从 transcript 看,本次课实际展开最多的是 IAM、S3、CloudFront、Storage Gateway、EC2、EBS、CloudWatch、Bootstrapping、EFS 和 EC2 placement policy。课件后半部分还包含 Database、Route53、VPC、SQS、SNS、Kinesis 等内容,但 transcript 没有详细讲完,所以这些更适合作为“课件预告 / 后续内容”,不要误以为它们都是本周老师口头重点。
本周最核心的一句话是:以后 quiz / assignment / system design 题目不会只问“你知道哪个 AWS 服务”,而是会问“在这个场景下你为什么选这个服务、这个 tier、这个配置,以及这样做如何影响性能、成本、安全性和可扩展性”。
2. 核心知识点总结
2.1 AWS 在本课程里的位置
这部分在讲什么:
AWS 是本课程后半部分的主要云平台。课件把课程分成两个阶段:前 1-6 周主要是云计算基本概念和工具,后 6-12 周主要是 AWS 重要服务、配置、Serverless 和 Security。
为什么重要:
前面学过的 VM、container、Kubernetes、FastAPI、storage、networking 等概念,都会在 AWS 里面以具体服务的形式出现。例如:
VM 在 AWS 中主要对应 EC2。
对象存储对应 S3。
CDN 对应 CloudFront。
权限控制对应 IAM。
监控和告警对应 CloudWatch。
容器编排可以对应 ECS / EKS。
和课程整体的关系:
课程目标是让你能设计和实现 scalable cloud-based application。本周开始,你要从“会用工具”转向“会设计架构”。
前面几周像是在学“汽车零件”:发动机、轮胎、刹车。现在开始学 AWS,就是学习“怎么把这些零件组装成一辆能真正上路的车”。
2.2 AWS Global Infrastructure:Region、Availability Zone、Edge Location
AWS 的全球基础设施主要由 Region、Availability Zone 和 Edge Location 组成。
Region:地理区域,例如澳洲、美国、欧洲某个区域。
Availability Zone, AZ:一个 Region 里分开的数据中心区域。可以简单理解成“同一个地区里的多个独立数据中心”。
Edge Location:边缘节点,通常用于缓存内容,让用户更快访问,比如 CloudFront 会用到。
Region / AZ / Edge Location 直接影响:
后面讲 S3、CloudFront、RDS、VPC、Auto Scaling 时,都会用到 Region / AZ 的概念。
Region 像“国家或城市级别的数据中心区域”;AZ 像这个城市里几个相互独立的机房;Edge Location 像离用户很近的临时仓库,先把热门内容放那里,用户取东西就更快。
2.3 IAM:Identity and Access Management
IAM 用来管理 AWS 账号里的用户、权限、角色和访问控制。它决定谁可以访问什么资源、能做什么操作,以及不同 AWS 服务之间是否可以互相通信。
User:用户。
Group:用户组。
Policy:权限规则,规定允许或禁止什么操作。
Role:角色,常用于让某个 AWS 服务临时获得访问另一个服务的权限。
Root Account:最初创建的主账号,权限最大。
Access Key ID / Secret Access Key:用于 API / CLI 访问 AWS 的凭证。
老师强调,如果两个 AWS 服务要通信,例如 EC2 想访问 S3,或者数据库想访问存储服务,就需要 IAM role / policy 授权。没有权限,即使服务本身运行了,也不能互相访问。
IAM 是 AWS security 的基础。后面做 applied session、assignment 或 cloud architecture 设计时,只说“我用了 S3 / EC2”是不够的,还要说明谁能访问、访问权限是什么、是否安全。
IAM 就像 AWS 里的“门禁系统”。不是你有一栋楼,就能随便进每个房间。IAM 决定谁有钥匙、钥匙能开哪些门、钥匙什么时候失效。
学生 AWS 账号现在有预设 IAM 限制,不能访问所有 AWS 服务。
以前学生账号可能权限更大,现在被限制在课程允许的服务范围内。
你们目前不能自由玩所有 IAM roles,很多权限是统一配置好的。
之后如果用 business account,就可以自己更细粒度配置服务间访问权限。
Identity Federation 以后 applied session 会用到,比如用 Google / Facebook / Active Directory 等外部身份登录。
2.4 S3:Simple Storage Service
S3 是 AWS 的对象存储服务,用于存文件、图片、数据集、模型文件等。它不是传统硬盘,也不是数据库,而是 object-based storage。
文件存放在 bucket 中。
Bucket name 需要全局唯一,因为它会形成可访问的地址。
单个对象大小可到数 TB 级别,课件中写的是 0-5TB。
S3 提供高可用性、高持久性和可扩展性。
S3 有不同 storage tiers,用来平衡成本、访问频率、可用性和恢复时间。
S3 是很多 cloud application 最常用的基础服务。Web 图片、用户上传文件、日志、备份、机器学习模型文件、静态网站资源,都可能放在 S3。
S3 会和 IAM、CloudFront、EC2、assignment deployment、data storage 等内容结合起来。老师特别把 S3 的 tier、权限、versioning、ACL / bucket policy 讲得很细,说明它很可能在 applied session、assignment 和 quiz 里用到。
S3 就像一个超级大的云端文件仓库。你先建一个 bucket,相当于建一个仓库,然后把文件放进去。但仓库名字要全世界唯一,因为别人要通过这个名字找到它。
2.5 S3 Storage Tiers:不同存储层怎么选
S3 不是只有一种存储方式,而是有多个 tier。不同 tier 适合不同访问频率、重要性和成本要求。
S3 Standard适合经常访问的数据。
多设备、多设施冗余。
成本较高,但访问快、可靠性好。
S3 Infrequently Accessed, S3-IA适合不经常访问,但需要快速取回的数据。
存储费用更低。
取回数据时可能收费。
S3 Glacier Deep Archive更深层归档。
取回时间可能长达 12 小时左右。
适合几乎不会访问、但必须长期保存的数据。
老师明确说,只说“我用 S3”是不够的。你要能说明“我用哪个 S3 tier,为什么”。这就是 system design / quiz 里会考的能力。
这直接对应课程 learning outcome 里的 “identify appropriate design choices”。同一个服务,不同配置会带来完全不同的成本和性能结果。
标准快递:贵一点,但快。
经济仓储:便宜,但取东西要额外收费。
冷库存档:特别便宜,但你不能指望马上拿到。
2.6 S3 Consistency、Versioning、Lifecycle、Encryption
这些不是“附加小功能”,而是影响成本、安全性和可靠性的关键配置。老师反复提醒 AWS 配置非常重要,配置不当可能导致成本暴涨。
assignment 和 quiz 很可能不会只问服务名称,而是要求你解释配置。例如:是否开启 versioning?是否需要 lifecycle?是否公开访问?是否要加密?
Bucket name 要全局唯一;object name 不需要全球唯一。
更准确地说:不同 bucket 中可以有同名对象;同一个 bucket 中同一个 key 如果再次上传,通常会覆盖或形成新 version,取决于 versioning 是否开启。
Versioning 很有用,但不是免费午餐,会增加存储成本。
2.7 S3 Access:ACL 和 Bucket Policy
ACL, Access Control List:可以附在 bucket 或 object 上,是较旧的访问控制机制。
Bucket Policy:基于资源的 IAM policy,用 JSON 规则定义谁能访问 bucket 和其中对象。
老师明确说,不能只看 ACL,也不能只看 bucket policy,要两个都检查。因为最终访问结果可能由多个权限配置共同决定。
这和 assignment 强相关。老师特别提醒:很多学生的服务在自己电脑或自己账号里能运行,但老师/marker 访问不了,原因就是 S3 object、bucket policy 或 ACL 权限没配好,结果会丢分。
你不能只说“我把图片上传到 S3 了”。你还要确认别人有没有权限看这张图片。否则 marker 打开你的系统时,图片或文件加载不出来,就会影响成绩。
2.8 CloudFront:AWS 的 CDN
CloudFront 是 AWS 的 Content Delivery Network。它通过 Edge Location 把内容缓存到离用户更近的地方,从而降低 latency,提高访问速度。
CDN:Content Delivery Network,内容分发网络。
Origin:源站,原始文件所在位置,可以是 S3、EC2、Load Balancer 等。
Edge Location:缓存内容的边缘节点。
Distribution:CloudFront 的分发配置。
TTL, Time To Live:缓存对象在 edge location 中保留多久。
如果用户分布在全球,只把文件放在一个 Region 的 S3 里,远距离用户访问会慢。CloudFront 可以把热门内容缓存到更接近用户的地方。
CloudFront 与 S3、Region、Edge Location、latency、scalability、cost 都有关。它是从“能存文件”走向“能高效服务全球用户”的关键。
S3 像总部仓库,CloudFront 像世界各地的小仓库。热门商品先放在离用户近的小仓库,用户就不用每次都去总部拿。
如果音乐服务的数据都存在澳洲,美国或欧洲用户访问会很慢。CDN 会把经常访问的音乐缓存到更接近用户的位置,提高用户体验。
缓存空间有限,不能什么都永久放在 edge location。TTL 可以让不再热门的数据过期删除,把空间留给更常被访问的内容。
2.9 S3 + CloudFront Case Study:网络书店图片
课件给了一个 case:如何存储网络书店的书籍图片,并让全球用户访问更快。
用 S3 存储图片,因为 S3 可靠、可扩展。
如果图片访问不是特别频繁或只是临时使用,可以考虑 S3-IA。
图片需要公开访问时,要配置 URL、ACL / bucket policy。
选择合适 Region 降低基本延迟。
用 CloudFront 分发图片,应对全球访问和峰值请求。
这是典型 quiz / system design 题型:给你一个应用场景,让你选择 AWS 服务和配置,并解释理由。
它把本周几个知识点串起来了:S3、tier、public access、Region、CloudFront、latency、peak demand。
这不是问“图片能不能放 S3”,而是问“图片放哪一层、谁能访问、全球访问慢怎么办、流量高峰怎么办”。
2.10 Migration and Data Transfer:Snowball / Snowball Edge / Snowmobile
当数据量非常大时,通过网络传输可能太慢、太贵,甚至不现实。AWS 提供物理设备迁移方案。
这帮助你理解 cloud migration 不一定都是“通过网络上传”。真实企业迁移可能需要混合方案。
如果你要搬一整个仓库的数据,不能靠一根网线慢慢传,可能要让 AWS 送一个“硬盘箱子”或“数据卡车”过来,把数据装进去再运走。
2.11 Storage Gateway:本地系统连接 AWS 存储
Storage Gateway 用来连接 on-premises 本地环境和 AWS 云存储。它可以作为接口,把组织内部已有的 SMB / NFS / 本地存储方式转换成 AWS 存储服务能理解的形式。
企业不一定能一次性把所有系统迁移到 AWS。Storage Gateway 允许企业保留原有系统,同时逐步使用云存储。
这是 hybrid cloud 的例子:本地环境和云环境不是互相替代,而是可以连接、扩展和集成。
Storage Gateway 像翻译官。本地系统说一种“存储语言”,AWS 说另一种“存储语言”,Gateway 负责中间翻译。
2.12 Compute Services:EC2、Auto Scaling、ECS、EKS、Batch
AWS 的 compute 服务用于运行应用、容器、批处理任务等。
EC2AWS 的虚拟机服务。
可以创建、启动、停止、调整大小。
按实际使用付费。
Compute 是云应用的运行核心。你写的 API、模型服务、后台处理任务,都需要某种 compute service 承载。
前面学过 VM、Docker、Kubernetes,现在 AWS 里对应到 EC2、ECS、EKS。你要能把前面概念迁移到 AWS 服务上。
EC2 就是云上的电脑;Auto Scaling 是根据忙不忙自动加电脑或关电脑;ECS / EKS 是帮你管理很多 Docker 容器;Batch 是帮你一次性跑很多计算任务。
2.13 EC2 Instance Types:On-Demand、Reserved、Spot、Dedicated
On-Demand Instance按小时或按使用时间付费。
没有长期承诺。
适合测试、短期任务、首次部署、不确定负载。
Reserved Instance预留容量,通常更便宜。
适合长期稳定、可预测的负载。
老师强调它可以显著降低成本。
Dedicated Physical Service专用物理资源。
成本通常更高。
适合特殊合规、安全或隔离需求。
老师明确说,知道这些选项后,quiz / interview / system design 里就应该能更细致地 justify 你的设计,而不是只说“我用 EC2”。
这是 cost-aware architecture。云计算不是无限免费资源,真正的架构设计必须考虑成本。
On-Demand 像临时租车;Reserved 像长期租车合同;Spot 像便宜抢特价车,但可能随时被别人拿走;Dedicated 像专门买一辆只给你用的车。
2.14 EC2 Resource Types:按工作负载选择机器
Micro instances
General Purpose
Compute Optimized
FPGA instances
GPU graphics
GPU compute
Memory Optimized
Storage Optimized
CPU 密集型任务需要 compute optimized。
机器学习训练 / LLM serving 可能需要 GPU compute。
数据库或缓存可能需要 memory optimized。
大量本地读写可能需要 storage optimized。
这对应“根据场景选资源”。例如 AI model serving 和普通 web API 需要的 instance 类型可能完全不同。
不要所有任务都用同一种电脑。打游戏、训练 AI、开网页服务器、跑数据库,需要的电脑配置是不一样的。
2.15 EC2 Lifecycle:什么时候计费
课件展示了 EC2 生命周期:pending、running、shutting down、terminated。老师强调,在 AWS 里通常 running 状态才会对 EC2 compute 计费;停止后 compute 不再按运行时间收费,但相关存储等资源仍可能产生费用。
这关系到成本控制。云资源不用时要及时 stop / terminate,并关注附带存储是否还在收费。
assignment 和 applied session 都会使用真实 AWS 资源。忘记关闭资源可能浪费 credit。
云上开机器就像开计价器。机器跑着就烧钱;关掉或删除后才不会继续按计算资源收费,但挂着的硬盘、快照、存储可能还会收费。
2.16 AMI:Amazon Machine Image
AMI 是启动 EC2 instance 的模板,里面可以包含:
你创建 EC2 时,需要选择用哪个 AMI。不同 AMI 决定了机器初始环境。
这类似之前在 Nectar / Oracle / Google Cloud 中选择 VM image。AWS 的 AMI 选择更多,有些免费,有些收费。课程中通常用免费版本即可。
AMI 就像“装机镜像”。你要先决定这台云电脑开机时装什么系统、带哪些软件。
2.17 EBS:Elastic Block Store
EBS 是给 EC2 使用的持久化 block-level storage。可以把它理解成挂载到 EC2 上的虚拟硬盘。
EC2 instance 本身可能会被停止、删除或替换,但数据通常需要持久保存。EBS 解决的是“虚拟机硬盘”的问题。
S3:对象存储,适合文件、图片、对象。
EBS:块存储,像硬盘,通常挂到单个 EC2。
EFS:文件系统,多个 EC2 可共享。
EC2 是电脑,EBS 是插在电脑上的硬盘。电脑可以换,硬盘里的数据可以保留。
2.18 EBS Types:SSD vs HDD
如果应用 I/O 很重,选错硬盘会影响性能。如果应用不需要高性能却选昂贵 SSD,会浪费成本。
再次体现 AWS 架构设计的核心:不是选最贵的,而是选最适合场景的。
如果你天天高速读写,就用 SSD;如果只是放很多不常读的数据,用 HDD 可能更划算。
2.19 CloudWatch:监控、告警和自动化动作
CloudWatch 是 AWS 的 monitoring and observability service。它可以收集 logs、metrics,并设置 alarms。
EC2 CPU usage
Billing / cost
Load balancer
Route 53 health check
EBS
Storage Gateway
CloudFront
其他 AWS 服务
老师说 CloudWatch 是 “really, really important”。它不仅用于看性能,还用于控制成本、做健康检查、触发自动扩缩容。
可扩展系统不能靠人一直盯着。CloudWatch 让系统根据指标自动报警和响应,是 cloud operations 的基础。
CloudWatch 像 AWS 的监控摄像头和报警器。它发现 CPU 太高、费用太高、服务挂了,就提醒你,甚至自动帮你加机器或关机器。
2.20 Roles:为什么比直接放 access key 更安全
课件强调 role 是更安全的资源访问方式。不要把 access key 和 secret key 直接存在 EC2 instance 上,而应该给 EC2 分配 role。
如果密钥写死在代码或服务器里,一旦泄露,风险很大。Role 更容易管理,也能减少长期凭证暴露。
这属于 AWS security best practice,后面 security 主题会继续用到。
不要把万能钥匙贴在电脑屏幕上。Role 就像临时工作证,需要时授权,用完或条件变化时可以收回。
2.21 Bootstrapping:启动时自动配置 EC2
Bootstrapping 指在启动 AWS resource 时自动运行脚本,安装软件、更新系统、配置环境。
如果你要创建 10 台 EC2,不可能手动一台台安装环境。Bootstrapping 可以自动化部署。
这和 scalable deployment、DevOps、infrastructure automation 相关。它把前面学的脚本化、自动化思想带到 AWS。
Bootstrapping 就是让新电脑第一次开机时自动装好软件、配好环境,不用你手动操作。
2.22 EFS:Elastic File System
EFS 是 AWS 的 fully managed elastic NFS file system,主要用于 EC2。它可以自动扩展到 PB 级,支持多个 EC2 同时访问。
Linux-based workload。
支持 thousands of concurrent NFS connections。
Multi-AZ。
Read-after-write consistency。
Pay-as-you-go。
自动增长和缩小。
使用时需要注意 security group 端口。
EFS 适合多个 EC2 instance 共享同一个文件系统。EBS 通常像单台机器硬盘,而 EFS 更像共享网盘。
它帮助你区分 object storage、block storage 和 file storage。
S3 是文件仓库,EBS 是单台电脑硬盘,EFS 是多台电脑一起用的共享文件夹。
2.23 EC2 Placement Policy
Clustered Placement Group:低延迟、高网络吞吐,适合实例之间需要高速通信。
Spread Placement Group:把关键实例分散放置,减少同时故障风险。
Partitioned Placement Group:适合大量实例和分布式系统,例如 HDFS、HBase。
这决定 EC2 instance 在物理基础设施中的放置方式,会影响网络性能和容错能力。
这是更细的架构配置,说明 AWS 设计不仅是选择服务,还包括选择部署策略。
Transcript 在这里结束或被截断,所以 placement policy 可能只是本次课最后快速提到,没有像 S3 / EC2 / CloudWatch 那样展开。
2.24 课件有但 transcript 没有详细展开的后续内容
课件后半部分还列出以下服务,但 transcript 里没有详细讲完:
DatabaseRelational DB:SQL Server、Oracle、MySQL、PostgreSQL、Aurora、MariaDB。
Non-relational DB:NoSQL。
Aurora、DynamoDB、Neptune、Timestream、DocumentDB、Redshift、ElastiCache。
Multi-AZ 用于 disaster recovery。
Read Replica 用于 scaling。
Automated Backup 和 DB Snapshot。
这些内容可以先知道名字和用途,但本周复习优先级应低于 IAM、S3、CloudFront、EC2、EBS、CloudWatch、Bootstrapping、EFS。
3. 老师强调的重点
重点 1:AWS account 必须准备好
开头就提醒 starting this week 会开始 AWS applied session,必须确保已经注册并能访问 AWS account。
没有账号就无法跟上 applied session,也无法动手验证 IAM、S3、EC2 等服务。
确认账号能登录,确认课程提供的权限可用,尽早解决 access 问题。
重点 2:IAM 是 AWS 的权限基础
老师花了较长时间解释 IAM 如何限制学生账号、如何控制服务之间通信、为什么 service-to-service communication 需要 role。
这不仅是一个概念,也是你实际使用 AWS 时最常遇到的错误来源。服务本身没坏,但权限没给对,就无法访问。
User / Group / Policy / Role 的区别。
为什么 role 比直接存 access key 更安全。
EC2 访问 S3 / database 等服务时为什么需要 IAM role。
学生账号的 IAM 是被课程预设限制的。
重点 3:Quiz 2 很可能是 scenario-based architecture
老师明确说,下周如果有时间会做场景练习:给一个 application scenario,讨论应该使用哪些 AWS services、如何配置、如何 justify。这和 second quiz 类似,也类似 first quiz 的配置与 solution architecting。
重点 4:S3 tier selection 是核心应用型内容
老师反复问学生:S3-IA 是什么?One Zone-IA 适合什么场景?Intelligent Tiering 做什么?Glacier 为什么慢?还强调只说 “use S3” 不够。
这类内容非常适合 quiz / exam:给你一个数据访问模式,让你选择合适的 S3 tier。
Standard:频繁访问,高可靠。
IA:不频繁访问但需要快速取回。
One Zone-IA:便宜,但容灾较弱。
Intelligent Tiering:访问模式不确定。
Glacier / Deep Archive:归档,便宜但取回慢。
选择时要解释 access frequency、cost、latency、data importance。
重点 5:S3 configuration 会影响成本
老师特别用 versioning 举例:如果 10TB 数据重复上传并保留版本,可能变成 20TB 计费,成本显著上升。老师还说 AWS configuration 非常重要,否则可能收到非常大的账单。
这体现 cloud architecture 的真实问题:云上不是“能跑就行”,还要控制成本。
Versioning 的好处和成本。
Lifecycle Management 如何降低长期存储成本。
不同 storage tier 的 pricing difference。
CloudWatch billing alarm 如何帮助控制费用。
重点 6:ACL 和 Bucket Policy 与 assignment 强相关
老师明确提到 assignment:很多学生服务自己能跑,但老师/marker 看不到,因为 S3 ACL / bucket policy 没有给别人访问权限,所以会 lose mark。
重点 7:CloudFront / CDN / TTL 是理解型重点
老师用音乐服务、全球用户访问、Taylor Swift / Metallica 例子讲了很久 CDN 为什么需要缓存,并专门问 TTL 为什么存在。
老师用生活化例子解释很久,说明这不是只背定义,而是要理解原理。
重点 8:EC2 instance purchase model 与成本优化
老师详细比较 On-Demand、Reserved、Spot,并强调知道这些选项后,quiz 和 interview 里就应该能更细致地 justify design。
这非常适合 scenario-based question。
重点 9:CloudWatch 是 “really, really important”
老师直接说 CloudWatch 很重要,并用了成本告警、CPU 阈值、SNS 通知、auto scaling、health check 等多个例子。
老师解释时间长、例子多、还提到 applied session 会玩,说明非常可能是本周应用重点。
CloudWatch 收集 logs 和 metrics。
Alarm 可以触发 notification 或 action。
可以监控 billing、CPU、health、resource status。
可以配合 Auto Scaling。
可以帮助防止 AWS credit 被烧完。
重点 10:Bootstrapping 是自动化部署基础
老师在课末快速讲,但用了具体例子:创建多个 EC2 时自动 apt update、安装 pip、安装 YOLO 等。
这和 applied session、自动化部署、scalable system 直接相关。
4. transcript 里补充的重要信息
4.1 本周 applied session 从 AWS 开始
课件只写了 AWS 服务,但老师口头特别提醒:本周开始 applied session 会用 AWS,所以必须提前准备 AWS account。
4.2 学生 AWS 账号有 IAM 限制
老师解释说,学生账号不是完整 business account,很多服务被 IAM 限制了。某些 IAM role 也不能自由配置。以后真正 business account 才能更完整地配置 service-to-service permission。
4.3 Quiz 2 是场景设计风格
老师明确说,后面会练习 application scenario:选择哪些 AWS services、如何配置、如何 justify。这种题型会出现在 second quiz,类似 first quiz 的 solution architecting。
4.4 Assignment:S3 ACL / Bucket Policy 配错会丢分
老师特别说:很多学生的服务在自己账号里能运行,但 marker 无法访问,因为 bucket / object 权限只给了自己,没有开放给需要访问的人。这样会 lose mark。
这是本周最明确的 assignment hint 之一。
4.5 Assignment:FastAPI concurrency 不要过度纠结 semaphore
学生问 FastAPI 处理 concurrent requests 是否需要 semaphore。老师回答大意是:
你可以理解为:assignment 里不要为了“看起来高级”乱加 semaphore;更重要的是服务能正确、稳定、高效地处理请求。
4.6 Assignment:Production-level Dockerfile 的重点是效率和合理性
学生问 multi-stage Dockerfile 和 production-level Dockerfile。老师没有给完整答案,因为这属于 assignment 内容,但给了方向:
隐含重点:production-level 不是“复杂”,而是“干净、合理、最小化、可运行”。
4.7 Assignment:0.0.0.0 和 port
学生问 FastAPI 默认运行在 0.0.0.0 是否可以。老师提示:
0.0.0.0 意味着允许从所有网络接口访问。
是否这样配置取决于 assignment 和你的部署需求。
如果没有要求深入 security,可以按需要使用。
FastAPI 常见端口是 8000,Flask 常见端口是 5000,但可以根据需要修改。
4.8 Assignment:使用 LLM / AI 工具要提交 prompts 和 responses
老师明确说,如果 assignment 使用 LLM / agents,需要提供所有 prompts、queries 和 responses,作为单独文件提交。老师提到 PDF 格式,但也说具体统一要求请以 Jay / Ed 上的说明为准。
4.9 Week 10 / 11 / 12 课程安排
Week 10 / 11 可能由 Jay Zhao 讲 security in cloud / AWS。
Week 12 会有 Oracle industry talk。
Week 12 还可能有 mock test / scenario discussion,偏 system design / interview 风格。
Oracle team 可能提供 scenario,让学生准备并讨论 solution。
这说明后面课程会继续围绕“场景设计、服务选择、架构解释”展开。
4.10 CloudWatch 不只是看图表,而是可以触发动作
课件写 CloudWatch 是 monitoring service,但老师口头补充了很多具体使用方式:
5. 这周最可能要掌握的考点 / 作业相关点
5.1 最可能和 quiz 相关:Scenario-based AWS architecture
给你一个应用场景,例如全球图片访问、AI API 服务、数据归档、流量高峰变化、用户上传文件,让你设计 AWS 架构。
用哪些 AWS 服务?
为什么用这些服务?
每个服务选择什么配置?
如何降低 latency?
如何保证 availability?
如何控制 cost?
如何设置 access permission?
如何 scaling?
如何 monitoring?
5.2 最可能和 quiz 相关:S3 tier selection
5.3 最可能和 assignment 相关:S3 ACL / Bucket Policy
5.4 最可能和 assignment 相关:FastAPI + Dockerfile
FastAPI 并发一般不用过度手写 semaphore。
重点检查 model / weights 是否正确加载。
Dockerfile 要 production-level:efficient、合理、少装无关依赖、少暴露无关端口。
不要盲目复制 LLM 生成内容。
5.5 最可能和 applied session 相关:EC2 + CloudWatch
创建 EC2。
选择 AMI。
查看 instance lifecycle。
设置 CloudWatch alarm。
让 CPU load 超过阈值。
触发通知或 scaling。
观察 cost / billing alarm。
5.6 最可能和 applied session 相关:Bootstrapping
在 EC2 user data 中写启动脚本。
自动安装软件。
自动配置环境。
批量创建 instance 时自动配置。
5.7 隐含重点:服务选择不等于架构设计
老师多次表达的意思是:只列服务名称没有价值。真正要掌握的是:
服务之间怎么连接?
权限怎么给?
数据放在哪?
访问慢怎么办?
成本高怎么办?
服务挂了怎么办?
负载变高怎么办?
这很可能是后续 quiz / exam / interview-style question 的核心。
6. 我应该怎么学这周内容
6.1 推荐学习顺序
先复习 AWS global infrastructure 把 S3 和 CloudFront 连起来学S3 负责存
CloudFront 负责全球快速访问
Edge Location 负责缓存
TTL 决定缓存多久
学习 CloudWatchMetrics
Logs
Alarms
Billing alarm
CPU alarm
SNS notification
Auto Scaling trigger
最后用 scenario 练习例如:设计一个全球书店图片服务。
例如:设计一个 AI model API 服务。
例如:设计一个低成本归档系统。
练习时必须写“为什么”。
6.2 必须先搞懂的基础概念
什么是云资源按需付费。
什么是 VM / instance。
什么是 object storage、block storage、file storage。
什么是 access control。
什么是 latency。
什么是 availability 和 durability。
什么是 caching。
什么是 scaling。
什么是 monitoring / alarm。
什么是 container / Kubernetes。
6.3 理解型内容
Region、AZ、Edge Location 的区别。
为什么 IAM role 能让服务安全通信。
为什么 S3 有不同 storage tiers。
为什么 versioning 会增加成本。
为什么 CloudFront 能降低 latency。
为什么 TTL 不能无限长。
为什么 Auto Scaling 可以同时提升性能和节省成本。
为什么 CloudWatch 不只是监控,而是自动化响应的一部分。
为什么 EBS、EFS、S3 适合不同场景。
6.4 记忆型内容
IAM:User / Group / Policy / Role。
S3 tiers:Standard、IA、One Zone-IA、Intelligent Tiering、Glacier、Deep Archive。
S3 features:Versioning、Lifecycle、Encryption、MFA Delete、ACL、Bucket Policy。
CloudFront terms:Origin、Edge Location、Distribution、TTL。
EC2 purchase options:On-Demand、Reserved、Spot、Dedicated。
EC2 resource categories:General Purpose、Compute Optimized、GPU、Memory Optimized、Storage Optimized。
CloudWatch:Logs、Metrics、Alarms。
AMI、EBS、EFS 的基本含义。
6.5 应用型内容
这些最可能在 quiz / assignment 中真正用到:
根据访问频率选择 S3 tier。
为 S3 bucket / object 配置访问权限。
判断什么时候需要 CloudFront。
判断什么时候用 On-Demand / Reserved / Spot EC2。
判断什么时候用 EBS、EFS、S3。
设置 CloudWatch alarm 监控 cost 或 CPU。
用 bootstrapping 自动配置 EC2。
为 assignment 确保 marker 可以访问你的服务和文件。
写出一段 architecture justification。
6.6 只需要了解的内容
6.7 需要重点掌握的内容
IAM 的作用,尤其是 role / policy。
S3 bucket、object、tier、versioning、ACL、bucket policy。
CloudFront 的 CDN 原理、edge caching、TTL。
EC2 的基本概念、购买方式、instance type selection。
EBS / EFS / S3 区别。
CloudWatch alarm 和自动化动作。
Scenario-based architecture justification。
Assignment 中 S3 权限、Dockerfile、LLM prompt submission 的要求。
6.8 最容易混淆的地方
Region vs AZ vs Edge LocationRegion 是地理区域。
AZ 是 Region 内的数据中心区域。
Edge Location 是缓存节点。
S3 vs EBS vs EFSS3:对象仓库。
EBS:EC2 的虚拟硬盘。
EFS:多个 EC2 可共享的文件系统。
ACL vs Bucket Policy vs IAM Role Availability vs DurabilityAvailability:服务能不能访问。
Durability:数据会不会丢。
S3-IA vs GlacierIA:不常访问,但需要较快取回。
Glacier:归档,取回慢。
On-Demand vs Reserved vs SpotOn-Demand:灵活但较贵。
Reserved:长期稳定更便宜。
Spot:非常便宜但可能中断。
CloudFront vs S3S3 是存储。
CloudFront 是分发和缓存。
两者常一起使用。
0.0.0.0 vs port0.0.0.0 表示监听所有网络接口。
Port 是服务入口端口。
不要随意暴露不需要的端口。
6.9 学完后你应该能回答的问题
IAM 中 user、group、policy、role 分别是什么?
为什么 EC2 访问 S3 时可能需要 IAM role?
S3 bucket 为什么需要全局唯一名称?
S3 Standard、IA、One Zone-IA、Glacier 的区别是什么?
什么场景适合用 S3 Intelligent Tiering?
Versioning 有什么好处?为什么可能增加成本?
ACL 和 bucket policy 有什么区别?为什么 assignment 里要检查它们?
CloudFront 如何降低全球用户访问延迟?
TTL 的作用是什么?为什么缓存不能永久保留?
Web bookstore 图片 case 应该如何设计?
Snowball / Snowmobile 为什么不是普通网络传输?
Storage Gateway 解决什么问题?
EC2 和之前学过的 VM 有什么关系?
On-Demand、Reserved、Spot 分别适合什么场景?
AMI 是什么?
EBS 像什么?和 S3 有什么不同?
EFS 适合什么场景?
CloudWatch 可以监控什么?alarm 可以触发什么?
Bootstrapping 有什么用?
如果 quiz 给你一个应用场景,你能不能写出服务选择和理由?
7. 给我一份简短复习清单
本周快速 checklist
8. 如果我是初学者,你再用更简单的话解释一遍
这周其实是在教你:如果你要把一个应用放到 AWS 上,你会用到哪些“云工具”,以及怎么选。
你可以把 AWS 想象成一个巨大的科技公司,里面有很多部门:
IAM 是保安部门,决定谁能进哪个房间。
S3 是仓库,用来放图片、文件、模型、数据。
CloudFront 是快递分发中心,把热门文件提前放到离用户近的地方,让用户访问更快。
EC2 是云电脑,你的应用可以跑在上面。
EBS 是插在云电脑上的硬盘。
EFS 是很多云电脑一起用的共享文件夹。
CloudWatch 是监控中心,发现 CPU 太高、费用太高、服务挂了,就提醒你或自动处理。
Bootstrapping 是新电脑开机时自动装软件、配环境。
Storage Gateway 是本地公司系统和 AWS 仓库之间的翻译器。
Snowball / Snowmobile 是当数据太大时,用物理设备搬数据。
老师这周最想让你明白的不是“背 AWS 服务名字”,而是“根据情况做选择”。
可以用 S3 存。
如果全球用户都要访问,可以用 CloudFront 加速。
如果图片不是天天访问,可以考虑 S3-IA 降低成本。
如果图片要公开给用户看,要设置正确的 ACL / bucket policy。
如果权限没配好,marker 可能看不到你的图片,assignment 会丢分。
最重要的是:以后 quiz 很可能会给你一个真实场景,让你设计 AWS 架构。你要学会这样回答:
“我会用 S3 存储文件,因为它适合对象存储;根据访问频率选择 S3-IA 或 Standard;如果用户分布全球,我会加 CloudFront 降低延迟;为了让 marker 或用户访问,我会正确设置 bucket policy;为了监控成本和性能,我会用 CloudWatch;如果服务负载变化,我会用 Auto Scaling。”