前言
官网: https://aws.amazon.com/certification/certified-solutions-architect-professional/?ch=sec&sec=rmg&d=1
题库: https://www.examtopics.com/exams/amazon/aws-certified-solutions-architect-professional-sap-c02/
1. Identity & Federation
IAM
🔐 IAM 身份类型一览
类型 | 描述 |
---|
Users | 长期凭证用户(用户名+密码 / access key) |
Groups | 用户集合,用于统一授权 |
Roles | 使用 STS 签发的临时凭证(跨账户、服务访问、EC2 等) |
EC2 Instance Roles | 通过 Instance Metadata Service 获取临时凭证(每个 EC2 一次只能有一个角色) |
Service Roles | 用于 AWS 服务访问另一个服务,如 API Gateway、CodeDeploy 等 |
Cross Account Roles | 跨账户访问权限,使用 AssumeRole 实现 |
📝 IAM 策略类型
类型 | 描述 |
---|
AWS Managed Policy | AWS 预定义的策略,如 AdministratorAccess |
Customer Managed | 你创建和维护的可复用策略 |
Inline Policy | 直接嵌入到用户 / 组 / 角色上的策略,作用域限于该实体 |
Resource-based Policy | 应用于资源上的策略,如 S3 Bucket、SQS Queue 等 |
🔍 IAM 工具与可视化
工具名称 | 作用 |
---|
Access Advisor | 查看角色或用户的权限实际使用情况(支持最近访问时间) |
Access Analyzer | 检查资源是否被外部实体共享(例如 S3 Bucket 公开、KMS Key 共享) |
Policy Simulator | 模拟策略效果,验证策略是否按预期生效 |
IAM Policy
- IAM 策略是一个 JSON 文档,通常包含以下字段
字段 | 说明 |
---|
"Effect" | 策略效果,可为 "Allow" 或 "Deny" |
"Action" | 允许的操作,例如 "s3:GetObject" |
"NotAction" | 明确排除的操作(通常与 "Effect": "Allow" 搭配使用) |
"Resource" | 作用的资源 ARN,例如 "arn:aws:s3:::my-bucket/*" |
"Condition" | 可选字段,用于添加附加限制条件 |
- 显式
Deny
优先于 Allow
- 最佳实践:始终遵循最小权限原则(Least Privilege)

${aws:username}
: 代表当前执行请求的 IAM 用户名AWS Specific
: aws:CurrentTime, aws:TokenIssueTime, aws:principaltype…Service Specific
: s3:prefix, s3:max-keys, s3:x-amz-acl…Tag Based
: iam:ResourceTag/key-name, aws:PrincipalTag/key-name…
{ "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::mybucket/${aws:username}/*" }
|
- 假设 IAM 用户 alice 发起了请求,那么这个 policy 中的变量就会自动替换成
"Resource": "arn:aws:s3:::mybucket/alice/*"
|

IAM Roles vs Resource Based Policies
- IAM 中的访问控制可以通过两种方式实现
- 使用角色(IAM Role):通过扮演角色进行访问(代理身份)
- 使用资源策略(Resource-based Policy):直接将权限附加在资源上

- IAM Role 示例:A 账户中的 Lambda 要访问 B 账户中的 DynamoDB,A 账户的 Lambda 必须 Assume B 账户中的角色
- Resource-based Policy 示例:B 账户的 S3 Bucket Policy 直接允许 A 账户的某个角色或服务访问该 Bucket

🆚 IAM Role vs Resource-based Policy 对比总结
维度 | IAM Role(角色) | Resource-based Policy(资源策略) |
---|
附加位置 | 附加在身份(User、Service、Account)上 | 附加在资源上(如 S3 Bucket、SQS、KMS 等) |
使用方式 | 访问方先 AssumeRole,临时获取权限 | 资源接收外部请求时,根据策略判断是否允许访问 |
适用场景 | 用户 / 服务访问其他账户资源 | 资源授权给外部账户、服务或匿名用户 |
支持跨账户访问 | ✅ 是,通过 AssumeRole 实现 | ✅ 是,直接在资源上允许其他账户 / 服务访问 |
例子 | EC2 实例角色、Lambda 执行角色、跨账户访问角色 | S3 Bucket Policy、SQS Queue Policy、KMS Key Policy |
授权主体控制权在哪一方? | 访问者(主动扮演角色) | 资源拥有者(决定谁可访问资源) |
IAM Permission Boundaries
- Permission Boundary 是一种高级 IAM 控制机制,用于为 User 或 Role 设置权限上限。⚠️ 不支持用于 Group
- 假设用户 A 被授予了 AdministratorAccess(几乎所有权限)
- 但他的 Permission Boundary 限定为只允许:s3:, ec2:, cloudwatch:*
- 结果, 用户 A 无法执行 iam:CreateUser,即使他的策略中写了也无效

- 委托权限给非管理员: 比如让开发者自行管理权限(但不能升权)
- 允许自助权限管理: 用户可以 attach policy,但受 boundary 限制
- 精细限制特定用户或角色: 针对关键岗位做严格边界控制

IAM Access Analyzer
- Access Analyzer 是 IAM 的可视化工具,用于帮助你识别资源是否被意外共享,并提供策略分析与建议功能。

- IAM Access Analyzer Policy Validation
- Validates your policy against IAM policy grammar and best practices
- 自动检查 IAM Policy 是否符合语法 + 安全最佳实践
- IAM Access Analyzer Policy Generation
- Generates IAM policy based on access activity
- 根据实际访问行为自动生成最小权限策略(least privilege)

