4.2 阿里云 OSS/RDS/SLB 的工程搭配


4.2 阿里云 OSS / RDS / SLB 的工程搭配

本节摘要:国内最常见的"应用三件套"是 OSS(对象存储)+ RDS(托管数据库)+ SLB(负载均衡)。它们覆盖了"静态资源 + 业务数据 + 流量分发"三大刚需。本节用真实工程链路展开:OSS 桶创建与生命周期、跨区复制、签名 URL;RDS 多可用区部署、读写分离、参数调优;SLB 七层/四层负载均衡配置。最后给一张"国内中型 Web 应用的标准架构"参考图。

本节学习地图

图:SLB 七层 vs 四层

图:SLB 七层 vs 四层

阅读完本节,你应当能够:

  1. 用 aliyun cli 创建 OSS 桶 + 生命周期规则,把 30 天前的对象自动降级到 IA、90 天到归档。
  2. 配置 OSS 跨区复制:源桶华东 1,目标桶华北 2,灾备与就近访问。
  3. 启动一个 RDS 多可用区实例 + 读副本,理解"主写从读"的连接方式。
  4. 创建一个 SLB 七层负载均衡实例,把后端多台 ECS 串起来。

一、问题与直觉:OSS 跨区复制是免费的备份方案

很多团队用 OSS 备份数据库或日志,但不配跨区复制——结果某 Region 出现故障(虽然 OSS 本身 11 个 9 持久性,但账号级失误如生命周期写错、桶策略改错仍可能丢数据),备份也跟着没了。

正解:OSS 跨区复制(Cross-Region Replication, CRR)把源桶的写操作异步复制到目标桶,目标桶在另一个 Region——这是异地灾备的最低成本方案。复制流量按 GB 收费(0.5 元/GB),但相比自建异地备份方案便宜很多

二、核心原理:OSS + RDS + SLB 三件套

2.1 OSS 桶创建与生命周期

# 创建 OSS 桶 aliyun oss-api CreateBucket --Bucket my-app-images-2026 --Region cn-hangzhou # 配置生命周期规则 cat > lifecycle.xml <<EOF <?xml version="1.0" encoding="UTF-8"?> <LifecycleConfiguration> <Rule> <ID>downgrade-old-images</ID> <Status>Enabled</Status> <Prefix>user-original/</Prefix> <Transitions> <Transition> <Days>30</Days> <StorageClass>IA</StorageClass> </Transition> <Transition> <Days>90</Days> <StorageClass>Archive</StorageClass> </Transition> </Transitions> </Rule> </LifecycleConfiguration> EOF aliyun oss-api PutBucketLifecycle --Bucket my-app-images-2026 --LifecycleConfiguration file://lifecycle.xml # 上传文件 aliyun oss cp ./local-image.jpg oss://my-app-images-2026/user-original/ # 列出桶内对象 aliyun oss ls oss://my-app-images-2026/ --recursive

2.2 OSS 跨区复制

# 在目标 Region 创建备份桶 aliyun oss-api CreateBucket --Bucket my-app-images-backup-2026 --Region cn-beijing # 配置跨区复制(在源桶上启用) cat > replication.xml <<EOF <?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration> <Rule> <ID>backup-to-beijing</ID> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Bucket>my-app-images-backup-2026</Bucket> <Location>cn-beijing</Location> </Destination> </Rule> </ReplicationConfiguration> EOF aliyun oss-api PutBucketReplication --Bucket my-app-images-2026 \ --ReplicationConfiguration file://replication.xml

跨区复制是异地灾备的最低成本方案——但要付"复制流量费"(0.5 元/GB)+ 目标桶存储费。

2.3 OSS 签名 URL(防止公开访问)

# 生成 1 小时有效的下载链接 aliyun oss sign oss://my-app-images-2026/user-original/photo.jpg \ --timeout 3600 # 生成 1 小时有效的上传链接(PUT) aliyun oss sign oss://my-app-images-2026/user-upload/tmp.jpg \ --timeout 3600 --method PUT

2.4 RDS 多可用区 + 读副本

