AWS Certified Solutions Architect - Associate SAA-C03 笔记
1. IAM
机器要访问资源 -> 永远找 IAM Role
人要访问资源 -> 找 IAM User 或由 Group 统一管理
权限怎么写 -> 找 IAM Policy
1.1 IAM Policy(策略)
Policy 是一个 JSON 文档,它定义了“允许”或“拒绝”哪些操作
- 本质:它是一张纸,上面写着:“持此证者可以读取 S3 桶里的文件”
- 特点:Policy 本身不能独立起作用,它必须附加(Attach)到 User、Group 或 Role 上
1.2 IAM User(用户)
User 代表一个特定的人或长期存在的应用程序
- 本质:它有永久的凭证(用户名/密码,或 Access Key/Secret Key)
- 最佳实践:不要在代码里硬编码 User 的凭证,也不要给 EC2 赋予 User 的长期凭证,因为一旦泄露就很难回收
1.3 IAM Group(用户组)
Group 是 IAM User 的集合
- 本质:它是为了方便管理。比如创建一个“开发组”,把 10 个开发人员的 User 放进去,然后把“开发权限的 Policy”贴在 Group 上
- 特点:Group 只能包含 User,不能包含其他 Group。重要:Group 不能被附加到 EC2 这种资源上
1.4 IAM Role(角色)
Role 是一种可以被“扮演”的虚拟身份
- 本质:它没有长期凭证,而是通过临时安全凭证(STS)来工作。它就像一顶帽子,EC2 戴上这顶帽子,就临时拥有了帽子所代表的权限
- 特点:它是给 AWS 服务(如 EC2、Lambda)或外部联合用户使用的
2. 流量审计
2.1 Gateway Load Balancer (GWLB)
- 本质:它结合了“三层网关”和“四层负载均衡”
- 作用:它是防火墙实例的入口。它使用 GENEVE 协议 在端口 6081 上封装数据包,确保防火墙能看到原始报文的五元组信息(源IP、目的IP、协议、源端口、目的端口)
2.2 Gateway Load Balancer Endpoint (GWLBe)
- 本质:它是 VPC 终端节点的一种,由 PrivateLink 技术驱动
- 作用:它像是一个“传送门”,放在业务 VPC 的子网中。你只需在子网路由表中写一行:
0.0.0.0/0 -> gwlbe-id,流量就会瞬间被传送到 Inspection VPC 里的防火墙
2.3 Transit Gateway (TGW)
- 本质:云端“中央路由器”
- 作用:连接数千个 VPC 和本地网络。虽然它可以做流量引导,但在单一对接防火墙的场景下,不如 GWLB 简洁
例子:10 个 VPC 且需要它们两两互通:
- 使用 VPC Peering:你需要手动建立 10 * 9 / 2 条对等连接
- 使用 Transit Gateway:你只需要建立 10 个连接,把它们全部插在 Transit Gateway 这个“大交换机”上就行了
2.4 Third-party Firewall Appliance
- 本质:AWS Marketplace 里的虚拟机(如 Palo Alto, Fortinet, Check Point)
- 作用:执行深度包检测(DPI)、反病毒检测等 AWS 原生安全组(Security Group)做不到的事情
3. 负载均衡器
ALB、NLB 和 GWLB 都是 Elastic Load Balancing (ELB) 服务下的具体产品系列
3.1 Application Load Balancer (ALB)
ALB 工作在 OSI 第 7 层(应用层),能够“看懂” HTTP 和 HTTPS 协议的内容
- 功能特点:
- 基于路径的路由:可以根据 URL 路径转发流量(例如
/api发往一组服务器,/static发往另一组) - 高级协议支持:支持 HTTP/2 和 WebSocket
- 身份认证:可以集成集成 Cognito 或 OIDC 进行用户登录认证
- 基于路径的路由:可以根据 URL 路径转发流量(例如
- 适用场景:标准的 Web 应用程序、微服务架构以及需要灵活路由规则的场景
3.2 Network Load Balancer (NLB)
NLB 工作在 OSI 第 4 层(传输层),它只看 IP 地址和端口,不关心数据包里的具体内容
- 功能特点:
- 极高性能:能够处理每秒数千万次的请求,延迟极低(微秒级)
- 静态 IP 地址:为负载均衡器提供固定的 IP 地址(或 Elastic IP),这对某些需要防火墙白名单的客户端非常重要
- 非 HTTP 协议:支持 TCP、UDP 和 TLS 协议
- 适用场景:视频流媒体、在线游戏、大规模高并发非 HTTP 应用,以及需要固定 IP 的场景
3.3 Gateway Load Balancer (GWLB)
工作在 OSI 第 3 层(网络层 IP 包)
- 特点:专门用于部署和扩展第三方虚拟防火墙/安全设备。它利用 GENEVE 协议封装流量,确保防火墙能看到原始数据包
- 适用场景:在流量进入业务 VPC 之前进行深度安全检查和过滤
3.4 Classic Load Balancer (CLB)
AWS 最早期的产品,已逐渐被上述三者取代
- 地位:目前仅用于一些旧版的 EC2-Classic 环境,新项目通常不再建议使用
4. 费用与成本
4.1 AWS Cost Explorer(成本探索器)
定位:交互式分析与可视化工具
- 核心功能:提供图形化界面,让你查看过去 12 个月的历史支出并预测未来 12 个月的费用
- 关键特性:
- 多维度过滤:可以按服务(EC2, S3)、关联账号、区域、甚至 Tag(标签) 或 实例类型 进行过滤和分组(Group by)
- 识别趋势:非常适合用来分析为什么这个月的账单比上个月多,或者识别成本异常波动
- 考试眼点:看到“分析成本原因”、“查看历史趋势图”、“运维开销最小”时,首选此项
4.2 AWS Budgets(预算)
定位:预警与监控工具
- 核心功能:设定一个预期的金额或使用量,当实际发生额或预测发生额超过设定的阈值时,自动发送通知
- 关键特性:
- 三种类型:成本预算(花多少钱)、使用量预算(用了多少资源)、预留实例(RI)/ Savings Plans 覆盖率预算
- 自动化操作:它可以触发 Budget Actions。例如,当预算超标时,自动给特定的 IAM 策略应用“拒绝访问”权限,或者关闭某些 EC2 实例
- 考试眼点:看到“防止超支”、“超过阈值时发邮件通知”、“监控 RI 使用率”时,首选此项
4.3 AWS Cost and Usage Reports (AWS CUR,成本和使用情况报告)
定位:最详细的原始数据导出
- 核心功能:这是 AWS 提供的最精细的账单数据。它会将包含每一笔交易明细的 CSV 或 Parquet 文件 定期发送到你指定的 S3 存储桶
- 关键特性:
- 颗粒度极高:包括定价单位、使用量、折扣明细等,Cost Explorer 展示不了的微小细节,这里都有
- 集成分析:由于数据在 S3 里,你可以使用 Amazon Athena 进行 SQL 查询,或者用 Amazon QuickSight 做深度报表展示
- 考试眼点:看到“需要最详细的明细数据”、“需要将账单导入第三方分析工具”或“需要使用标准 SQL 查询账单”时,首选此项
5. Amazon CloudFront
定位: 本质上是全球内容分发网络 - CDN,旨在通过将数据缓存到离用户最近的地方来降低延迟
工作协议: 主要支持 HTTP/HTTPS,不支持 UDP 协议
核心功能:
- 缓存静态内容: 缓存来自 S3 或 EC2 的图片、视频、CSS 等文件
- 动态内容加速: 优化 TCP 连接和 SSL 握手,加速 API 请求
- 安全性: 原生集成 AWS WAF(防火墙)和 Shield(抗 DDoS)
适用场景: 网站加速、视频点播、静态资源分发
6. Amazon Route 53 (DNS)
定位: 高可用、可扩展的云端域名系统(DNS)服务
- 工作协议: DNS 协议(运行在 UDP 53 端口上)
- 核心功能:
- 域名注册: 购买和管理域名
- 智能路由: 根据地理位置、网络延迟(Latency-based)、加权比例或故障转移状态来返回不同的 IP 地址
- 健康检查: 监控应用状态,如果某个区域挂了,DNS 会停止指向该 IP
- 适用场景: 全球流量调度、多区域灾备、简单内部域名解析
路由策略
Multivalue Answer: 这种策略允许 Route 53 为一个域名返回多个健康的 IP 地址(最多 8 个),客户端会随机选择其中一个 IP, 它可以进行健康检查,如果某个实例挂了,Route 53 会停止返回该 IP,从而实现故障转移和流量随机分布
Failover: 用于主备架构(Active-Passive),平时流量全去 A,A 挂了才去 B
Weighted: 用于按百分比分配流量(如 20% 测试,80% 生产)。虽然也可以设置相同权重,但在“高可用容错”场景下,Multivalue 配合健康检查是更标准的多 IP 随机分发方案
7. AWS Global Accelerator (全球加速器)
定位: 网络层加速服务,通过 AWS 全球专用网络优化用户到应用入口的路径
- 工作协议: 支持 TCP 和 UDP
- 核心功能:
- 静态 IP: 提供两个全球唯一的静态 Anycast IP,用户不需要依赖 DNS 变更
- 快速故障转移: 不存在 DNS 缓存问题,一旦后端健康检查失败,流量会在几秒内切换到其他区域
- 路径优化: 流量在边缘站点进入 AWS 私有网络,跳过拥挤的公网互联网
- 适用场景: 在线游戏(UDP)、VoIP(语音通话)、需要固定 IP 的金融应用
8. AWS Config
AWS Config 是一项专门用于资源治理、合规性审计和配置追踪的服务
核心功能:
**配置历史记录 (Configuration History)**:它像一台“时间机器”,记录资源随时间发生的每一次属性变更。例如,谁在昨天下午把一个私有的 S3 存储桶改成了公开?AWS Config 能看到修改前后的参数对比
**资源关系图 (Resource Relationships)**:它不仅监控单个资源,还能理清资源间的依赖。比如,删除一个安全组会影响哪些 EC2 实例
**合规性评估 (Compliance Evaluation)**:可以定义“规则”(Config Rules),让它自动检查资源是否符合规定(如:所有硬盘必须加密)
9. AWS CloudTrai
它是 AWS 的“监控摄像头”,记录账号内发生的所有 API 调用
核心功能:
- 记录行为:每当有人通过管理控制台、SDK 或命令行工具操作 AWS 资源时,CloudTrail 都会记录下来
- 关键信息:它会告诉你:
- Who:谁调用的(IAM 用户、角色)
- What:做了什么(调用了什么 API,如
TerminateInstances) - When:什么时间做的
- Where:从哪个 IP 地址发起的请求
- 存储与审计:日志默认保存 90 天,但你可以将其发送到 S3 永久保存,用于事后取证或合规性审计
10. Amazon CloudWatch
它是 AWS 的中央监控站,主要处理指标 (Metrics)、日志 (Logs) 和 报警 (Alarms)
- **指标 (Metrics)**:收集有关资源性能的数据
- 默认指标:EC2 CPU 使用率、磁盘 I/O、网络流量等
- 自定义指标:你可以发送应用程序级别的指标(如“当前在线人数”、“内存使用率”——注意:EC2 默认不监控内存,需安装 Agent)
- **日志 (Logs)**:收集、存储和访问来自 EC2、Lambda、Route 53 等服务的日志文件
- **报警 (Alarms)**:设定阈值。例如:“如果 CPU 超过 80% 持续 5 分钟,就发邮件通知并触发 Auto Scaling 扩容”
- **仪表板 (Dashboards)**:创建可视化视图
11. AWS Fargate
AWS Fargate 是一种为容器提供的无服务器(Serverless)计算引擎,不需要管理服务器的容器运行方式。它支持 Amazon ECS(弹性容器服务)和 Amazon EKS(托管 Kubernetes 服务)
11.1 为什么叫“无服务器容器”?
在传统的容器部署中(如使用 EC2 启动类型),你需要:
- 选择实例类型(CPU、内存)
- 管理底层操作系统(打补丁、安全更新)
- 根据容器数量手动或自动扩缩容 EC2 实例
而在使用 Fargate 时,你只需要:
- 打包容器(定义 Docker 镜像)
- 定义需求(指定这个容器需要多少 CPU 和内存)
- 运行容器
AWS 会在后台自动处理计算资源的调度、扩容和维护。你不再看到任何 EC2 实例,只需要为容器运行所消耗的资源付费
11.2 优点
零服务器管理:无需选择实例类型或管理集群容量
按需扩展:当流量激增时,Fargate 会自动启动更多容器副本,而无需等待底层 EC2 节点启动
成本优化:你只需为容器请求的资源(CPU/内存)按秒计费。对于间歇性任务或流量波动的应用,通常比维护一组 EC2 实例更划算
强安全性:每个 Fargate 任务(Task)或 Pod 都在其独立的、隔离的内核运行时环境中运行,不与其他任务共享资源
11.3 EC2 vs Fargate
| 特性 | ECS/EKS on EC2 | ECS/EKS on Fargate |
|---|---|---|
| 管理开销 | 较高:需管理服务器、补丁和集群 | 极低:AWS 负责所有底层管理 |
| 配置复杂度 | 需配置实例类型、自动扩容组 | 仅需定义容器所需的 CPU/内存 |
| 控制权 | 高:可完全访问底层操作系统 | 低:无法 SSH 进入底层服务器 |
| 计费方式 | 按运行的 EC2 实例时长计费 | 按容器消耗的资源(CPU/内存)计费 |
12. Amazon Kinesis Data Streams (KDS)
12.1 概念
KDS 允许你以每秒数百万个条目的速度连续收集和处理海量数据。它在架构中通常扮演“缓冲池”的角色:
- **生产者 (Producers)**:将数据(如网站点击流、金融交易日志、IoT 传感器数据)推送到流中
- 数据流 (Stream):数据被分发到多个分片 (Shards) 中,并在此停留一段时间
- **消费者 (Consumers)**:多个应用(如 Lambda、EC2 上的应用程序)可以同时从流中读取数据进行实时分析或存储
12.2 特性
实时性:数据的端到端延迟通常在毫秒级,支持近实时的数据分享与处理
**数据保留 (Retention)**:数据默认保留 24 小时,最长可配置为 365 天。这意味着如果下游系统宕机,数据不会丢失,可以在恢复后重新读取(Replay)
并行消费:多个不同的下游应用可以并行、独立地消费同一个流中的数据。例如,Lambda A 将数据脱敏后存入 DynamoDB,而应用 B 同时从流中抓取数据进行异常检测
**分片模型 (Sharding)**:流的吞吐量由“分片”数量决定。每个分片支持每秒 1MB 的写入和 2MB 的读取
12.3 Kinesis 系列工具对比
| 服务 | 核心用途 | 延迟 |
|---|---|---|
| Kinesis Data Streams (KDS) | 实时处理、自定义消费者应用、数据需要保留和重放 | 毫秒级 |
| Kinesis Data Firehose | 简单交付,将数据批量加载到 S3、Redshift、OpenSearch 或 Splunk | 秒级 (60s+ 缓冲) |
| Kinesis Data Analytics | 实时 SQL,在数据流过时使用标准 SQL 语句进行分析 | 实时 |
12.4 SQS vs Kinesis
| 特性 | SQS (Simple Queue Service) | Kinesis Data Streams (KDS) |
|---|---|---|
| 消费模式 | “拉取并删除”模式。一条消息通常只能被一个消费者处理 | “发布并订阅”模式。同一份数据可以被多个应用同时、多次处理 |
| 数据保留 | 消息处理成功后即从队列中删除 | 数据会保留(默认 24 小时),可以随时重放(Replay) |
| 顺序性 | 标准队列不保证严格顺序,只有 FIFO 队列支持严格顺序 | 在分片(Shard)内保证严格的顺序性 |
| 扩展性 | 几乎无限自动扩展,无需手动管理容量 | 需要管理分片 (Shards) 的数量来调整吞吐量(或用 On-demand 模式) |
| 典型用途 | 解耦两个系统,处理单次离散任务 | 大数据流分析、实时计算、多方数据分发 |
13. AWS Shield
定位:专门防御 DDoS(分布式拒绝服务) 攻击的托管式保护服务
- AWS Shield Standard(标准版):
- 费用:免费 自动为所有 AWS 客户开启
- 能力:防御最常见的网络层(第 3 层)和传输层(第 4 层)攻击(如 SYN Floods 或 UDP 反射攻击)
- AWS Shield Advanced(高级版):
- 费用:每月固定费用(约 $3000) 适合大型企业
- 能力:提供更智能的检测技术 能够识别复杂的一层应用层(第 7 层)攻击
- 特权:可以访问 DDoS 响应团队 (DRT) 并在攻击导致成本飙升(如流量突增导致 ELB 费用上涨)时提供经济保护
- 集成:包含了免费的 AWS WAF 使用权 用于更精细的请求过滤`
14. Amazon AppFlow
Amazon AppFlow 是一项完全托管的集成服务,旨在让你以安全的方式在 SaaS 应用程序(如 Salesforce, SAP, Slack, ServiceNow)与 AWS 服务(如 S3, Redshift)之间传输数据
14.1 核心特点
- 无代码集成:你不需要写一行代码来调用 SaaS API。只需在控制台点选源和目的地,配置字段映射即可
- 双向传输:不仅能把数据从 SaaS 拖回 AWS,还能把数据推送到 SaaS(例如将 S3 中的分析结果推回 Salesforce)
- 安全性高:支持 AWS PrivateLink。这意味着数据在 SaaS 和 AWS 之间传输时,可以完全不经过公网,极大地提高了安全性
- 按需触发:
- **按需 (On-demand)**:手动触发
- **按计划 (Schedule)**:例如每小时同步一次
- **事件驱动 (Event-driven)**:例如 SaaS 端有新客户创建时立即同步
14.2 常见应用场景
- CRM 备份:定期将 Salesforce 的客户记录备份到 S3 进行存档
- 日志分析:将 Slack 或 Zendesk 的对话记录同步到 S3,用 Amazon Athena 进行大数据分析
- ERP 同步:将 S3 里的订单数据自动同步到 SAP 系统中
15. AWS Direct Connect
AWS Direct Connect (DX) 是一项云解决方案,通过标准以太网光缆将您的内部网络直接连接到 AWS 环境
可以将其理解为一条在您的数据中心与 AWS 之间架设的专用物理专线,它不经过公共互联网,从而提供比基于互联网的连接更稳定、更安全的网络体验
15.1 核心优势:为什么要用专线?
- 性能的可预测性:由于流量不经过公共互联网,您不会遇到公网拥堵导致的延迟抖动或丢包,提供极佳的网络一致性
- 增加带宽吞吐量:支持 1 Gbps、10 Gbps 和 100 Gbps 的物理端口速度,能够轻松处理海量数据的实时传输
- 降低成本:对于大规模数据传输,Direct Connect 的数据传输费(Data Transfer Out)通常比通过互联网传输更便宜
- 安全性:物理层面的隔离确保了数据在传输过程中不暴露在公网上
15.2 关键组件与概念
要理解 Direct Connect,需要理清以下几个术语:
- **连接 (Connections)**:在 AWS Direct Connect 站点创建的物理接口
- **虚拟接口 (Virtual Interface - VIF)**:这是在物理连接上建立的逻辑通道,分为三类:
- Private VIF:连接到 VPC,用于访问私有 IP 地址的资源(如 EC2 实例)
- Public VIF:连接到 AWS 公网服务,用于访问 S3、DynamoDB 或其他具有公网端点的服务
- Transit VIF:连接到 Direct Connect Gateway,再关联 Transit Gateway,从而一次性连接多个 VPC
- **直接连接网关 (Direct Connect Gateway)**:一个全局资源,允许您通过一个 DX 连接访问全球任何 AWS 区域(中国区除外)的 VPC
15.3 常见部署方案
- Dedicated Connection:您独占整个物理端口,直接从 AWS 租用
- Hosted Connection:通过 AWS 合作伙伴(如电信运营商)租用容量,适合带宽需求较小的场景
- 高可用架构:为了防止单点故障,生产环境通常建议在不同的 DX 站点建立 两条专线,或者使用一条 DX 专线配合一条 AWS VPN 作为备份方案
15.4 Direct Connect vs. Site-to-Site VPN
| 特性 | AWS VPN | AWS Direct Connect |
|---|---|---|
| 底层路径 | 公共互联网 | 专用物理线路 |
| 建立速度 | 几分钟(快) | 几周到几个月(涉及物理施工) |
| 稳定性 | 一般,受公网波动影响 | 极高且稳定 |
| 带宽 | 受限于互联网带宽 | 极高(最高 100Gbps) |
| 主要成本 | 小时费 + 互联网流量费 | 端口费 + 专线流量费(通常更便宜) |
16. Amazon Macie
Amazon Macie 是一种数据安全和数据隐私服务,它利用机器学习和模式匹配来发现并保护您在 AWS 中的敏感数据
16.1 核心能力
- 自动发现敏感数据:它能识别数百种内置的敏感数据类型,包括:
- **个人信息 (PII)**:姓名、地址、护照号码
- 财务信息:信用卡号、银行账号
- 凭证信息:AWS 访问密钥、私钥文件
- S3 安全性监控:它会持续评估您的 S3 存储桶,检查是否存在公开访问、未加密或跨账号共享等安全隐患
- 智能分级:它会给不同的数据资产打分,告诉您哪些存储桶风险最高
17. RI vs ODCR
On-Demand Capacity Reservation (ODCR) 是 AWS 提供的一种让你能够“精准占座”的资源保障机制
RI 是 Reserved Instances(预留实例) 的缩写,如果说 ODCR(容量预留)是为了“保证有房住”,那么 RI 的核心目的则是为了“打折省钱”
17.1 RI 的本质:一份“长期租赁合同”
当你购买 RI 时,你实际上是在和 AWS 签订一份协议:
- 你的承诺:承诺在未来 1 年或 3 年 内持续使用某种特定类型的 EC2
- AWS 的回报:给你极高的折扣(最高可达 72% OFF),比你按小时支付的“按需价格”便宜得多
17.2 RI 的两种“口味” (非常重要)
① 区域级 RI (Regional RI)
- 特点:你只指定 Region(比如:新加坡),不指定具体的可用区(AZ)
- 作用:AWS 会在整个区域内自动寻找符合条件的实例并给你打折
- 缺点:不提供容量保证。如果机房满了,你依然可能开不起来机器
② 可用区级 RI (Zonal RI)
- 特点:你明确指定某个具体的可用区(比如:新加坡 AZ-1a)
- 作用:提供容量预留。AWS 会为你锁定物理资源
- 缺点:灵活性差,折扣只能应用在那个特定的可用区
17.3 RI vs. ODCR
| 维度 | ODCR (容量预留) | RI (预留实例) |
|---|---|---|
| 核心目标 | 100% 确定能开机 | 极大幅度省钱 |
| 时间长度 | 按需(用 1 小时或 1 周都行) | 长期(1 年或 3 年起步) |
| 取消政策 | 随时删除,停止计费 | 无法取消(只能在二级市场转卖,且过程复杂) |
| 最适合场景 | 短期突发活动、灾难恢复演练 | 长期稳定运行的业务(如官网后台、数据库) |
18. AWS AI 服务套件
| 数据类型 | 推荐服务 | 典型用途 |
|---|---|---|
| 图片/视频 | Amazon Rekognition | 识别图像里的内容、人脸、敏感信息 |
| 文本 (NLP) | Amazon Comprehend | 情感分析、提取文本关键词 |
| 语音转文字 | Amazon Transcribe | 给视频加字幕 |
| 文字转语音 | Amazon Polly | 把文章读出来 |
| 多语言翻译 | Amazon Translate | 自动翻译网页 |
| 个性化推荐 | Amazon Personalize | 类似亚马逊首页的“你可能还喜欢” |
| 文字提取 | Amazon Textract | 自动提取扫描文档中的文字、笔迹、表格和表单数据 |
| 自定义模型 | Amazon SageMaker | 以上服务都搞不定时,自己写代码训练模型 |
19. AWS Certificate Manager (ACM)
AWS Certificate Manager (ACM) 是 AWS 提供的一项全托管服务,旨在简化 SSL/TLS 证书的创建、管理和部署工作
19.1 核心功能
证书颁发与管理:您可以直接在 ACM 中申请由 AWS 信任的公有证书,或者导入由外部证书颁发机构(External CA)颁发的证书
一键部署:ACM 与多种 AWS 服务(如 ALB、CloudFront、API Gateway)深度集成。您只需在这些服务的配置页面中选择 ACM 证书,即可完成 HTTPS 配置
**托管续订 (Managed Renewal)**:这是 ACM 最受推崇的功能。对于由 ACM 直接颁发的公有证书,AWS 会在过期前自动完成验证并更新证书,无需人工干预
19.2 证书的类型与限制
| 证书来源 | 是否免费 | 自动续订 (Managed Renewal) | 适用场景 |
|---|---|---|---|
| ACM 颁发的公有证书 | 免费 | 支持 (全自动) | 绝大多数公网 Web 应用 |
| 外部导入的证书 | 视第三方而定 | 不支持 (需手动重新导入) | 公司必须使用特定 CA 颁发的证书 |
| 私有证书 (Private CA) | 收费 | 支持 | 企业内部办公网、内部微服务通信 |
20. Amazon S3
20.1 S3 存储分层
1. 使用场景
| 场景 | 推荐分层 |
|---|---|
| 频繁访问、关键数据 | S3 Standard |
| 不频繁访问(一月一次)、关键数据 | S3 Standard-IA |
| 不频繁访问、非关键(可重现)数据 | S3 One Zone-IA |
| 归档(一年一次)、允许延迟取回 | S3 Glacier Flexible Retrieval |
2. 分层特性
| 特性 | **S3 Standard-IA ** | **S3 One Zone-IA ** |
|---|---|---|
| 数据副本 | 跨至少 3 个可用区(AZ)同步存储 | 仅存储在一个可用区(AZ)内 |
| 持久性 (Durability) | 99.999999999% (11个9) | 99.999999999% (11个9),但在单个机房损毁时会丢数据 |
| 可用性 (Availability) | 99.9% | 99.5% |
| 成本 | 比标准存储便宜约 40%,但高于 One Zone | 成本最低,比 Standard-IA 还要再便宜 20% |
20.2 S3 Object Lock
Amazon S3 Object Lock 是一种用于实现 WORM(一写多读) 存储的机制,旨在防止对象在指定时间内或无限期地被删除或覆盖。它主要提供两种保护方式:保留期限(Retention Periods) 和 法律持有(Legal Hold)
1. 保留期限 (Retention Periods)
这种方式为对象设定一个固定的过期时间。在该时间到达之前,对象受到保护。它又细分为两种子模式:
- **合规模式 (Compliance Mode)**:
- 最严苛:受保护的对象版本无法被任何用户(包括 AWS Root 账号)删除或修改
- 不可撤销:一旦设定,保留期限不能缩短,模式也不能更改,直到期限届满
- 适用场景:金融审计、法律法规要求的强制性数据保存
- **治理模式 (Governance Mode)**:
- 较灵活:除非用户拥有特殊的 IAM 权限(如
s3:BypassGovernanceRetention),否则无法删除或修改对象 - 可管理:允许特权管理员在必要时清理对象或修改保留设置
- 适用场景:防止大多数用户误删数据,同时保留管理人员的最终控制权
- 较灵活:除非用户拥有特殊的 IAM 权限(如
2. 法律持有 (Legal Hold)
与保留期限不同,法律持有提供的是一种不限期的锁定保护
- 无截止日期:它没有到期时间的概念,对象会一直保持锁定状态,直到被手动移除
- 独立存在:法律持有不影响对象的“保留期限”设置。即使保留期限已过,只要法律持有标签还在,对象依然不能被删除
- 权限控制:只有拥有
s3:PutObjectLegalHold权限的用户才能添加或移除此锁定 - 适用场景:应对正在进行的法律诉讼、突发调查或非特定时间的存储需求
21. AWS DataSync
AWS DataSync 是一项全托管的联机数据传输服务,专门用于在本地存储和 AWS 存储服务之间自动化地移动大量数据
- 协议支持:原生支持 NFS、SMB 和 HDFS 等文件协议,非常适合从 SAN 或 NAS 中摄取数据
- 极速传输:使用 AWS 专有的传输协议,通过多线程、增量传输、数据压缩等技术,速度可达命令行工具(如
rsync)的 10 倍,单任务可跑满 10 Gbps 带宽 - 自动化与可靠性:自动处理任务调度、重试和完整性校验(Integrity Validation),确保源端和云端的数据完全一致
- 安全合规:数据在传输过程中自动进行 TLS 加密,符合处理“敏感数据”的要求
22. AWS Backup
AWS Backup 是一项全托管的集中式备份服务,旨在简化跨多种 AWS 服务的数据保护管理
22.1 核心功能与优势
- 集中化管理:在一个控制面板中为所有支持的 AWS 资源(如 DynamoDB、RDS、EBS、EFS、S3 等)配置备份策略,无需在每个服务中单独操作
- 基于策略的自动备份:通过创建备份计划 (Backup Plan),您可以定义备份频率(如每小时、每天)、备份时间窗口以及数据的留存期(如保留 7 年以满足法律合规)
- 生命周期管理:支持自动将备份从热存储转入成本更低的**冷存储 (Cold Storage)**,并在过期后自动删除,实现最高效率的成本控制
- 跨区域与跨账号备份:支持将备份副本自动复制到其他 AWS 区域或另一个 AWS 账号中,以应对极端灾难恢复(DR)场景
22.2 关键组件
| 组件 | 说明 |
|---|---|
| 备份计划 (Backup Plan) | 核心策略文件。定义了“什么时候备份”和“备份存多久” |
| 备份库 (Backup Vault) | 用于安全存储备份数据的逻辑容器,可以使用 AWS KMS 进行加密保护 |
| 资源分配 (Resource Assignment) | 定义哪些资源需要被备份。支持通过 标签 (Tags) 自动匹配资源(例如:备份所有带有 Environment: Production 标签的资源) |
23. Point-in-Time Recovery (PITR)
Point-in-Time Recovery (PITR,即“时间点恢复”) 就像是为数据库装了一个“录像机”和“时间机器”
它允许你在发现数据被损坏(比如程序写错了、人为误删)后,将数据库恢复到过去 35 天内任何一秒钟的状态
PITR 的核心在于它不是简单的“定期拍照片(快照)”,而是“连续记录”:
- 全量基础:AWS 会定期对你的数据库进行全量备份
- 增量日志:在两次全量备份之间,数据库发生的每一次增量修改(写入、更新、删除)都会被实时记录在事务日志中
- 恢复过程:当你要求恢复到“今天下午 2:15:30”时,AWS 会先拉起最近的一个全量备份,然后像播放录像带快进一样,重放(Replay)日志里的所有操作,直到精确停止在你指定的那一秒
PITR 与 普通快照的区别
| 特性 | 普通快照 (On-demand Snapshot) | PITR (时间点恢复) |
|---|---|---|
| 比喻 | 像拍照片(只有那一瞬间的状态) | 像录视频(记录全过程) |
| 恢复点 (RPO) | 间隔大。如果每天拍一次,你可能丢掉 24 小时的数据 | 极短。通常可以精确到过去 5 分钟前的任何一秒 |
| 留存期 | 可以手动保留很久(如 7 年) | 滚动保留,最长通常只有 35 天 |
| 适用场景 | 长期合规、归档、作为备份底片 | 应对突发灾难(如代码 Bug 删库) |
提供 PITR 的核心服务
| 服务类型 | 具体服务 | 恢复精度 | 常见保留期限 |
|---|---|---|---|
| 关系型数据库 | Amazon RDS (MySQL, PostgreSQL, SQL Server 等) | 任意秒级 | 1 到 35 天(默认 7 天) |
| 云原生数据库 | Amazon Aurora | 任意秒级 | 1 到 35 天 |
| NoSQL 数据库 | Amazon DynamoDB | 任意秒级 | 固定 35 天 |
| 数据仓库 | Amazon Redshift | 任意秒级 | 1 到 35 天 |
| 文件系统 | Amazon FSx (Windows/Lustre 等) | 基于快照的时间点 | 1 到 35 天 |
| 对象存储 | Amazon S3 (通过版本控制) | 每一个版本 | 自定义(取决于版本保留策略) |
24. Amazon RDS Proxy
Amazon RDS Proxy 是一种面向 Amazon RDS 和 Amazon Aurora 的全托管、高可用数据库代理服务
它主要解决的是现代应用程序(尤其是基于 AWS Lambda 的无服务器架构)在连接数据库时面临的“连接管理”难题
24.1 为什么需要 RDS Proxy?
传统的数据库(如 MySQL, PostgreSQL)是为长连接设计的,而无服务器应用(如 Lambda)的特点是:
- 并发量大:瞬间可能产生数千个 Lambda 实例
- 寿命短:频繁地开启和关闭连接
- 连接开销大:每次建立 TCP 连接和进行身份验证都会消耗数据库的 CPU 和内存资源
如果没有代理,海量的 Lambda 请求会迅速耗尽数据库的连接数上限,导致系统崩溃
24.2 核心功能与优势
- **连接池 (Connection Pooling)**:
- RDS Proxy 会维持一个与数据库的长连接池
- 多个应用程序请求可以复用这些现成的连接,从而显著降低数据库的 CPU 开销并加快响应速度
- **增强可用性 (Failover Handling)**:
- 当数据库发生故障切换(Failover)或进行升级时,Proxy 会自动连接到新的主节点
- 它能暂时排队等待(Queue)应用程序的请求,而不是直接报错,使故障切换时间缩短多达 60%
- **安全性 (Security)**:
- 支持通过 AWS Secrets Manager 管理数据库凭证
- 强制执行 IAM 身份验证,无需在应用程序代码中硬编码数据库用户名和密码
25. Amazon Glue
Amazon Glue 是一种完全托管的、无服务器的数据集成服务,它让发现、准备、移动和组合数据用于分析、机器学习(ML)和应用程序开发变得更加简单
通俗地说,它是 AWS 云中的 ETL(抽取、转换、加载) 工厂,负责将杂乱无章的原始数据变成整齐划一的分析级据。
25.1 核心组件
- **数据目录 (Data Catalog)**:
- 这是一个集中的元数据存储库
- 它就像一个“图书馆索引”,记录了你的数据存在哪里(S3、RDS、Redshift 等)以及数据的结构(列名、数据类型)
- **爬虫 (Crawlers)**:
- 它们会自动扫描你的数据存储(如 S3 存储桶),自动推断出数据模式(Schema),并将这些元数据保存到数据目录中
- ETL 引擎:
- 负责执行实际的“搬运和加工”工作
- 它可以自动生成 Python 或 Scala 代码(基于 Apache Spark),将数据从源格式转换为目标格式(例如将 CSV 转换为更适合查询的 Parquet 格式)
25.2 优势
**无服务器 (Serverless)**:你不需要配置、管理或扩容任何服务器。AWS 会根据工作量自动分配计算资源
按需付费:你只需为作业运行期间消耗的资源付费
集成性强:它与 S3、RDS、DynamoDB 以及本地(On-premises)数据库都能无缝连接
26. Amazon Inspector
Amazon Inspector 是一项自动化的网络安全评估服务,旨在帮助您持续提高部署在 AWS 上的应用程序的安全性和合规性
它主要通过扫描漏洞 (Vulnerabilities) 和偏离最佳实践 (Deviations from best practices) 来保护您的计算资源
26.1 功能
Amazon Inspector 会在您的环境中自动发现并扫描以下资源:
- EC2 实例扫描:检查操作系统补丁缺失、网络暴露情况以及已知的软件漏洞 (CVE)
- **容器镜像扫描 (Amazon ECR)**:自动扫描存储在 ECR 中的容器镜像,识别软件包中的漏洞
- Lambda 函数扫描:评估 Lambda 函数代码及其中包含的软件包是否存在安全风险
- 网络可达性分析:分析您的网络配置,识别是否存在非预期的外部访问路径
26.2 优势
- 持续监控:它不是一次性的扫描,而是在您部署新资源或出现新漏洞(如零日漏洞)时自动触发重新评估
- 无代理/有代理支持:对于 EC2 实例,它既可以通过 SSM Agent 进行深度扫描,也支持在某些场景下进行无代理扫描
- 风险评分:它会结合环境背景提供 Inspector 分数,帮助您优先处理威胁最大的漏洞,而不是淹没在成千上万的警报中
- 集成与自动化:扫描结果会自动发送至 AWS Security Hub,并可以通过 Amazon EventBridge 触发自动化修复脚本
27. OAI / OAC
27.1 OAI (Origin Access Identity)
- 原理:创建一个虚拟的身份(Identity),在 S3 桶策略中允许这个 Identity 读取对象
- 局限性:
- **不支持 AWS 加密 (SSE-KMS)**:如果你的 S3 文件是用 KMS 加密的,OAI 无法解密
- 协议限制:仅支持传统的调用方式
- 区域限制:在一些较新的 AWS 区域支持不够完美
27.2 OAC (Origin Access Control)
AWS 在 2022 年推出了 OAC,它是 OAI 的增强版和替代者
- 改进点:
- 支持 SSE-KMS(最重要):如果你的 S3 存储桶开启了 KMS 加密,必须使用 OAC 才能让 CloudFront 正常读取文件
- 安全性更高:支持更现代的签名算法(SigV4)
- 粒度更细:可以更好地控制哪些请求可以被允许
- 适用范围:支持所有 S3 区域,甚至开始支持其他类型的源(如 Elemental MediaStore)
28. 记忆口诀表
1. 计算与扩展 (Compute & Scaling)
| 场景关键词 | 核心考点 | 必选动作 (考点) |
|---|---|---|
| 最低运维、容器 | 容器化部署 | Fargate (Serverless 容器) + ECS |
| 突发流量、PHP/Java | 自动扩展 | ASG (Auto Scaling) + ALB |
| 极致省钱、可中断 | 成本优化 | Spot Instances (竞价实例) |
| 稳定业务、24/7 运行 | 长期省钱 | Savings Plans 或 RI |
2. 存储与数据 (Storage & Data)
| 场景关键词 | 核心考点 | 必选动作 (考点) |
|---|---|---|
| 10年保留、海量日志 | 长期存储成本 | S3 + Lifecycle $\rightarrow$ Glacier Deep Archive |
| 数据库分离、高性能 | 数据库迁移 | Aurora (MySQL/PostgreSQL 托管) |
| 一次性查询、最低开销 | 数据湖分析 | S3 + Athena (SQL 查询) + Glue (转 Parquet) |
| 严格顺序、解耦 | 消息队列 | SQS FIFO (看到 Order 必选) |
3. 网络与加速 (Network & Content Delivery)
| 场景关键词 | 核心考点 | 必选动作 (考点) |
|---|---|---|
| 全球视频、缓存 | 静态加速 | CloudFront (CDN) |
| 保护 S3 源站 | 权限锁死 | OAI (或 OAC) 强制走正门 |
| UDP 协议、固定 IP | 链路优化 | Global Accelerator |
4. 安全与治理 (Security & Governance)
| 场景关键词 | 核心考点 | 必选动作 (考点) |
|---|---|---|
| DDoS 攻击 | 流量防弹衣 | AWS Shield Advanced |
| 特定国家访问、Web 攻击 | 应用层防火墙 | AWS WAF (Geo Match) |
| 禁止区域、账号限制 | 组织治理 | AWS Organizations + SCP (预防性护栏) |
| 全链路敏感字段加密 | 隐私保护 | CloudFront Field-level Encryption |
| 5年备份、自动删除 | 备份合规 | AWS Backup (支持 Lifecycle) |
29. Amazon Cognito
Amazon Cognito 是 AWS 提供的一个“身份即服务(Identity as a Service)”
比如在开发一款 App 时,需要一套用户系统:让用户能注册、登录、找回密码,甚至用苹果或谷歌账号直接一键登录,Cognito 就是直接把这整套“用户中心”打包好交给你,开箱即用
29.1 User Pools (用户池) —— 解决“你是谁?”
App 专属用户数据库
核心功能:处理最基础的注册(Sign-up)、登录(Sign-in)、忘记密码、多因素认证(MFA)等
29.2 Identity Pools (身份池) —— 解决“你能干什么?”
AWS 临时通行证发放处,Identity Pool 的唯一职责,就是下发临时且权限受限的 AWS 凭证(Temporary AWS Credentials)
访客模式:它甚至可以为未登录的游客下发权限非常低的凭证(比如只允许读取公开的图片库)
30. Amazon Pinpoint
是一项灵活可扩展的**行销通信服务 (Marketing Communication Service)**,可以用来发消息的一整套完整用户交互平台
支持以下功能项:
**多渠道触达 (Multi-channel)**:支持电子邮件、SMS 短信、推送通知(Push)、语音消息,甚至是自定义渠道(如 WhatsApp)
**用户分段 (Segmentation)**:可以根据用户的属性(年龄、地区、设备)或行为(最近 7 天没登录、点击过某链接)来精准圈选受众
**用户旅程 (Journeys)**:可以设计一个自动化的工作流
例子:如果用户今天收到了促销邮件但没点开,3 天后自动补发一条短信;如果点开了,则在 5 天后推送一个专属优惠券
A/B 测试:支持发送不同版本的消息内容给不同的用户群,观察哪种方案的点击率(CTR)更高
实时分析:它会追踪“送达率”、“开信率”、“点击率”等指标,并能将原始数据流式传输到 S3 或 Redshift 进行长期存储
31. AWS Trusted Advisor
一个 AWS 内置的云管理咨询专家组件,它会持续地扫描现有的 AWS 环境是否满足 AWS 官方推荐的最佳实践,检查维度包含以下:
费用: 识别闲置资源(比如低利用率的 EC2 实例)以及一些未被挂载的 EBS 存储块
安全: 安全漏洞风险提示,比如未做严格限制的安全组端口以及 IAM 密钥的暴露
性能: 提供检查以便优化吞吐量,确保 DNS 的可靠性并改善负载均衡
弹性: 关注容错、多可用部署以及备份相关的配置
运维: 确保基础设施符合操作准则,配置管理和补丁最佳实践
资源: 监控账号资源配额的使用情况,可按需采取限制
32. Amazon Elastic Beanstalk
Amazon Elastic Beanstalk 是 AWS 提供的一款完全托管的应用程序部署与管理服务(PaaS - 平台即服务)
以下是 Elastic Beanstalk 與 傳統自建部署 的對比表格:
| 運維維度 | 傳統自建部署 | Elastic Beanstalk |
|---|---|---|
| 底層網路配置 | 必須自己劃分公有/私有子網,手動配置安全組的出入站規則和路由表。 | 全自動 ,介面上勾選一下,Beanstalk 會自動幫你建立並綁定最符合最佳實踐的網路架構 |
| 伺服器環境搭建 | 須自己連進 EC2 安裝 Linux 補丁、配置 Java/Python 執行環境、手動安裝配置 Nginx 或 Tomcat | 一鍵搞定,只需要在下拉選單中選擇你的開發語言(如 Node.js 或 Python),Beanstalk 會自動開好裝有該環境的伺服器。 |
| 負載均衡與高可用 | 必須自己去 EC2 控制台創建 ALB(應用負載均衡器),配置目標組(Target Groups)和健康檢查(Health Check) | 全自動,只要你選擇了“負載均衡環境”,Beanstalk 會自動在後端開好 ALB 並把伺服器均勻分佈在不同可用區 |
| 彈性自動擴展 (Auto Scaling) | 必須自己去建立啟動範本、設定 Auto Scaling 規則(如 CPU > 70% 加一台機器),容易配置出錯 | 內置整合。 預設就幫你開啟了 Auto Scaling,你可以直接在網頁畫面上修改擴展的上限和下限(例如最少2台,最多10台) |
| 程式碼部署與更新 | 需要自己搭建 CI/CD 流水線(如 Jenkins),或者手動把程式碼拷貝到每台伺服器上重啟服務 | 極致簡單。 直接把寫好的程式碼打包成 .zip 上傳,或者透過 AWS CLI 一鍵提交,Beanstalk 會自動進行滾動更新(Rolling Update) |
| 日常系統打補丁 | 必須定期手動(或用腳本)去給每台 EC2 執行個體的作業系統修補安全漏洞,否則容易被黑客攻擊 | 支援開啟自動維護窗口,AWS 官方會在深夜自動幫你的底層作業系統和運行環境打上最新的安全補丁 |
| 底層資源控制權 | 擁有絕對的控制權 | 同樣擁有 100% 掌控,它雖然幫你託管,但絕不是黑盒。它開出來的 EC2、ALB 都在你的帳號下,隨時可以連進去修改任何設定 |
| 服務本身費用 | 基礎設施原價 | 服務本身不收錢,你只需要為後端自動開出來的 EC2、ALB 等資源付費(花銷和傳統部署一模一樣) |