AWS SAA C03满分通过的一些笔记
s3
费用排名 | 取出费用 | 取出时间 | AZ | 最短保存时间 | |
---|---|---|---|---|---|
Standard | 1 | 0 | 0 | 3+ | 0 |
Standard-IA | 2 | 有 | 0 | 3+ | 30day |
One Zone-IA | 3 | 有 | 0 | 1 | 30day |
Intelligent-Tiering | / | 0 | / | 3+ | 0 |
Glacier Instant Retrieval | 4 | 有 | 0 | 3+ | 90day |
Glacier Flexible Retrieval | 5 | 有 | 几分钟 | 3+ | 90day |
Glacier Deep Archive | 6 | 有 | 几小时 | 3+ | 180day |
对象锁定
保留模式(Retention Mode)&Legal Hold
治理模式(Governance Mode) | 有保留期,允许特定有权限的用户修改对象,但对其他用户是锁定的,可以取消治理模式 |
合规模式(Compliance Mode) | 有保留期,任何用户&root,都无法删除或修改对象,无法取消 |
Legal Hold | 无限期地锁定对象 |
加密
服务器端加密(SSE - Server-Side Encryption) | SSE-S3:自动生成并管理加密密钥 |
SSE-KMS:用户可以自己管理和控制加密密钥,跟踪密钥的使用情况 | |
SSE-C:使用客户提供的密钥,跟踪密钥的使用情况 | |
客户端加密(Client-Side Encryption) | 上传到 S3 之前,由客户端进行加密(AWS KMS or 根密钥) |
访问控制方法:
IAM | 基于身份的策略, User-based |
ACL | 对象 ACL(Object ACL):可以对特定的 S3 对象(文件)进行权限设置 |
存储桶 ACL(Bucket ACL):用于定义谁可以访问存储桶以及存储桶中的对象。 |
| 存储桶策略(S3 Bucket Policies) | 允许或拒绝不同的用户、角色或 AWS 账户对存储桶的访问,还可以根据 IP 地址、用户身份等设置限制条件allows cross account |
生命周期:在不同的存储类之间移动数据,或者自动删除对象,(过渡操作(Transition Action)&到期操作(Expiration Action))
分段上传:一次性上传最大大小为 5GB
s3不支持NFS,NFS是EFS的功能
SNOW
本地数据传输到 AWS 存储
| | |
| —- | —- |
| Snowball | for hundreds of TB data transfer, 物理抗损, 256 位加密,(海量数据迁移,如数据中心退役、备份、归档或内容分发等。) |
| Snowball Edge | 提供计算能力和本地存储,可以运行 AWS Lambda 函数或 EC2 实例, 适用于远程作业地点和边缘站点的实时数据处理 |
| Snowmobile | 传输数百 PB 或 EB 级别数据的场景 |
| Snowcone | smaller, 8TB for one device (4-6 biz day to deliver),具备一定的计算能力 |
IAM
在应用层
Cognito
Web/移动应用用户认证&社交登录管理
专注外部用户
用户池 (User Pools):
身份验证,管理用户目录
身份池 (Identity Pools):
提供临时aws凭证
IAM角色映射
身份认证服务比较
- 用户类型:
- 消费者用户 → Cognito
- 企业用户 → IAM Identity Center(多账户访问管理)
- AWS资源访问 → IAM
- 规模:
- 小规模内部用户 → IAM
- 大规模外部用户 → Cognito
- 企业级部署 → IAM Identity Center
- 集成需求:
- Active Directory → Directory Service
- 社交登录 → Cognito
- 多账户管理 → Control Tower
- 安全要求:
- 基本AWS安全 → IAM
- 复杂认证流程 → Cognito
- 企业级安全 → IAM Identity Center
- 成本考虑:
- IAM是免费的
- Cognito按用户计费
- Directory Service按小时计费
SQS
- 标准队列:最大吞吐量,不保证顺序,至少一次传递
- FIFO 队列:保证顺序,精确的一次处理,支持消息组 300*10
共享SQS最佳:SQS策略
AWS Global Accelerator
为部署在多个区域的 Web 应用程序在区域之间进行负载均衡
静态ip
AWS EC2 auto scaling
- 选择多个AZ时,尝试将实例均匀分配到不同AZ
- 保证配置实例数量,down了一个实例,自动启用新实例
- 相应Cloudwatch指标根据情况进行扩展,和缩小容量
- auto scaling组只能在一个vpc中
AWS EBS 块存储
只能连接到同一可用区的EC2
一个EBS只能被一个EC2访问,一个EC2能有多个EBS(same AZ)
可选择在EC2实例停止时保留数据
收费
gp2/gp3 | 通用型 SSD,适合大多数工作负载 |
io1/io2 | 高性能 SSD,适合要求高 IOPS 的场景 |
st1 | 吞吐优化 HDD,适合大规模顺序访问 |
sc1 | 冷 HDD,适合不常访问数据 |
使用KMS加密:
- 不能直接更改卷的加密状态
- 加密操作必须在同一区域内完成
EFS
- 完全托管的NFS文件系统,文件存储,持久化
- 可以跨多个AZ使用,支持数千个EC2同时连接
- 独占控制,防止其他用户同时修改
- 自动扩展,按使用量付费
- 默认自动备份和静态数据加密
- 性能模式:(只能在创建时设置)
- 通用模式:适合大多数场景
- 最大I/O模式:适合高并发
- 吞吐量:
- 弹性吞吐量
- 预置吞吐量
- 存储类别:
- 标准: 频繁访问
- IA(Infrequent Access): 不常访问数据,成本更低
Gateway
- 允许使用 NFS(网络文件系统(UNIX))或 SMB(服务器消息块(WIN))从本地访问 S3 存储桶
- 三种类型:
- File Gateway:
| 特性 | S3 Gateway | FSx Gateway |
| --- | --- | --- |
| 协议支持 | NFS/SMB | 仅SMB |
| 存储后端 | S3 | FSx |
| 文件系统特性 | 基础文件操作 | 完整Windows文件系统 |
| 安全集成 | IAM/S3策略 | AD/Windows权限 |
| 数据一致性 | 最终一致性 | 强一致性 |
| 成本结构 | 按使用量付费 | 预置容量付费 |
- Volume Gateway:
- Cached Mode: 主数据在AWS,本地缓存热数据
- Stored Mode: 主数据在本地,异步备份到AWS
- Tape Gateway:
- 虚拟磁带库(VTL)
- 替代物理磁带备份
route53
路由策略 | 主要特点 | 使用场景 |
---|---|---|
简单路由(Simple) | - 单一资源路由- 多个值随机返回- 不支持健康检查 | - 单一资源后端- 静态网站- 简单DNS解析 |
加权路由(Weighted) | - 按比例分配流量- 支持设置0-255的权重- 支持健康检查 | - A/B测试- 蓝绿部署- 渐进式发布 |
延迟路由(Latency) | - 基于AWS测量的延迟- 自动选择最快区域- 支持健康检查 | - 全球分布式应用- 多区域部署- 用户体验优化 |
地理位置路由(Geolocation) | - 基于用户位置 | - 内容本地化 - 合规性要求 - 区域访问控制 |
地理近距离路由(Geoproximity) | - 基于资源物理位置 | - 就近访问 - 区域负载均衡 - 动态调整流量 |
故障转移路由(Failover) | - 主备架构- 自动故障检测- 必须配置健康检查 | - 高可用架构 - 灾难恢复 - 关键业务系统 |
多值应答路由(Multivalue Answer) | - 最多返回8个健康记录- 支持健康检查-随机返回值 | - DNS层负载均衡 - 提高可用性 - 简单的流量分发 |
别名记录比CNAME快
公共托管区域管理 VPC 外部公开的域(例如 Internet)的 DNS 记录。
私有托管区域管理 VPC 内发布的域的 DNS 记录。
CloudFront
不支持静态ip
- 世界各地的分发服务器(边缘服务器)从包含原始数据的服务器(原始服务器)复制并存储(缓存)内容。客户端不访问源服务器,而是从边缘服务器的缓存接收内容。
- 加快将静态和动态web内容分发给用户的服务(低延迟),还可以减少源服务器的负载
签名URL :单个文件访问控制,适用于不支持Cookie的客户端(移动app常用)
签名Cookie:多个文件访问控制,无需修改现有URL(Web应用常用)
OAI/OAC (Origin Access Identity/Control):限制通过CloudFront访问S3存储桶的功能
地理限制WAF:能够拒绝从特定 IP 地址访问 CloudFront
Cache Invalidation:立即删除存储在边缘服务器上的缓存
Cache TTL (Time To Live):
RDS
运行在EC2实例上
RDS是关系型数据库
增加存储性能:垂直扩展
增加读取性能:水平扩展,增加只读副本
灾难恢复:复制到另外一个AZ保持实时同步(免费)
删除保护
自动备份快照不能共享,手动可以,
自动备份最长 35 天
RDS Proxy:
- 强制执行数据库的 IAM 身份验证,并将凭据安全地存储在 AWS Secrets Manager 中
- RDS 代理永远不会公开访问(必须从 VPC 访问)
- 通过减少数据库资源(例如 CPU、RAM)的压力并最大限度地减少开放连接(和超时)来提高数据库效率
Amazon Aurora
支持 Postgres 和 MySQL,与 RDS 上的 MySQL 相比性能提高了 5 倍,与 RDS 上的 Postgres 相比性能提高了 3 倍
成本高20%
可以有 15 个副本,而 MySQL 只有 5 个
Aurora 全球数据库的恢复点目标 (RPO) 为 1 秒,恢复时间目标 (RTO) 小于 1 分钟
存储可以自动检测并修复损坏的数据
Aurora Serverless
根据实际使用情况自动实例化数据库并自动扩展
适用于不频繁、间歇性或不可预测的工作负载
Lambda/API Gateway&ECS/Fargate/EKS
轻量级:Lambda + API Gateway:
- 简单的API服务
- 事件处理(有触发器)
- 定时任务
- 不需要持续运行(只能运行15min)
Lambda 函数无法再直接访问互联网(需要NAT Gateway访问公网),放置于专有vpc中,配置vpc access访问私有vpc
ECS:
- 需要长期运行的服务
- 容器化应用
- 需要细粒度控制
- AWS生态系统深度整合
Fargate:
- 想要容器但不想管理基础设施
- 负载可预测
- 需要快速扩展
- 运维资源有限
EKS:
- 已经使用Kubernetes
- 需要跨云能力
- 复杂的微服务架构
- 需要高级编排特性
NLB&ALB
ALB | NLB | |
---|---|---|
第7层,ALB 将传入流量分配到多个目标,例如 EC2 实例 | 第四层,NLB 根据网络条件分配流量 | |
性能 | 智能请求路由 |
自动扩展能力
支持请求速率限制 | 每秒可处理数百万请求
固定延迟
支持突发流量 |
| 使用场景 | 微服务架构
容器化应用
Web应用
API服务 | 需要极低延迟的场景
需要固定IP的应用
TCP/UDP协议应用 |
| 成本 | 按小时和处理规则数计费
适合高请求数场景 | 按处理流量计费
适合大流量低请求数场景 |
| | 不支持WAF | |
性能要求
├── 超低延迟 → NLB
├── 内容路由 → ALB
└── 安全检查 → GWLB
应用类型
├── Web应用 → ALB
├── TCP/UDP → NLB
└── 安全设备 → GWLB
特殊需求
├── 固定IP → NLB
├── HTTP路由 → ALB
└── 深度包检查 → GWLB
NAT
允许私有子网的ec2实例连接到互联网
可用性不高,建议在多个AZ中部署多个NAT gateway
管出站outbound
网络地址转换,使部署在私有子网的实例访问互联网(提供出站访问),来自互联网的访问无法访问到处于私有子网的实例
- 部署在公有子网中,分配到一个弹性IP地址
- 私有子网的路由表目标指向NAT ID,NAT转换后发送到互联网网关
VPC endpoint/AWS privateLink
允许VPC私有连接到AWS服务的接口
- Gateway Endpoint(基于路由表,免费)
- 只支持S3和DynamoDB
- Interface Endpoint(基于AWS PrivateLink,付费)
- 支持大多数AWS服务
- 创建弹性网络接口(ENI)
site to site VPN
使用专用连接将AWS连接到本地数据中心
通过公共网络传播,但是是加密的
在VPC的私有子网中启用route progation
Direct connect(DX)
需要一个多月才能建立,数据未加密
远程网络到vpc的专有连接,不走互联网
如果要连接到不同region:需要DX gateway
需要加密数据:DX+VPN
最大恢复能力:两个DX连接 or 备用区用site to site VPN(更省钱)
Transit gateway中转网关
不需要vpc对等
关键词:IP multicast 必须使用transit gateway
增加连接的site to site VPN吞吐量
多个AWS账户之间共享direct connect(多个账户连接本地数据中心)
Kinesis ,EMR ,Glue ,Athena
特性 | Kinesis | EMR | Glue | Athena |
---|---|---|---|---|
主要用途 | 实时数据流处理 | 大规模分布式数据处理 | 无服务器ETL服务(提取转换加载),dynamoDB异步导出 | 无服务器交互式查询(简单sql),数据分析 |
部署模型 | 全托管服务 | 托管集群 | 无服务器 | 无服务器 |
延迟特性 | 实时(毫秒级) | 分钟到小时级 | 分钟级 | 秒到分钟级 |
维护工作量 | 低 | 高 | 低 | 极低 |
扩展性 | 通过增加分片自动扩展 | 手动或自动扩展节点 | 自动扩展 | 自动扩展 |
不适合场景 | - 批处理- 长期数据存储 | - 小规模数据处理- 简单ETL任务 | - 实时处理- 复杂转换逻辑 | - OLTP工作负载- 实时查询需求-PB级复杂sql查询 |
analyze data in s3 using serverless SQL |
选择指南:
- 实时数据处理:
- Kinesis:实时数据量大,需要持久化
- Lambda:简单实时处理,无需持久化
- 数据转换:
- Glue:简单ETL,无需管理基础设施
- EMR:复杂转换,需要完全控制
- 数据查询:
- Athena:简单查询,直接查询S3数据
- EMR:复杂查询,需要更多控制
- 成本:
- 低成本,低使用频率:选择无服务器方案(Glue/Athena)
- 高使用频率,需要性能:选择EMR(可使用Spot实例)
- 维护:
- 最小维护:选择Athena/Glue
- 可以投入维护:选择EMR/Kinesis
redshift
基于PostgreSQL的托管数据仓库服务
高性能大规模数据仓库需求(PB级),无法实时
复杂sql分析
Lake formation
创建存储在s3中的数据湖(一个中心位置,把所有数据集中在一个地方)
底层是glue
集中的权限, 能管理数据细粒度权限
数据过滤器功能能防止访问敏感数据
机器学习
图像/视频处理 → Rekognition
自然语言处理 → Comprehend
翻译 → Translate
OCR光学识别,扫描文档pdf提取数据 → Textract
语音服务 → Polly(文本转语音)/Transcribe(语音转文本)
预测分析 → Forecast
完整ML平台 → SageMaker
AWS成本管理
特性 | Cost Explorer (成本资源管理器) | Cost Allocation Tags (成本分配标签) |
---|---|---|
主要功能 | - 查看和分析成本与使用数据 - 生成详细报告 - 预测未来支出 - 识别成本趋势 |
- 标记AWS资源 - 按业务维度组织资源 - 为资源添加元数据 - 细分成本归属 |
数据粒度 | - 按服务 - 按账户 - 按区域 - 按使用类型 |
- 自定义维度 - 可以非常细粒度 - 灵活的分类方式 - 多层次标记 |
数据可见性 | - 最多支持12个月的历史数据 - 可以预测3个月支出 |
- 标签生效后的数据 - 不能追溯历史数据 - 需要事先规划 |
报告功能 | - 预定义的报告模板 - 可自定义报告 - 支持API访问 |
- 需要配合其他工具生成报告 - 可用于成本分配报告 |
常见解决方案 | - 成本分析 - 预算监控 - 资源优化 |
- 部门成本分摊 - 项目成本追踪 - 资源组织管理 |
限制条件 | - 数据延迟24小时 - 有最小时间粒度限制 |
- 每个资源最多50个标签 - 标签键值有长度限制 - 不是所有资源都支持 |
TLS/SSL
在传输中数据加密在接收到后解密
AWS服务映射
应用层服务:
- ALB(L7), CloudFront(L7), API Gateway(L7)
网络层服务:
- NLB(L4), VPC路由表&VPC Peering(L3),VPC endpoint(L4)
安全服务:
- WAF(L7)
- Security Groups(L4)
- Network ACLs(L3/4)
AWS secrets manager
能设定密钥轮换日期
RDS 和secrets集成,一般选secrets manager
可以跨区域复制
api gateway
让用户访问lambda,http后端或aws服务而不用授予用户访问凭据的权限
AWS Macie
用于发现和保护敏感数据,如PII
自动化发现(监控,告警),分类
AWS EventBridge
Serverless,细粒度的权限控制
定时任务:EventBridge (Schedule) → Lambda
事件驱动架构:
AWS服务 → EventBridge → 目标服务
- EC2状态变更 → SNS通知
- S3上传文件 → Lambda处理
- RDS事件 → 邮件告警
Others
data pipeline:将数据转换并且迁移到不同类型的数据库