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

在应用层

image.png

Cognito

Web/移动应用用户认证&社交登录管理

专注外部用户

用户池 (User Pools):

身份验证,管理用户目录

身份池 (Identity Pools):

提供临时aws凭证

IAM角色映射

身份认证服务比较

  1. 用户类型:
    • 消费者用户 → Cognito
    • 企业用户 → IAM Identity Center(多账户访问管理)
    • AWS资源访问 → IAM
  2. 规模:
    • 小规模内部用户 → IAM
    • 大规模外部用户 → Cognito
    • 企业级部署 → IAM Identity Center
  3. 集成需求:
    • Active Directory → Directory Service
    • 社交登录 → Cognito
    • 多账户管理 → Control Tower
  4. 安全要求:
    • 基本AWS安全 → IAM
    • 复杂认证流程 → Cognito
    • 企业级安全 → IAM Identity Center
  5. 成本考虑:
    • IAM是免费的
    • Cognito按用户计费
    • Directory Service按小时计费

SQS

  • 标准队列:最大吞吐量,不保证顺序,至少一次传递
  • FIFO 队列:保证顺序,精确的一次处理,支持消息组 300*10

共享SQS最佳:SQS策略

AWS Global Accelerator

为部署在多个区域的 Web 应用程序在区域之间进行负载均衡

静态ip

AWS EC2 auto scaling

  1. 选择多个AZ时,尝试将实例均匀分配到不同AZ
  2. 保证配置实例数量,down了一个实例,自动启用新实例
  3. 相应Cloudwatch指标根据情况进行扩展,和缩小容量
  4. 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服务的接口

  1. Gateway Endpoint(基于路由表,免费)
    • 只支持S3和DynamoDB
  2. Interface Endpoint(基于AWS PrivateLink,付费)
    • 支持大多数AWS服务
    • 创建弹性网络接口(ENI)

image.png

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(多个账户连接本地数据中心)

image.png

Kinesis ,EMR ,Glue ,Athena

特性 Kinesis EMR Glue Athena
主要用途 实时数据流处理 大规模分布式数据处理 无服务器ETL服务(提取转换加载),dynamoDB异步导出 无服务器交互式查询(简单sql),数据分析
部署模型 全托管服务 托管集群 无服务器 无服务器
延迟特性 实时(毫秒级) 分钟到小时级 分钟级 秒到分钟级
维护工作量 极低
扩展性 通过增加分片自动扩展 手动或自动扩展节点 自动扩展 自动扩展
不适合场景 - 批处理- 长期数据存储 - 小规模数据处理- 简单ETL任务 - 实时处理- 复杂转换逻辑 - OLTP工作负载- 实时查询需求-PB级复杂sql查询
analyze data in s3 using serverless SQL

选择指南:

  1. 实时数据处理:
    • Kinesis:实时数据量大,需要持久化
    • Lambda:简单实时处理,无需持久化
  2. 数据转换:
    • Glue:简单ETL,无需管理基础设施
    • EMR:复杂转换,需要完全控制
  3. 数据查询:
    • Athena:简单查询,直接查询S3数据
    • EMR:复杂查询,需要更多控制
  4. 成本:
    • 低成本,低使用频率:选择无服务器方案(Glue/Athena)
    • 高使用频率,需要性能:选择EMR(可使用Spot实例)
  5. 维护:
    • 最小维护:选择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:将数据转换并且迁移到不同类型的数据库