STS (Security Token Service)
{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/developer" }, "Action": "sts:AssumeRole" }
|
- 使用 AWS STS 获取临时凭证:调用 AssumeRole API,获得临时凭证
aws sts assume-role \ --role-arn "arn:aws:iam::123456789012:role/MyRole" \ --role-session-name "example-session"
|
- 临时凭证有效期:可配置范围:15 分钟 ~ 12 小时

场景 | 描述 |
---|
🔄 跨账户访问 | 让账户 A 的用户访问账户 B 的资源(你拥有两个账户) |
🤝 第三方访问授权 | 授权第三方(如供应商)账户的 IAM 用户访问你账户中的资源 |
☁️ AWS 服务间访问 | EC2、Lambda 等 AWS 服务通过 role 访问其他资源(S3、DynamoDB 等) |
🌐 身份联合(Federation) | 外部身份源(如 AD、Google、SAML)用户通过联合登录后 assume 角色 |
⛔ 会话吊销机制 | 使用 aws:TokenIssueTime + 条件策略吊销旧会话(AWSRevokeOlderSessions ) |
- 你可以让某个账户中的 IAM 用户切换身份,访问另一个账户(或同账户)中的 IAM Role

- 如何安全地授权第三方 AWS 账户访问你资源中的 IAM Role
- Zone of Trust:你自己拥有的账户或 AWS Organization
- Outside Zone of Trust:第三方拥有的 AWS 账户(如供应商、合作伙伴)
- 访问授权流程(给第三方账户)
- 第三方的 AWS Account ID
- 一个 External ID(共享的 secret 字符串,由第三方提供)
- 在你账户中创建 IAM Role
- 指定允许 AssumeRole 的 AWS 账户 ID
- 添加 Condition 限制 External ID,确保只授权给特定第三方
- 第三方 assume 该角色
- 在调用 AssumeRole 时必须提供正确的 External ID,否则拒绝访问

功能 | 说明 |
---|
🧿 防止“confused deputy” 攻击 | 防止别人冒用第三方身份去 assume 你暴露的角色 |
🔒 安全通道 | External ID 是你与第三方之间的秘密,AWS 作为验证者 |
🤝 明确授权对象 | 你可以根据不同第三方使用不同 External ID,实现绑定 |
- Session Tags in STS
- 当你通过 STS AssumeRole / AssumeRoleWithSAML / AssumeRoleWithWebIdentity 获取临时凭证时,可以附带自定义 Tag,这些 Tag 会作为“身份元信息”跟随该会话
功能 | 描述 |
---|
🏷️ 权限控制 | 可用于通过 IAM Policy 中的 aws:PrincipalTag 条件限制资源访问 |
🔍 审计追踪 | Session tags 会显示在 CloudTrail 中,便于审计 |
🧑💼 用户信息传递 | 可以传递比如 Department=Finance 、Project=Alpha 这样的上下文信息 |
🔐 安全增强 | 限制只有具有特定 tag 的用户才能传递某些 tag(防止伪造) |

API 名称 | 描述 |
---|
AssumeRole | 获取临时凭证以访问本账户或跨账户的 IAM Role,最常用的 STS 接口。 |
AssumeRoleWithSAML | 为通过 SAML 登录的用户返回临时凭证,常用于企业 SSO(如 AD FS)。 |
AssumeRoleWithWebIdentity | 为通过 Web Identity Provider(如 Cognito、Facebook、Google、OIDC)登录的用户提供临时凭证。AWS 推荐使用 Cognito。 |
GetSessionToken | 获取当前 IAM 用户或 Root 用户的临时凭证,常与 MFA 一起使用。 |
GetFederationToken | 为联合用户(不在 IAM 中注册的用户)获取临时凭证,常用于代理程序或内部网络中的应用。 |
Identity Federation in AWS
- Give users outside of AWS permissions to access AWS resources in your account
- 允许 AWS 账户外部的用户 获取对 AWS 资源的访问权限,无需创建 IAM 用户
- SAML 2.0, Custom Identity Broker, WebIdentityFederationWith(out)AmazonCognito, IAM Identity Center

+----------+ Authenticate +-----------------+ | User | -----------------> | External IdP | +----------+ +-----------------+ | v [Get Token / Assertion from IdP] | v +-----------------------------+ | STS (AssumeRoleXxx) | +-----------------------------+ | v [Get Temporary Credentials] | v Access AWS Resources
|
AWS Directroy Service (AD)
- Active Directory(AD) 是微软在 Windows Server 中提供的目录服务,用于集中管理网络中的用户、计算机、资源和权限

功能 | 说明 |
---|
🎯 用户管理 | 创建/修改用户账号,设置密码策略、登录权限等 |
🖥️ 资源管理 | 统一管理计算机、打印机、文件共享等资源 |
🔐 权限分配 | 使用组(Security Groups)来简化访问控制 |
🗂️ 集中认证(SSO) | 用户只需登录一次,便可访问多个网络资源(Kerberos 协议) |
Forest └── Tree (example.com) ├── Domain: example.com │ ├── OU: HR │ │ └── User: Alice │ ├── OU: IT │ │ └── Computer: IT-PC-01 └── Domain: sub.example.com
|
服务名称 | 描述 | 是否与本地 AD 集成 | 支持 MFA | 用户存储位置 |
---|
AWS Managed Microsoft AD | AWS 托管的 Microsoft AD,完全兼容,支持 AD 信任关系 | ✅(支持信任) | ✅ | 存在 AWS 托管 AD 中 |
AD Connector | 目录代理,充当 AWS 和本地 AD 的桥梁(不存储用户数据) | ✅(直连) | ✅ | 用户存储在本地 AD |
Simple AD | AWS 提供的简化版、兼容 AD 协议的托管目录,适合轻量应用 | ❌(无法信任) | ❌ | 存储在 AWS Simple AD |

AWS Managed Microsoft AD
(托管 Microsoft AD)- 完全托管的 Active Directory,运行在你的 AWS VPC 内,适合需要微软 AD 功能的企业工作负载
+----------------------+ +----------------------+ | Availability Zone 1| | Availability Zone 2| | | | | | +----------------+ | | +----------------+ | | | AD DC | | | | AD DC | | | +----------------+ | | +----------------+ | | ^ ^ | | ^ ^ | | / \ | | / \ | | EC2 / Apps \ | | EC2 / Apps \ | +----------------------+ +----------------------+
↕ Auto replication ↔ Cross-VPC / Multi-Account Join
|
- Connect to on-premises AD
- 在 AWS 中部署 AWS Managed Microsoft AD 后,可以通过 VPN 或 Direct Connect 与你现有的 本地 AD(on-premises AD) 建立 信任关系(Trust)
连接方式
类型 | 描述 |
---|
🛰️ VPN | 使用 AWS Site-to-Site VPN 建立加密连接 |
⚡ Direct Connect | 使用 AWS DX 提供更稳定的私网连接 |
支持的信任类型(Forest Trust)
类型 | 说明 |
---|
🔁 双向信任 (Two-way) | AWS 和本地 AD 相互信任,可双向身份验证 |
👉 单向信任:AWS ➝ 本地 AD | AWS 用户可以访问本地资源 |
👉 单向信任:本地 ➝ AWS | 本地用户可以访问 AWS 中的资源 |

- Solution Architecture: Active Directory Replication
- 为了降低延迟并提高可用性,可在 AWS 中部署本地 AD 的副本,以便在 VPN 或 Direct Connect 连接中断时仍可正常认证和访问资源

AWS Directory Services AD Connector
- AD Connector 是一种目录网关(Directory Gateway),用于将 AWS 内的身份验证请求转发至你的 本地 Microsoft Active Directory
- 适合纯身份验证代理,不支持 SQL Server

AWS Directory Services Simple AD
- Simple AD 是一种低成本、轻量级的目录服务,兼容 Microsoft Active Directory,适用于小规模身份认证需求

目录服务类型 | 是否支持 Trust | 支持 SSO | 支持 MFA | 用户管理位置 | 最大用户数 |
---|
Simple AD | ❌ 不支持 | ❌ 不支持 | ❌ 不支持 | 托管在 AWS | 500 / 5000 |
AD Connector | ❌ 不支持 | ✅ 支持 | ✅ 支持 | 本地 AD | 取决于本地 AD |
Managed Microsoft AD | ✅ 支持 | ✅ 支持 | ✅ 支持 | 托管在 AWS | 可扩展 |
AWS Organizations
- AWS Organizations 允许你在一个统一的管理框架下,集中管理多个 AWS 账户。可通过组织单元(Organizational Units,OUs)分组,并应用策略统一控制
Root
: 整个组织的顶层节点,包含所有 OUs 和账号Management Account
: 用于创建组织、邀请账号、应用 SCP 策略Organizational Unit (OU)
: 类似目录结构中的文件夹,用于逻辑分组账户(如 Dev、Prod、HR)Member Accounts
: 加入组织的子账户,可继承 OU 的策略限制,但不具备组织控制权

- AWS Organizations -
OrganizationAccountAccessRole
- 这是一个 IAM 角色,用于允许 管理账户(Management Account) 对 成员账户(Member Accounts) 执行管理员操作

- AWS Multi-Account Strategies
- 在企业级架构中,采用多个 AWS 账户(Multi-Account)可以带来更高的安全性、资源隔离性和可扩展性

- AWS Organizations – Feature Modes
- AWS Organizations 提供两种功能模式(Feature Sets),控制组织可用的功能范
Consolidated Billing Features
(账单整合模式)
特性 | 说明 |
---|
💳 统一账单管理 | 所有成员账户共享一个支付方式,由管理账户付款 |
💰 使用量聚合优惠 | 像 EC2、S3 这类资源使用量可跨账户聚合,享受更高折扣 |
🚫 无 SCP(Service Control Policies)支持 | 无法进行权限统一限制管理 |
All Features
(全功能模式)✅ 默认选项
特性 | 说明 |
---|
✅ 包含 Consolidated Billing 所有功能 | 继承账单整合模式的所有优点 |
✅ 启用 Service Control Policies(SCP) 管理成员账户权限 | 可统一管理成员账户的服务访问权限 |
✅ 可将账户从组织中“锁定” | 通过 SCP 防止成员账户擅自离开组织 |
🔐 更细粒度控制 | 适用于多账户安全与合规性架构 |
⚠️ 一旦启用,无法回退 到仅账单模式 | 启用后无法降级回 Consolidated Billing 模式 |
- AWS Organizations – Moving Accounts(迁移账户)
- 从原 Organization 中移除成员账户
- 从目标 Organization 发送邀请
- 成员账户接受邀请

Service Control Policies (SCP)
- SCP 是 AWS Organizations 的一种权限控制机制,用于对组织中的账户进行统一的服务访问控制
- 作用范围为 OU 或账户层级, 不作用于管理账户(Management Account)
- 作用于账号中的所有用户和角色, 包括 Root User,但不包括 Service-linked Roles
- 策略继承机制: SCP 的生效路径必须从 Root OU 到目标账号 每一层都有 Allow,默认不允许任何操作
对象 | 作用域 | 控制行为 |
---|
IAM Policy | 用户 / 角色 | 定义用户可做什么 |
SCP | 账号 / OU | 定义账号最多能做什么(权限上限) |

用例场景 | 示例 |
---|
🚫 禁止使用某些服务 | 禁止某个 OU 下使用 EMR、CloudShell 等高风险服务 |
✅ 限制资源创建区域 | 限制只能在 us-east-1 区域中使用服务 |
📋 强制合规策略 | 确保某些服务(如 RDS)开启加密,或关闭不合规服务以满足 PCI、HIPAA 要求 |
🔐 限制 root 权限 | 虽然 root 无法被删除,但可通过 SCP 禁止其访问敏感服务 |
- Service Control Policies (SCP) 会沿着 Organizational Unit (OU) 层级向下继承,形成最终每个账户的权限上限
Root OU (applies: FullAWSAccess) │ ├── Management Account → ✅ 不受 SCP 限制(Can do anything) │ ├── OU: Workloads (applies: FullAWSAccess) │ ├── OU: Test (applies: Deny EC2) │ │ └── Account D → ❌ EC2 被禁止,其余允许 │ │ │ └── OU: Prod (applies: FullAWSAccess) │ ├── Account E → ✅ 全部允许 │ └── Account F → ✅ 全部允许 │ └── OU: Sandbox (applies: Deny S3) ├── Account A → ❌ S3 被禁止(来自 Sandbox OU) ├── Account B → ❌ S3 被禁止(Sandbox) └── Account C → ❌ S3 被禁止(Sandbox)
|

- 左边: 除了 DynamoDB 被禁用,其他服务(S3、EC2、Lambda 等)都可以用
- 右边: 除了 ec2:* 和 cloudwatch:* 以外的服务(如 S3、RDS、IAM)全部不允许访问

- IAM Policy Evaluation Logic(权限评估逻辑)
Deny Evaluation
(最先评估): 是否有明确 Deny? 如果存在显式 Deny(例如 IAM Policy、SCP、Resource Policy 中),立即终止评估,决策为 Deny(优先级最高)
Organizations SCPs
(组织级服务控制策略): 如果账户有 SCP,则必须在 SCP 中允许相应操作
Resource-based Policies
(资源级策略): 比如 S3 Bucket Policy、Lambda Resource Policy、KMS Key Policy 等, 若不允许,继续下一个阶段
Identity-based Policies
(身份策略): 评估 IAM User/Role/Group 的策略是否存在有效的 Allow? 若无,则隐式拒绝(Implicit Deny)
IAM Permissions Boundaries
(权限边界): 权限边界也会限制一个用户/角色的最大权限范围, 必须同时满足 Identity Policy 和 Boundary 才能通过
Session Policies
(会话策略): 如果是通过临时凭证(例如 AssumeRole)访问,会话中可能附带 policy

IAM Identity Center
- Formerly known as AWS Single Sign-On (SSO)
功能 | 描述 |
---|
🔐 统一登录(Single Sign-On) | 实现一次登录,访问多个 AWS 账户及业务应用 |
🔄 集中式身份访问管理 | 统一管理用户权限,跨账户/跨区域生效 |
🧑💼 支持多种身份源 | 内置用户目录 + 第三方 IdP(如 AD、Okta) |

- AWS IAM Identity Center(前 AWS SSO) 的架构整合与工作流程
1. 用户通过浏览器登录 Identity Center 2. 后端通过内置目录或 AD 确认身份 3. 根据用户绑定的 Permission Set 分配访问权限 4. 自动 SSO 到: - AWS 控制台(多个账户) - SaaS 应用 - 支持 SAML2.0 的自定义系统
|

- IAM Identity Center 与 AWS Organizations 的集成结构
- 如何通过权限集(Permission Set)为用户跨账户赋权
Bob 和 Alice 属于 Developers 组 → Developers 组被赋予: - ReadOnlyAccess → Dev Account A - FullAccess → Prod Account A
➡️ 用户登录后会看到对应 AWS 账户及其可选的 Role
|

- AWS IAM Identity Center – Fine-grained Permissions and Assignments(细粒度权限与授权)
Multi-Account Permissions(跨账户权限)
功能 | 描述 |
---|
✅ 跨账户权限管理 | 管理整个 AWS Organization 中多个账户的访问权限 |
📦 Permission Set | 一组 IAM Policy 的集合,用于赋予用户/组 AWS 账户访问权限 |
➕ 权限赋予机制 | 将 Permission Set 分配给用户/组 + 指定账户,即可跨账户访问 |
Application Assignments(SAML 应用授权)
功能 | 描述 |
---|
✅ SSO 访问企业 SaaS 应用 | 支持 Salesforce、Box、Microsoft 365 等 SAML 2.0 应用 |
🔐 提供所需的连接信息 | 包括 SAML URL、证书、Metadata 供应用配置使用 |
Attribute-Based Access Control (ABAC)
功能 | 描述 |
---|
🏷️ 基于用户属性的权限控制 | 可根据用户属性自动应用权限,降低手动维护成本 |
示例属性 | costcenter , title , locale 等 |
用例 | 定义一次权限,后续通过修改属性控制访问范围,无需修改策略 |
AWS Control Tower
- AWS Control Tower 是一种自动化搭建、管理安全合规多账户环境的服务,基于 AWS 最佳实践
- Control Tower 依赖 AWS Organizations 管理多账户结构

- AWS Control Tower – Account Factory
- Account Factory 是 AWS Control Tower 提供的一个自动化工具,用来标准化和批量创建新的 AWS 账户

- AWS Control Tower – Detect and Remediate Policy Violations
- Control Tower 通过 Guardrails(护栏规则) 来持续监控和管理账户环境中的合规性

- AWS Control Tower – Guardrails Levels
- Guardrails(护栏规则)按重要性和强制性被分为三种不同级别
等级 | 描述 | 示例 |
---|
🛡️ Mandatory (强制) | 自动启用,AWS Control Tower 必须强制执行 | 禁止 Log Archive 账户对外公开读权限 |
💬 Strongly Recommended (强烈推荐) | 根据 AWS 最佳实践推荐,启用可提升安全性,但可选 | 建议为 EC2 挂载的 EBS 卷启用加密 |
📝 Elective (自选) | 企业常用的附加控制措施,可根据需要选择性启用 | 禁止无 MFA 的 S3 删除操作 |
AWS Resource Access Manager (RAM)
- AWS RAM 允许你将 AWS 资源跨账户共享,避免资源重复创建,提高资源利用率和成本效益
- 利用 RAM 共享 VPC 子网,多个账户的资源可以部署在同一个 VPC 中,同时保持账户级资源隔离
支持共享的资源示例
资源类型 | 说明 |
---|
🌐 VPC 子网(Subnets) | 允许多个账户的资源部署到同一个子网内(但必须同属一个 AWS Organization) |
🚫 限制 | 不支持共享 Security Groups 和 Default VPC |
🚍 Transit Gateway | 多账户共用同一个 Transit Gateway 实现网络互通 |
🌎 Route 53 | 可以共享 Resolver 规则、DNS Firewall 规则组等 |
🛡️ License Manager 配置 | 跨账户统一管理许可证分配 |

2. Security
CloudTrail
- CloudTrail 是 AWS 的日志审计服务,用于记录账号中的所有 API 调用历史,便于审计、合规与安全调查(资源删除了?先查 CloudTrail!)
默认启用
: 每个 AWS 账户自动启用基本事件记录(90 天内)记录所有 API 调用
: 包括通过控制台、SDK、CLI、AWS 服务内部调用等跨区域支持
: 可选择记录单个 Region,或跨 Region(默认 All Regions)

CloudTrail 事件类型对比
事件类型 | 默认启用 | 是否高频 | 是否区分读写 | 示例 |
---|
Management Events | ✅ 是 | 中频 | ✅ 可区分 | IAM, EC2, CloudTrail |
Data Events | ❌ 否 | 高频 | ✅ 可区分 | S3 对象, Lambda 调用 |
CloudTrail Insights | ❌ 否 | 智能检测 | 无需区分 | 检测突增/异常行为 |

- CloudTrail Events Retention
- 默认保留期限: 90 天(CloudTrail 控制台中默认可查询的事件时间范围)
- 长期保存: 若需保存超过 90 天,需将日志写入 S3 存储桶
- 查询分析: 可配合 Amazon Athena 查询存储在 S3 中的历史日志,实现结构化分析

- EventBridge + CloudTrail
- 通过 Amazon EventBridge + CloudTrail 拦截 AWS API 调用,用于实时安全响应与告警
用户发起 DeleteTable API 操作 ➝ 被 CloudTrail 记录 ➝ 事件被 EventBridge 捕捉 ➝ 发出 SNS 告警
|

KMS (Key Management Service)
- KMS 是 AWS 提供的托管密钥服务,用于管理加密、解密和密钥授权,几乎涉及所有数据加密的场景
数据加密引擎
: AWS 中所有“加密”相关功能几乎都依赖 KMS密钥托管与控制
: AWS 管理密钥的生命周期(创建、轮换、禁用等)与 IAM 集成授权
: 使用 IAM 权限控制谁能访问或使用密钥- KMS 支持两种类型的密钥:对称密钥(Symmetric) 和 非对称密钥(Asymmetric)

KMS 密钥类型对比
特性 | Customer Managed Key | AWS Managed Key | AWS Owned Key |
---|
用户控制 | ✅ 完全控制 | ❌ 受限 | ❌ 无法控制 |
自动轮换 | ✅ 可启用 | ✅ 自动启用 | ✅ AWS 自管 |
支持 CloudTrail 审计 | ✅ 支持 | ✅ 支持 | ❌ 不支持 |
可用作 Envelope 加密 | ✅ 是 | ✅ 是 | ❌ 否 |
常见使用场景 | 高敏感数据 | 服务默认加密 | AWS 内部使用 |
- KMS Key Material Origin(密钥材料来源)
AWS_KMS
: 由 AWS 自动生成, KMS 在其受控的密钥存储中创建并管理密钥材料EXTERNAL
: 用户自行导入密钥材料, 使用 ImportKeyMaterial API 将密钥注入到 KMS 中AWS_CLOUDHSM
: 使用 AWS CloudHSM 创建密钥材料, CloudHSM 是基于硬件的密钥模块(HSM)服务

- KMS Key Source – Custom Key Store (CloudHSM)
- 将 KMS 与 CloudHSM 集群集成,使 KMS 密钥材料托管在你自有的 HSM 中,进一步增强安全边界与合规能力

- KMS Key Source – External(Bring Your Own Key, BYOK)
- 将你自己的密钥材料(Key Material)导入到 AWS KMS 中,使你能在 AWS 内部使用外部生成的密钥来进行加密操作
- AWS 提供使用接口,但不再负责密钥生命周期的管理与安全

- AWS KMS Multi-Region Keys
- 在多个 Region 中创建一组 功能上等效的 KMS 密钥,支持跨区域加密/解密,无需重新加密或跨区域 API 调用

SSM Parameter Store
- Parameter Store 是 AWS 提供的 配置与密钥值存储服务,适用于环境变量、凭证、密钥等的安全管理
SSM Parameter Store – 常见用途
用途 | 示例 |
---|
🧪 环境配置注入 | Dev / Staging / Prod 使用不同参数 |
🔐 密钥存储 | 存储数据库密码、API 密钥、令牌等 |
🔁 CI/CD 集成 | Pipeline 中动态读取版本化配置 |
🧩 服务间解耦配置 | 多个 Lambda / ECS 服务共享相同配置但不硬编码 |

- SSM Parameter Store – 分层结构(Hierarchy)
- Parameter Store 支持以“路径”方式组织参数,非常适合大型项目的多环境配置管理
/my-department/ ├── my-app/ │ ├── dev/ │ │ ├── db-url │ │ └── db-password │ └── prod/ │ ├── db-url │ └── db-password ├── other-app/ /other-department/
|
- SSM Parameter Store – Standard 与 Advanced 参数层级对比
特性 | Standard | Advanced |
---|
参数总数量上限(每账户每区域) | 10,000 | 100,000 |
单个参数最大值大小 | 4 KB | 8 KB |
是否支持参数策略(过期等) | ❌ 不支持 | ✅ 支持 |
成本 | ✅ 免费 | 💲 每个参数 $0.05/月 |
典型用途 | 一般配置、小规模系统 | 大型企业系统、合规要求、多版本配置等 |
- SSM Parameter Store – Parameter Policies(参数策略,仅限 Advanced 参数)
- Parameter Policies 是为高级参数(Advanced Tier)提供的附加功能,用于控制参数的生命周期、安全性与合规性

AWS Secrets Manager
- Secrets Manager 是 AWS 专门用于存储和自动轮换敏感凭证(如密码、API 密钥等)的服务,比 Parameter Store 更安全、更自动化
Secrets Manager vs SSM Parameter Store 对比简表
项目 | Secrets Manager | SSM Parameter Store (SecureString) |
---|
自动轮换 | ✅ 支持 | ❌ 不支持(需手动) |
成本 | 💲 $0.40 每密钥 / 月 | 标准免费,高级 $0.05 / 月 |
支持 Lambda 集成 | ✅ 原生支持 | ❌ 无 |
原生服务集成 | ✅ 强(RDS、Redshift) | ✅ 一般 |

- AWS Secrets Manager – 跨账户共享(Sharing Across Accounts)
- 要让其他 AWS 账户访问某个 Secrets Manager 中的密钥,需 同时配置 KMS 策略与 Resource-based Policy
SSM Parameter Store vs. Secrets Manager – Rotation
特性 | Secrets Manager | SSM Parameter Store |
---|
轮换方式 | ✅ 内建自动轮换 | ❌ 需自建 EventBridge + Lambda |
RDS 支持 | ✅ 原生集成 | ✅ 需自行实现连接与更新逻辑 |
Lambda 模板支持 | ✅ AWS 提供模板 | ❌ 无模板 |
成本 | 💲 $0.40 / 月 / 密钥 | 💲 免费(标准)或 $0.05 / 月(高级) |
使用建议 | 高敏感数据,数据库密码管理 | 简单配置轮换或成本敏感场景 |
SSL/TLS - Basics
- SSL/TLS 是用于网络连接加密的协议,常用于保护浏览器与服务器之间的数据传输安全
项目 | 描述 |
---|
🔐 SSL(Secure Sockets Layer) | 最初用于实现安全通信的协议,现已被淘汰 |
🔐 TLS(Transport Layer Security) | SSL 的升级版,当前主流安全传输协议(如 TLS 1.2, TLS 1.3) |
🗣️ 通俗叫法 | 尽管使用的是 TLS,大家仍习惯说 “SSL 证书” |
- SSL – Man-in-the-Middle (MITM) Attack
- MITM(中间人攻击)是指攻击者在用户与服务器之间悄悄插入,拦截、读取甚至篡改传输的数据,常见于公共 Wi-Fi 或 DNS 欺骗场景
MITM 攻击防护措施分类
等级 | 描述 | 示例或建议 |
---|
🛡️ Mandatory (强制) | 基本防护措施,必须启用 | 所有公网流量使用 HTTPS,部署有效 SSL/TLS 证书 |
💬 Strongly Recommended (强烈推荐) | AWS 推荐的增强防护手段,可显著提升安全性 | 启用 DNSSEC 来防止 DNS 被劫持 |
📝 Elective (自选) | 企业常用的附加手段,可视情况启用 | 使用自定义 DNS 服务器提升控制力(如 Bind、dnsmasq) |
AWS Certificate Manager (ACM)
- ACM(AWS Certificate Manager)是 AWS 提供的 SSL/TLS 证书管理服务,支持申请、托管、分发、续期等功能,极大简化了证书在云中的部署流程
ACM 支持集成的服务
集成服务 | 描述 |
---|
⚖️ Load Balancer | 支持 ALB / NLB,包括由 Elastic Beanstalk 创建的负载均衡器 |
🌎 CloudFront | 可为分发的内容启用 HTTPS 支持 |
📡 API Gateway | 为 API 网关的自定义域名配置 SSL 证书 |

建议使用场景总结
场景 | 建议 |
---|
✅ 外部网站或 API | 使用 ACM 公有证书(自动续期 + 免费) |
🔐 内部微服务通信(非公网) | 创建 Private CA + 私有证书,并配置系统信任链 |
🌍 多区域应用部署 | 在每个 AWS Region 内单独签发证书,不支持跨区域复制或复用 |
CloudHSM

KMS vs. CloudHSM 选择建议
场景 | 建议选择 |
---|
✅ 一般加密需求,使用 AWS 服务集成 | AWS KMS(托管式 + 易用) |
🔐 高合规场景(如政府、金融、医疗) | AWS CloudHSM(专属硬件 + 用户控密钥) |
S3 Security
- S3 提供多种对象加密方式,确保数据静态加密(encryption at rest),适用于不同的密钥管理需求
- S3 提供 HTTP 与 HTTPS 两种访问方式,建议始终使用 加密传输(HTTPS) 来保护数据在网络传输过程中的安全
加密方式 | 描述 |
---|
🟣 SSE-S3 | - 使用 AWS 自主管理的密钥(AES-256) - 完全托管、零配置 |
🟡 SSE-KMS | - 使用 AWS KMS 管理密钥 - 支持访问控制与 CloudTrail 审计日志 |
🔒 SSE-C | - 自定义客户提供密钥(Client-Provided Keys) - S3 不保存密钥,仅临时使用 |
💻 Client-Side | - 加密在客户端完成后再上传到 S3 - 客户端负责密钥生成、加密与解密逻辑 |

- Events in S3 Buckets
- S3 支持多种事件与日志机制,用于追踪对象访问、变更与安全状态
目的 | 建议使用机制 |
---|
获取完整访问日志 | S3 Access Logs |
实时触发函数/消息 | S3 Event Notifications |
对接跨服务事件处理 | CloudTrail + EventBridge |
检查桶权限是否合规 | Trusted Advisor |
- S3 Security 安全控制方式
- S3 提供两种主要的访问控制机制:基于用户 与 基于资源,可灵活搭配使用以实现精细权限控制
👤 User-based(基于用户)
控制方式 | 描述 |
---|
🔐 IAM Policy | 在 IAM 控制台中配置,定义特定用户可执行哪些 S3 API 操作(如 GetObject、PutObject) |
📦 Resource-based(基于资源)
控制方式 | 描述 |
---|
📜 Bucket Policy | 在 S3 控制台中为 Bucket 设置的策略,支持跨账户访问控制 |
🧾 Object ACL | 物件级权限控制,粒度更细(可控制单个对象的读/写权限) |
📦 Bucket ACL | 针对整个桶的访问控制,不常用,功能已被 Bucket Policy 替代为主 |
- S3 Bucket Policies
- S3 Bucket Policy 是一种 资源级别的访问控制机制,用于集中定义整桶对象的权限策略
- 授予公共访问权限(用于静态网站托管或公开资源)
- 强制上传对象时加密(通过条件限制加密方式)
- 跨账户授权访问(授予其他 AWS 账户访问权限)

- S3 Pre-signed URLs
- 预签名 URL 允许临时授权用户访问 S3 中的对象,常用于 临时下载 或 受控上传 场景
使用场景示例
场景描述 | 示例效果 |
---|
🎬 仅登录用户可下载付费视频 | 生成 GET 类型的预签名 URL,供登录用户使用 |
📥 动态授权用户下载文件 | 根据用户身份动态生成 GET URL,实现灵活文件访问控制 |
📤 临时上传文件至指定位置(如头像、PDF) | 为某路径生成 PUT 类型的预签名 URL,仅临时开放上传权限 |
- S3 Object Lock & Glacier Vault Lock
- 这两种锁定机制都采用 WORM(Write Once Read Many)模型,主要用于 合规存储 与 防篡改数据保护
场景 | 推荐机制 |
---|
普通对象防删(含版本控制) | S3 Object Lock |
归档数据长期不可更改(如交易记录) | Glacier Vault Lock |
合规要求 + 防篡改 + 永久保存需求 | 可结合 S3 Object Lock + Glacier Vault Lock 双层保护 |

S3 – Access Points
- S3 Access Points 提供一种更灵活、安全的方式来管理不同用户或应用程序对同一 Bucket 的访问权限,按角色或业务线划分权限,简化 Bucket Policy 管理复杂度
用户角色 | 访问前缀 | Access Point 名称 | 策略说明 |
---|
Users (Finance) | /finance/* | FinanceAccessPoint | 允许读写 /finance 区域 |
Users (Sales) | /sales/* | SalesAccessPoint | 允许读写 /sales 区域 |
Users (Analytics) | 所有路径(只读) | AnalyticsAccessPoint | 对整个 Bucket 只读 |

- S3 – Access Points(VPC Origin)
- S3 Access Points 可配置为 仅允许来自特定 VPC 内部的访问,提高安全性与隔离性,适合私有网络内的企业应用

- S3 – Multi-Region Access Points(MRAP)
- Multi-Region Access Points(MRAP)提供一个 全球统一的访问入口,自动将请求路由到多个 AWS 区域中的 S3 存储桶,实现跨区域高可用、低延迟访问

S3 Object Lambda
- S3 Object Lambda 允许在对象被读取前,通过 AWS Lambda 实时处理对象内容,无需修改原始 S3 对象
使用场景描述 | 示例说明 |
---|
🔒 屏蔽敏感信息(如 PII) | 在分析或测试环境中自动脱敏数据(如隐藏邮箱、手机号) |
🔄 转换数据格式 | 将对象从 XML 转换为 JSON,提升兼容性 |
🖼️ 实时处理图片 | 根据调用用户信息动态缩放图片或添加水印 |

DDoS Protection on AWS
- DDoS Protection on AWS
- AWS 提供多层次的防护方案,结合网络架构与服务配置,可有效缓解分布式拒绝服务(DDoS)攻击带来的影响
服务/机制 | 描述 |
---|
🛡️ AWS Shield Standard | 默认启用,免费为所有 AWS 用户提供基础 DDoS 防护(L3/L4 攻击) |
🛡️ AWS Shield Advanced | 付费服务,提供 24/7 SOC 支持、攻击检测、流量分析、费用保护等高级功能 |
🌐 AWS WAF | 应用层防护(L7),可自定义规则过滤恶意请求(如 IP 黑名单、SQL 注入等) |
🚀 CloudFront & Route 53 | 借助 AWS 全球边缘网络进行流量分发,结合 AWS Shield 可实现边缘层 DDoS 缓解 |

选择建议总结
需求场景 | 推荐机制 |
---|
基本防护(无需额外配置) | AWS Shield Standard |
面对业务关键系统/高风险目标 | AWS Shield Advanced + WAF + CDN |
Web 应用层级访问控制 | AWS WAF(结合 CloudFront 效果更佳) |
AWS Shield
- AWS Shield 是 AWS 提供的 分布式拒绝服务(DDoS)防护服务,分为 Standard 与 Advanced 两个等级,覆盖 L3/L4 层的攻击防护
🛡️ Shield Standard vs Advanced 简要对比
特性 | Shield Standard | Shield Advanced |
---|
费用 | 免费 | $3,000/月 |
攻击类型支持 | 基础网络攻击(L3/L4) | 复杂攻击(如应用层滥用、状态耗尽等) |
保护服务范围 | 所有 AWS 公网服务 | 限定服务(EC2、ELB、CloudFront 等) |
DDoS 响应团队支持 | ❌ 无 | ✅ 提供 24/7 专家支持 |
费用豁免保障 | ❌ 无 | ✅ 提供(需符合 AWS 条件) |

AWS WAF
- AWS WAF 是一款 应用层防火墙(Layer 7),用于保护 Web 应用免受常见攻击如 SQL 注入、XSS、恶意请求等
- 注意:WAF 并非 DDoS 防护工具,但可配合 Shield 使用以提升整体防护能力
部署目标 | 描述 |
---|
⚖️ Application Load Balancer | 在 ALB 上部署区域性规则,用于 EC2、ECS、Lambda 后端 |
🌐 CloudFront | 在全球边缘节点上拦截攻击(全球生效) |
📡 API Gateway | 在 REST 或 HTTP API 前部署规则(区域级或边缘) |
🧠 AppSync | 保护 GraphQL 接口,防止恶意查询 |
🧱 支持自定义源站 | 如 Classic Load Balancer、EC2、S3 网站托管、自建应用等 |

- Web ACL(Web Access Control List)
- Web ACL 是 WAF 的核心配置单元,由一组规则组成,控制哪些请求被允许、阻止或进一步挑战
规则内容类型 | 说明 |
---|
🔢 IP 地址过滤 | 包括黑名单 / 白名单 |
📄 HTTP 内容匹配 | 可基于 Header、Body、URI 进行模式匹配 |
🔍 SQL Injection / XSS 检测 | AWS 提供内建规则集可直接启用防护 |
🌍 地理位置(Geo Match) | 按国家 / 区域限制访问 |
🔁 速率限制(Rate-based) | 限制同一 IP 的请求频率,防止爬虫/爆破 |
📏 请求大小限制(Size Constraint) | 限制 URI、Header、Body 的最大长度 |
- AWS WAF – Managed Rules(托管规则集)
- AWS WAF 提供超过 190 条 托管规则(Managed Rules),由 AWS 与 AWS Marketplace 合作伙伴维护,开箱即用,简化防护配置

- AWS WAF – Web ACL Logging(日志记录)
- WAF 支持将 Web ACL 的匹配记录导出至多种日志系统,用于 安全审计、可视化分析和合规留档
- CloudWatch Logs → 用于实时分析与可视化告警(搭配 Metric Filter)
- S3 → 便于合规审计、存储与 Athena 分析
- Firehose → 实时流处理、集成第三方 SIEM/可观测平台

AWS Firewall Manager
- AWS Firewall Manager 是一个集中式安全策略管理服务,适用于多账户环境(如 AWS Organizations),可统一下发并自动应用网络安全规则
需求场景 | 建议操作 |
---|
统一管理所有账户的 WAF / Shield 策略 | 启用 Firewall Manager 并创建 WAF Policy |
实现自动化合规保障 | 结合 SCP + Firewall Manager + Config |
集中控制 EC2/ALB 安全组配置 | 启用 Security Group Policy 管理 |

- WAF vs. Firewall Manager vs. Shield
服务 | 作用范围 |
---|
AWS WAF | 定义 Web ACL 规则,提供资源级别的应用层(Layer 7)攻击防护 |
AWS Firewall Manager | 用于跨账户集中管理 WAF、Shield、Security Group、Network Firewall 策略 |
AWS Shield | 防御 DDoS 攻击,包含免费版(Standard)和高级版(Advanced) |
AWS Inspecctor
- Amazon Inspector 是一项自动化安全评估服务,用于检测 AWS 上资源(如 EC2、ECR、Lambda)中存在的漏洞与配置风险,并集成报告和告警流程
场景描述 | 建议配置 |
---|
需要定期评估 EC2 主机系统与网络风险 | 启用 Amazon Inspector + 安装/激活 SSM Agent |
容器镜像安全治理 | 启用 ECR 推送镜像扫描,配合 Inspector 自动检测依赖漏洞 |
保障 Serverless 函数运行时安全 | 启用对 Lambda 函数的 Inspector 扫描 |
多工具集成与统一监控 | 将 Inspector Findings 发送到 Security Hub / EventBridge |

AWS Config
- AWS Config 是一项资源审计与合规性检查服务,能持续记录和追踪 AWS 资源的配置变更,帮助满足审计、合规与运营分析需求
场景 | 建议操作 |
---|
持续合规审计与资源追踪 | 启用 AWS Config + 关键规则集 |
多账户环境统一合规视图 | 使用 Config Aggregator 聚合所有账户合规状态 |
定制企业规则 | 配置自定义 Lambda 规则,与 AWS Config 集成 |
结合响应机制 | 配置 SNS + EventBridge 实现实时响应或自动修复流程 |

- AWS Config Rules
- AWS Config Rules 用于自动检查资源是否符合期望配置,并可与 EventBridge + Lambda / SSM 配合实现自动修复
用例描述 | 规则示例 |
---|
确保所有 EBS 卷类型为 gp2 | 自定义规则:检查 EBS 类型是否为 gp2 |
检查所有 EC2 实例是否为 t2.micro | 自定义规则:实例类型为 t2.micro 才合规 |
检查安全组是否开放 0.0.0.0/0 的 SSH 端口 | 使用托管规则 restricted-ssh |
S3 Bucket 是否关闭公有访问 | 使用托管规则 s3-bucket-public-read-prohibited 等 |

AWS Managed Logs
- AWS 提供多种服务的 托管日志记录功能,可将关键操作、流量或访问行为记录到 S3、CloudWatch Logs 或 Kinesis 中,供后续审计、监控与分析使用
目标场景 | 建议配置 |
---|
审计账户 API 操作 | 启用 CloudTrail,写入 S3 + CloudWatch Logs |
分析网络流量与安全行为 | 启用 VPC Flow Logs,结合 CloudWatch Logs 或 Athena 使用 |
回溯存储访问行为 | 启用 S3 或 CloudFront Access Logs |
合规监管 / 配置变更溯源 | 启用 AWS Config 并将日志导出至 S3 |

AWS GuardDuty
- Amazon GuardDuty 是一项基于机器学习的智能威胁检测服务,可识别 AWS 环境中的异常行为、恶意活动与潜在攻击,无需安装代理或修改资源配置
场景 | 推荐操作 |
---|
快速启用账户级安全监控 | 启用 GuardDuty,默认开启 CloudTrail、VPC、DNS 分析 |
自动化安全响应 | 配置 EventBridge + Lambda 处理 GuardDuty Findings |
多账户统一检测 | 配置 GuardDuty 管理账户(Master-Detector 架构) |
高风险资源(如 S3、Lambda)监控 | 启用可选数据源如 S3 Data Events、Lambda 运行监控等 |

⚠️ 检测示例(Findings)
威胁类型 | 示例描述 |
---|
💰 加密货币挖矿攻击 | 检测 EC2 实例疑似被劫持用于挖矿(有专用 Finding 类型) |
🔓 被盗凭证操作 | 使用已泄露的 API 密钥进行非常规操作 |
🔄 反常流量模式 | 某实例短时间内访问大量外部 IP 或发送异常 DNS 查询 |

📥 输入日志源
来源类型 | 说明 |
---|
📋 CloudTrail Events | 检测异常 API 调用、未授权操作(如 createTrail、createVpc、updateSecurityGroup) |
🪣 CloudTrail S3 Data Events | 检测异常访问行为(如 getObject、listObjects、deleteObject) |
🌐 VPC Flow Logs | 分析流量模式(如端口扫描、可疑内网通信、通信异常 IP) |
🌍 DNS 查询日志 | 检测域名滥用,如 EC2 通过 DNS 隐蔽传输数据(数据渗漏) |
🧪 可选数据源 | 包括 EKS 审计日志、RDS、Aurora、EBS 卷行为、Lambda、S3 数据事件等 |
- GuardDuty – Delegated Administrator(委派管理员)
- 在多账户架构下,可通过 委派管理员(Delegated Administrator) 集中管理 Amazon GuardDuty,适用于 AWS Organizations

IAM Conditions
- IAM 支持通过条件(Condition)限制策略作用范围,提升权限控制的灵活性与精细度
✅ 常见 IAM 条件键(Condition Keys)
条件键 | 功能说明 |
---|
aws:SourceIp | 限制 API 请求只能从指定 IP 范围发起 |
aws:RequestedRegion | 限制 API 请求只能针对特定 AWS 区域 |
aws:MultiFactorAuthPresent | 强制要求请求者启用并使用 MFA(多重身份验证) |
ec2:ResourceTag | 限制操作仅适用于包含指定标签的 EC2 资源(例如强制打标签) |
aws:PrincipalOrgID
是一个可用于 资源策略(Resource Policies) 的条件,用于限制访问者必须属于某个 AWS Organization,实现跨账户但受组织边界控制的安全授权

IAM for S3
- 针对 S3,权限粒度划分为 Bucket 级别 与 Object 级别
🪣 S3 操作权限与 ARN 示例
操作权限 | ARN 示例 | 权限说明 |
---|
s3:ListBucket | arn:aws:s3:::my-bucket | ✅ Bucket 级权限 |
s3:GetObject
s3:PutObject
s3:DeleteObject | arn:aws:s3:::my-bucket/* | ✅ Object 级权限 |
AWS Security Hub
- AWS Security Hub 是一个集中化的安全与合规状态可视化平台,自动聚合来自多个 AWS 服务与第三方工具的安全发现(Findings),并支持跨账户集中管理
🧰 核心功能
功能 | 描述 |
---|
📊 统一仪表盘 | 提供多账户、多服务的安全状态总览,支持快速发现问题并响应 |
🔎 安全发现聚合 | 自动整合来自 AWS 服务与合作厂商的 Findings(支持 AWS Security Finding Format) |
✅ 安全检查自动化 | 内建对照如 CIS Benchmarks、PCI DSS 的合规性检查规则集 |
🔔 集成通知与响应 | 可结合 EventBridge + Lambda/SNS 触发自动修复或提醒流程 |

📥 支持的 AWS 服务(Findings 来源)
来源服务 | 检测内容示例 |
---|
🧾 AWS Config | 合规规则触发、不合规配置变更 |
🛡️ GuardDuty | 异常行为、恶意流量、账号滥用等 |
🔍 Inspector | 主机、容器、Lambda 漏洞扫描 |
🔐 Macie | S3 中的敏感数据检测(如 PII、信用卡号) |
👁️ IAM Access Analyzer | 资源暴露、外部可访问路径发现 |
⚙️ Systems Manager | 异常补丁状态、实例合规性评估 |
🔥 Firewall Manager | 防火墙规则不一致、策略未应用 |
🏥 AWS Health | AWS 服务层事件影响和通知 |

Amazon Detective
- Amazon Detective 是一款专为深入分析和调查 AWS 安全事件根因而设计的服务,结合图数据库和机器学习技术,从大量日志中构建清晰的可视化上下文
场景 | 建议操作 |
---|
分析 GuardDuty/Macie Findings 背后的根因 | 启用 Detective 并结合图形分析视图使用 |
需要追溯用户 / 资源行为全链路 | 使用 Detective 的行为图谱与时间线 |
多账户环境集中调查安全事件 | 在管理账户中启用 Amazon Detective 并连接所有子账户 |

3. Compute & Load Balancing
EC2
- EC2 Instance Types – 常见类别速览
- Amazon EC2 提供多种实例类型,针对不同计算、内存、存储和图形加速需求进行优化
常见主流实例族对照表
实例类型 | 用途场景描述 | 特点关键词 |
---|
R | 高内存场景,如 Redis、Memcached | 内存优化型(RAM 优先) |
C | 高计算需求,如批量处理、数据库 | 计算优化型(CPU 性能优先) |
M | 通用业务,如 Web 应用、开发环境 | 均衡型(“M” = Medium) |
I | 高本地 I/O,如 NoSQL、日志聚合数据库 | 存储优化型(本地 SSD) |
G | GPU 加速需求,如深度学习、图像处理 | 图形/GPU 优化型 |
T2 / T3 | 突发型场景,轻量 Web、测试环境 | 突发性能型(CPU credit 模型) |
T2/T3 - unlimited | 支持持续突发,无性能限制 | 超出 baseline 不限时 |
- EC2 – Placement Groups
- Placement Groups 可用于控制 EC2 实例在 AWS 数据中心中的物理部署方式,优化网络延迟、容错能力或分布策略
Cluster
: 低延迟网络、高带宽通信Spread
: 高可用性 / 避免单点故障硬件依赖Partition
: 大规模分布式系统架构部署
🧩 三种 Placement Group 策略类型
策略类型 | 描述 | 场景示例 |
---|
Cluster | 实例部署在同一个可用区(AZ)的近距离硬件上,实现超低网络延迟与高吞吐量 | HPC、高频交易、分布式缓存 |
Spread | 实例分布在多个底层硬件(每个 AZ 最多 7 个实例),以提升容错性 | 关键系统(如数据库主备、前端节点) |
Partition | 实例分布在多个“分区”内,每个分区基于不同的机架组,可扩展到数百台实例 | 大规模分布式系统(如 Hadoop、Kafka、Cassandra) |
- Placement Groups – Cluster 策略
- 极高的网络性能,实例间带宽可达 10 Gbps(需启用 Enhanced Networking)
- 非常适合需要低延迟、高吞吐量的内部通信场景
- 所有实例集中在同一机架组,若该机架故障,则所有实例同时宕机

- Placement Groups – Spread 策略
- 可跨多个可用区(AZ)部署
- 实例部署在不同的物理硬件上,大大降低同时故障的风险
- 合关键业务场景下的实例隔离
- 每个 AZ 限制最多 7 个实例(每个 Placement Group 中)

- Placement Groups – Partition 策略
- 每个 可用区(AZ)最多支持 7 个分区
- 单个分区可包含 数百个 EC2 实例
- 同一分区内的实例共享机架,不同分区的实例物理隔离
- 分区级故障 只影响单个分区,不会波及其它分区
- 实例可以通过 实例元数据(Metadata)获取所属分区信息

- EC2 Instance Launch Types(启动类型)
- EC2 提供多种实例启动方式,适用于不同业务场景和成本策略
🚀 启动类型对照表
启动类型 | 适用场景 | 特点 / 优势 |
---|
On-Demand Instances | 短期、灵活性需求 | ✅ 按小时/秒计费,可靠、无承诺 |
Spot Instances | 可中断型短期任务 | 💰 价格低至按需的 90% 折扣,⚠️ 可能随时被回收 |
Reserved Instances | 长期稳定工作负载(≥1 年) | 💰 提前承诺换折扣(最多 75%),支持区域或实例预定 |
Convertible Reserved Instances | 长期工作负载 + 实例类型灵活 | ✅ 允许在期限内更换实例规格,适合不确定未来实例类型的情况 |
Dedicated Instances | 需隔离硬件、提升安全性 | 🛡️ 仅该客户使用物理服务器的部分资源,适合合规性需求 |
Dedicated Hosts | 控制实例部署 + 软件许可需求 | 🧩 拥有整个物理服务器资源 |

- EC2 Graviton 处理器
- AWS Graviton 是基于 Arm 架构 的自研处理器系列,提供卓越的性价比与能效优势,适用于多种计算场景
🧠 处理器版本对比
版本 | 性能提升 | 特点摘要 |
---|
Graviton2 | 比第 5 代 x86 实例高出约 40% | 最早广泛部署的高性价比 Arm 实例 |
Graviton3 | 比 Graviton2 快 最高 3 倍 | 提升浮点计算、加密、ML 推理性能,功耗更低 |
- EC2 默认监控指标(CloudWatch Metrics)
- EC2 实例在不额外配置的情况下,会自动收集以下基础指标,适用于性能监控与状态排查
- 内存(RAM)使用情况不是默认指标
📊 内建指标分类(EC2 默认 CloudWatch Metrics)
维度 | 监控项名称 | 说明 |
---|
🧠 CPU | CPUUtilization | CPU 使用率(%) |
| CPUCreditUsage / CPUCreditBalance | 仅适用于 T 系列突发型实例 |
🌐 网络 | NetworkIn / NetworkOut | 网络流量(字节) |
✅ 状态检查 | InstanceStatusCheck | 检查 EC2 虚拟机级别问题 |
| SystemStatusCheck | 检查宿主机硬件和网络是否正常 |
💽 磁盘(临时存储) | DiskReadOps / WriteOps
DiskReadBytes / WriteBytes | 仅适用于 Instance Store,不包含 EBS |
- EC2 Instance Recovery(实例恢复)
- 当 EC2 实例发生系统级故障时,AWS 支持通过 自动恢复机制(Instance Recovery)将实例迁移至健康硬件上,保留原有配置不变
- 只有 System Status Check 失败(StatusCheckFailed_System) 时才可触发 EC2 Recovery
✅ 状态检查(Status Check)
检查类型 | 说明 |
---|
Instance Status | 检查 EC2 实例内操作系统、网络配置等 |
System Status | 检查底层硬件(如宿主物理服务器故障) |
- 云计算平台(特别是 AWS)非常适合进行 高性能计算(HPC),可动态扩展、快速部署并降低成本
📦 Data Management & Transfer for HPC
服务 | 用途场景 |
---|
AWS Direct Connect | 提供高带宽、低延迟、专线连接 AWS,适合传输 GB/s 数据 |
AWS Snowball | 物理设备,适合批量传输 PB 级数据 到 AWS |
AWS DataSync | 快速将大量数据 从本地同步到 S3、EFS、FSx |
⚙️ Compute and Networking for HPC
选项 | 用途说明 |
---|
EC2 实例 | 提供基础的计算资源,可选择 CPU 优化型、GPU 优化型 实例 |
Spot 实例 / Spot Fleet | 适用于弹性、短时批处理任务,极大降低成本,可结合 Auto Scaling 使用 |
Auto Scaling | 根据计算需求自动扩缩 EC2 数量,适应动态负载变化 |
🚀 EC2 Enhanced Networking(基于 SR-IOV)
网络类型 | 特性说明 | 适用带宽 |
---|
Elastic Network Adapter (ENA) | 默认推荐,支持多种实例类型,最高 100 Gbps | ✅ 高速(现代标准) |
Intel 82599 VF (Legacy) | 较旧的选项,适用于部分早期实例 | ⛔ 最多 10 Gbps |
Elastic Fabric Adapter (EFA) | 基于 ENA 增强,适用于 HPC,支持 MPI,绕过内核,提供超低延迟通信 | ✅ 高速 + 极低延迟 |
📌 实例附加存储(与 EC2 紧耦合)
类型 | 特点 | 使用建议 |
---|
Amazon EBS | 可持久化、可独立挂载,支持快照、加密、IOPS 调优 | ✅ 通用存储,如数据库磁盘、容器卷 |
- io2 Block Express | 提供高达 256,000 IOPS,适合高性能场景 | 高性能数据库、日志系统 |
Instance Store | 与 EC2 实例生命周期绑定,超低延迟,可达百万级 IOPS | 临时数据缓存、HPC 临时结果 |
📦 网络存储(通过网络访问)
服务 | 特点 | 适用场景 |
---|
Amazon S3 | 对象存储服务,支持无限扩展,不是真正的文件系统 | ✅ 静态文件、模型数据、备份归档等 |
Amazon EFS | 分布式共享文件系统,自动扩展,按容量计费,支持 provisioned IOPS | 多实例共享挂载、容器、Web 文件存储 |
Amazon FSx for Lustre | 面向 HPC 优化的高并行文件系统,支持百万级 IOPS,可挂载到 S3 | Genomics、渲染、AI 模型训练等 HPC 场景 |
🤖 自动化与编排工具(Automation & Orchestration for HPC)
工具 | 特点 | 适用场景 |
---|
AWS Batch | 支持多节点并行作业(Multi-node Parallel Jobs),自动调度和扩缩 EC2 实例 | ✅ 动态批处理任务调度、分布式训练、仿真、渲染等 |
AWS ParallelCluster | 开源集群管理工具,基于文本配置,自动创建 VPC、子网、实例类型与作业调度器 | ✅ 构建完整 HPC 集群(支持 Lustre、EFA、Slurm 等) |
Auto Scaling
- Auto Scaling Groups – Dynamic Scaling Policies(动态扩缩容策略)
- 动态扩缩容策略可以根据实时指标或已知使用模式自动调整 EC2 实例数量,确保系统既具备弹性又避免资源浪费
策略类型 | 描述 | 示例 |
---|
🎯 Target Tracking Scaling | ✅ 最简单易用,自动将实例数维持在某个目标指标附近 | 希望平均 CPU 利用率维持在 40% |
📈 Simple / Step Scaling | 基于 CloudWatch 警报进行扩缩容,支持多个阈值与动作,适合精细控制 | CPU > 70% ➝ 扩容 2 台 CPU < 30% ➝ 缩容 1 台 |
⏰ Scheduled Actions | 预设时间点触发扩缩计划,适用于流量规律明显的场景 | 每周五 17:00 ➝ 设置最小容量为 10,应对周末高峰 |

- Auto Scaling Groups – Predictive Scaling(预测型扩缩策略
- 预测型扩缩容通过 机器学习算法分析历史负载趋势,提前预测即将到来的负载变化,并提前预热实例,从而避免响应延迟或冷启动问题

📈 推荐用于扩缩容的指标
指标名称 | 描述 |
---|
CPUUtilization | 实例的平均 CPU 使用率,最常用的通用扩缩容指标 |
RequestCountPerTarget | 每个目标实例的请求量(适用于带有负载均衡器的 Web 应用) |
Average Network In/Out | 平均网络流入 / 流出字节数,适合网络密集型应用(如视频流、数据传输) |
自定义指标(Custom Metric) | 可使用 CloudWatch 自行推送任意业务相关指标(如队列长度、响应时间等) |
- Auto Scaling – Instance Refresh
- 在不完全重建 Auto Scaling Group 的前提下,自动滚动更新 EC2 实例以使用新的启动模板(Launch Template)或配置
- 由用户主动调用 StartInstanceRefresh, 按照指定比例逐步替换现有实例,确保服务不中断

- Auto Scaling – Health Checks(健康检查机制)
- Auto Scaling Group(ASG)会根据健康检查结果自动识别失效实例,并执行终止 + 替换操作,确保服务高可用
类型 | 描述 |
---|
EC2 Status Checks | 默认启用,检查实例自身状态(如 CPU 卡死、内核崩溃) 包括系统级(System)和实例级(Instance)状态检查 |
ELB Health Checks | 适用于 ASG 关联了 Load Balancer(ALB / NLB / CLB) 使用 HTTP/TCP 定期探测实例健康,贴近业务层 |
自定义健康检查(Custom) | 使用 AWS CLI / SDK 主动上报实例健康状态 命令示例:set-instance-health (将实例标记为 Unhealthy) |
EC2 Spot Instances
- EC2 Spot 实例是一种高性价比的计算资源获取方式,可以为弹性工作负载显著节省成本。适用于对中断容忍度高的场景,例如批处理、数据分析等
特性 | 描述 |
---|
成本极低 | 相较 On-Demand 实例最高可省 90% |
自定义最大竞价 | 用户设定最大可接受价格,当前市场价格低于该值时获取实例 |
实时价格浮动 | 价格依据区域容量供需情况每小时调整 |
可配置中断行为 | 价格上涨超出设定时可选择 Stop / Terminate,提前 2 分钟通知 |

EC2 Spot Fleets
- Spot Fleet 是 AWS 提供的一种方式,用于自动管理多个 Spot 实例 + 可选的 On-Demand 实例组合,以满足你设定的计算容量目标
- 大规模数据处理(如 Spark、EMR), 训练机器学习模型, 非关键但高算力密集型任务
🧩 Spot Fleet 启动池(Launch Pools)示例
- 你可以定义多个候选配置池,Spot Fleet 会从这些池中自动选择最优组合以满足策略
属性 | 示例 |
---|
实例类型 | m5.large , c5.xlarge |
操作系统 | Amazon Linux 2, Ubuntu |
可用区 | us-east-1a , us-east-1b |

AWS ECS (Elastic Container Service)
- 要在 AWS 上管理 Docker 容器,你可以选择以下平台
服务名称 | 描述 |
---|
Amazon ECS | AWS 自研容器编排平台,支持 Docker,易于集成 AWS 生态 |
Amazon EKS | 托管版 Kubernetes(开源),适合已有 K8s 经验的团队 |
AWS Fargate | 无服务器容器运行平台(Serverless),可搭配 ECS 或 EKS 使用 |

- Amazon ECS – Use Cases
- Amazon ECS 是 AWS 自研的容器编排服务,适用于从微服务架构到批处理作业的多种场景
场景类型 | 示例与说明 |
---|
微服务架构 | 部署多个容器,支持模块化服务与独立扩展 |
自动扩缩容 | 支持任务和服务的动态扩缩容,匹配流量需求 |
与负载均衡集成 | 原生集成 ALB / NLB,自动注册目标容器 |
批处理与定时任务 | 使用 ECS 运行定期任务,兼容 Spot / On-Demand 等实例类型 |
应用上云迁移 | 将本地 Docker 化应用无缝迁移至 ECS 平台 |

- Amazon ECS – 核心概念
- Amazon ECS 采用任务驱动模型,结合服务定义与 IAM 控制,适合高可用容器化部署
概念 | 描述 |
---|
ECS Cluster | EC2 实例的逻辑分组,容器任务在此集群中运行(Fargate 模式下可为空) |
ECS Service | 定义运行多少个任务,如何部署与维持任务副本数 |
Task Definition | 任务定义文件(JSON),描述容器镜像、CPU、内存、端口等配置 |
ECS Task | 某个 Task Definition 的运行实例,即一个或多个实际运行的容器 |
IAM 角色类型 | 用途说明 |
---|
EC2 Instance Profile | 附加在 ECS 所属 EC2 上,用于访问 ECS API、CloudWatch 等服务 |
Task IAM Role | 附加在具体任务上,用于访问 S3、DynamoDB 等 AWS 服务,实现任务级权限隔离 |

- Amazon ECS – ALB Integration(动态端口映射)
- Amazon ECS 可通过 ALB(Application Load Balancer) 实现容器的智能路由,支持 动态端口映射(Dynamic Port Mapping)
Users ↓ Application Load Balancer ├──→ EC2 Instance: Task A (port 36789) └──→ EC2 Instance: Task B (port 39586)
|

- Amazon ECS – 安全与网络配置
- ECS 提供强大的配置注入与灵活的网络选项,支持不同任务隔离级别与安全需求
- 可将 参数和密钥 作为环境变量注入容器
- 支持集成以下服务: SSM Parameter Store, Secrets Manager
网络模式 | 描述 |
---|
none | 无网络连接,无法与外部通信,通常用于完全离线的计算任务 |
bridge | Docker 默认桥接网络模式,容器间通过虚拟网桥通信,支持端口映射 |
host | 容器直接使用主机网络接口,端口冲突风险高,但性能更好 |
awsvpc | 每个任务获得独立 ENI + 私有 IP,支持 Security Groups、VPC Flow Logs 等 |
| ➤ Fargate 的默认网络模式,也是最推荐的生产部署模式 |

- Amazon ECS – Service Auto Scaling
- ECS 支持在 服务层级自动扩缩容任务(Tasks),无需人工干预
策略类型 | 描述 | 示例 |
---|
🎯 Target Tracking | 设置目标值,自动追踪(最常用,推荐) | 维持 CPU 利用率在 50% |
📉 Step Scaling | 绑定 CloudWatch Alarm,设置触发阈值 + 调整步进 | CPU > 70% ➝ 扩容 2 个任务 |
⏰ Scheduled Scaling | 预设某个时间自动扩缩容,适合预测性变化 | 每天 9:00 设置最小任务为 5 |

- Amazon ECS – Spot Instances 支持
- ECS 支持使用 Spot 实例来降低成本,具体取决于 启动方式(EC2 vs Fargate)
特性 | 🖥️ ECS(EC2 Launch Type) | ⚙️ Fargate(含 FARGATE_SPOT) |
---|
Spot 控制方式 | 通过 Auto Scaling Group 管理 Spot 实例 | 每个任务可指定运行在 FARGATE 或 FARGATE_SPOT |
中断机制 | 实例回收前进入 Draining Mode,任务自动迁移或终止 | Spot 任务可随时被 AWS 回收(无预警),需容错设计 |
成本与稳定性平衡 | 成本低但中断影响较大,需搭配 ASG 和多 AZ 策略应对 | 支持混合部署,On-Demand 保底 + Spot 弹性 |
配置与运维复杂度 | 需要配置 EC2、ASG、Capacity Provider 等 | 更加简单,Serverless,任务级别指定运行方式 |
扩展弹性 | 依赖 EC2 容量,扩容受限于底层资源可用性 | 弹性强,无需 EC2,直接根据负载水平扩缩任务 |

AWS Fargate
- AWS Fargate 是一种 无服务器(Serverless)容器运行平台,可搭配 ECS 或 EKS 使用,无需管理底层 EC2 实例
特性 | 描述 |
---|
无需管理 EC2 | 无需预配 / 管理任何虚拟机,真正 Serverless |
按需分配资源 | 你只需定义任务所需的 CPU / 内存,Fargate 自动调度运行 |
简化扩展 | 只需增加任务数量即可实现扩容,无需考虑实例容量或 Auto Scaling |
与 ECS / EKS 集成 | 可作为两者的运行模式,适配不同容器编排系统 |

AWS ECR (Elastic Container Registry)
- Amazon ECR 是 AWS 提供的托管式 Docker 镜像仓库,可安全存储、管理和部署容器镜像
- ECR ≠ DockerHub:默认私有,更适合生产部署,权限可控
- 若使用 CodePipeline、ECS、Fargate,建议统一使用 ECR 管理镜像
- 推送镜像前需执行 aws ecr get-login-password 登录命令

- Amazon ECR – Cross Region Replication
- Amazon ECR 支持跨区域(Cross-Region)与跨账户(Cross-Account)镜像复制,用于提升多区域可用性与部署效率

- Amazon ECR 镜像扫描(Image Scanning)
- ECR 支持两种镜像扫描方式,用于发现潜在的安全漏洞
- 手动扫描(Manual Scan):用户在控制台或 CLI 中手动触发扫描
- 推送即扫(Scan on Push):镜像推送到 ECR 时自动触发扫描
- 扫描类型: 基础扫描(Basic Scanning),增强扫描(Enhanced Scanning, 结合 Amazon Inspector)

AWS EKS (Elastic Kubernetes Service)
- Amazon EKS:全托管的 Kubernetes 服务,在 AWS 上运行容器化应用
- Kubernetes:开源系统,用于 自动部署、扩展和管理容器化应用(如 Docker 应用)
- EKS 是 ECS 的替代方案:目标类似(运行容器),但 API 和生态不同(ECS 是 AWS 专有,EKS 是开源标准)
- 支持两种运行环境: EC2, Fargate

- Amazon EKS – Node Types(节点类型)
- 在 EKS 中,你可以选择三种方式来运行 Kubernetes Pod:托管节点、自托管节点、或 Fargate 模式
类型 | 描述 |
---|
托管节点组(Managed Node Groups) | 由 EKS 自动创建和管理的 EC2 实例,自动加入集群;属于 ASG,支持 On-Demand / Spot |
自托管节点(Self-Managed Nodes) | 你自己创建和管理的 EC2 实例,手动注册至集群;更灵活但需自行维护 |
AWS Fargate | 完全 Serverless;无需管理任何节点,适合按需、自动化的容器部署 |

- Amazon EKS – Data Volumes(数据卷)
- 在 EKS 中,持久化数据需要通过存储插件(CSI 驱动)并配合 Kubernetes 的 StorageClass 来定义卷的生命周期和类型
- 使用 Fargate 时,仅支持 EFS(当前不支持 EBS)
存储类型 | 说明 |
---|
Amazon EBS | 块存储,适用于 EC2 节点;不能跨 AZ |
Amazon EFS | 网络文件系统;支持多个 Pod 并发访问;支持 Fargate |
Amazon FSx for Lustre | 高性能文件系统,适合机器学习、大数据分析等高吞吐量场景 |
Amazon FSx for NetApp ONTAP | 支持企业级文件系统功能,如快照、复制、数据压缩 |

AWS App Runner
- AWS App Runner 是一种全托管服务,用于轻松部署 Web 应用和 API,无需管理底层基础设施
特性 | 描述 |
---|
无需基础设施经验 | 完全托管,无需管理服务器、扩展或负载均衡 |
源码 / 镜像部署 | 支持从 GitHub 或 ECR 容器镜像直接部署 |
自动扩缩容 | 根据流量自动调整资源,无需手动配置 Auto Scaling |
高可用 & 加密 | 默认提供负载均衡与 TLS 加密 |
VPC 支持 | 可访问 RDS、ElastiCache 等 VPC 内部资源 |
URL 直接访问 | 部署后自动分配公开访问地址 |
1️⃣ Source Code / Container Image (ECR) ↓ 2️⃣ 配置:vCPU、RAM、Auto Scaling、Health Check ↓ 3️⃣ 创建并部署(Create & Deploy) ↓ 4️⃣ 获得访问 URL,立即可用
|

ECS Anywhere & EKS Anywhere
- Amazon ECS Anywhere
- 让你能在本地数据中心、虚拟机或其他自管基础设施上运行原生 ECS 任务,结合云端控制面板与本地执行能力
- 满足 合规性 / 数据本地化 / 低延迟 要求, 运行在 无 AWS 区域覆盖的地方
- 本地机器学习、视频处理、大数据分析 等边缘计算需求

- Amazon EKS Anywhere
- EKS Anywhere 允许你在 本地或其他云环境中创建并运行 Kubernetes 集群
- 想保留 本地运行环境,但又想用上 EKS 管理体验

AWS Lambda
- AWS Lambda 是一种 无服务器计算服务,让你只需写代码,不用管服务器。你上传函数,设置触发条件,AWS 自动运行它
- AWS Lambda 可无服务器执行函数,常被以下服务触发或与之集成
服务名称 | 触发 / 集成方式说明 |
---|
API Gateway | 通过 HTTP 请求触发 Lambda,常用于构建无服务器 API |
Amazon S3 | 对象创建 / 删除触发(如上传图片自动处理) |
Amazon DynamoDB | 表更新事件触发(使用 DynamoDB Streams) |
Amazon Kinesis | 流式数据处理,如日志分析、实时计算 |
Amazon EventBridge | 基于事件总线实现复杂事件驱动架构 (CRON JOB) |
Amazon SQS | 从消息队列中拉取消息处理 |
AWS IoT Core | 设备消息触发 Lambda |
AWS Cognito | 用户注册、登录等事件触发 Lambda(如验证逻辑) |
CloudWatch Logs | 可配合日志处理 / 告警 |
AWS SNS | 订阅 SNS 主题,处理发布消息 |
- AWS Lambda 限制
- 内存(RAM):最小 128MB,最大 10GB
- CPU:不能手动设置,跟内存挂钩
- 最长运行时间:15 分钟
- 部署包限制:ZIP 格式最大 50MB,解压后 + Layer 总共不能超过 250MB
- 并发执行数:默认 1000(可以申请提高)
- 容器镜像大小:最大 10GB

- Lambda 并发与限流(Concurrency & Throttling)
- 默认并发限制是 1000 个,也就是最多同时跑 1000 个函数实例
- 可以给某个函数设置 Reserved Concurrency,意思是给它专门留几个名额
- 一旦请求超出这个并发限制,就会触发 Throttle(被限流),导致调用失败或延迟
- 如果不够用,可以去 Service Quotas 页面申请提高并发上限

- Lambda 并发问题(Concurrency Issue)
- 如果你不设置 Reserved Concurrency,就默认大家一起抢那 1000 个并发名额
- 用户多的时候,像 API Gateway、ALB(负载均衡器) 都可能因为没抢到资源而 被限流(Throttle)

- Lambda & CodeDeploy 简介
- AWS CodeDeploy 可以帮你自动管理 Lambda 的流量切换,实现平滑部署(渐进式发布),防止直接上线出问题