# 创建 RDS 实例(多可用区 + 读写分离) aliyun rds CreateDBInstance \ --RegionId cn-hangzhou \ --Engine MySQL \ --EngineVersion 8.0 \ --DBInstanceClass rds.mysql.s3.large \ --DBInstanceStorage 100 \ --DBInstanceNetType 1 \ --PayType Postpaid \ --ZoneId cn-hangzhou-h \ --VSwitchId vsw-xxxxxx \ --SecurityGroupIds sg-xxxxxx # 创建读副本 aliyun rds CreateReadOnlyDBInstance \ --RegionId cn-hangzhou \ --DBInstanceId rm-xxxxxx \ --DBInstanceClass rds.mysql.s3.large \ --ZoneId cn-hangzhou-i # 开通读写分离(自动按 SQL 类型路由) aliyun rds AllocateReadWriteSplittingConnection \ --RegionId cn-hangzhou \ --DBInstanceId rm-xxxxxx

2.5 SLB 七层负载均衡

# 创建 SLB 实例 aliyun slb CreateLoadBalancer \ --RegionId cn-hangzhou \ --LoadBalancerName my-app-slb \ --AddressType internet \ --InternetChargeType PayByTraffic \ --Bandwidth 5 # 创建监听(七层 HTTP) aliyun slb CreateLoadBalancerHTTPListener \ --LoadBalancerId lb-xxxxxx \ --ListenerPort 80 \ --BackendServerPort 8080 \ --HealthCheckType tcp \ --HealthCheckConnectTimeout 5 \ --HealthCheckInterval 2 # 添加后端 ECS aliyun slb AddBackendServers \ --LoadBalancerId lb-xxxxxx \ --BackendServers '[{"ServerId":"i-xxx1","Weight":100},{"ServerId":"i-xxx2","Weight":100}]'

三、工程实践要点:三件套的标准架构

3.1 国内中型 Web 应用的标准架构

3.2 真实反例:常见三件套误用

反例 后果 正解
OSS 桶开公共读 数据泄露 桶 ACL 私有 + 签名 URL
没配跨区复制 账号级失误丢数据无法恢复 配 CRR 到另一个 Region
RDS 没开慢查询日志 性能问题无据可查 慢查询日志 + 性能洞察
SLB 健康检查配错(间隔太长) 后端 ECS 挂掉但流量还往那发 间隔 2-3 秒 + 5 秒超时
ECS 直接接 RDS 没用 SLB 单台 ECS 挂掉服务就挂了 用 SLB 至少 2 台 ECS
OSS Lifecycle 写错 数据意外归档,下载时收费 配规则前先在测试桶验证

3.3 SLB 七层 vs 四层选型

维度 四层 TCP 七层 HTTP/HTTPS
协议 TCP / UDP HTTP / HTTPS
性能 更高 略低(多一层解析)
支持的功能 简单转发 路径路由、域名路由、HTTPS 卸载、Cookie 会话保持
典型场景 数据库代理、游戏服务器 Web 应用、API 网关

经验法则:Web/API 优先七层(功能多);高性能 TCP 场景(如游戏服务器长连接)选四层。

3.4 性能调优清单

组件 关键调优点 工具
OSS 大文件分片上传、CDN 加速 OSS SDK multipart、阿里云 CDN
RDS 慢查询、索引、连接池、参数组 慢查询日志 + DAS(数据库自治服务)
SLB 健康检查间隔、会话保持算法、HTTP/2 SLB 控制台 + Cloud Monitor
ECS CPU/内存/磁盘 IO、网络流量 Cloud Monitor + ARMS(应用监控)

⚠️ 常见坑:RDS 选可用区要和 ECS 同可用区。不同可用区之间内网延迟 1-3ms,单次访问无所谓,高并发场景下累积效应明显生产环境 ECS 和 RDS 必须在同一可用区

💡 关键直觉:国内云的性能调优工具比海外云更"全家桶"——阿里云有 DAS(数据库)、ARMS(应用)、SLS(日志)、Cloud Monitor(基础设施),把"调优"做成了"产品"。用好这些工具是降低运维负担的关键

本节要点回顾

  • 国内 Web 应用三件套:OSS(静态资源)+ RDS(数据)+ SLB(流量分发),覆盖 80% 的常规需求。
  • OSS 生命周期 + 跨区复制是异地灾备最低成本方案:复制流量 0.5 元/GB。
  • RDS 多可用区 + 读写分离是工业级标配:主写从读,读副本承担 80% 查询。
  • SLB 七层 vs 四层:Web/API 用七层(功能多),高性能 TCP 用四层。
  • ECS 和 RDS 必须同可用区:跨可用区延迟 1-3ms,高并发下累积明显。
  • 国内云调优工具全家桶:DAS、ARMS、SLS、Cloud Monitor——用好是关键。

下一节切到阿里云"监控与成本"——云监控告警 + 成本中心预算治理。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U