S3跨账户数据复制全流程配置、安全措施及成本咨询
跨账号S3单向同步落地方案(VPC内网链路+细粒度规则+成本拆解)
前置依赖
- 持有两个AWS账号:Account A为源桶所属账号,Account B为目标桶所属账号
- 两个账号下均已创建业务可用VPC,VPC路由表无异常公网路由
- 提前确认源桶、目标桶的所属区域,同区域同步无跨区流量费,跨区域同步需额外核算流量成本
分步搭建流程(全链路走VPC内网)
1. VPC网络层配置(从根源避免公网暴露)
- Account A侧配置
- 在业务所在VPC创建S3网关型VPC端点,关联业务子网对应的所有路由表,自动添加S3服务前缀列表的路由条目,确保VPC内所有S3请求走内网链路
- 配置VPC端点策略:最小权限放行,仅允许访问本次同步涉及的源S3桶、同步服务(Lambda/S3复制服务),禁止访问其他无关S3资源,拒绝公网转发路径
- 开启VPC流日志,投递到CloudWatch日志组,留存所有网络访问记录
- Account B侧配置
- 同样在目标存储所属VPC创建S3网关型VPC端点,关联对应路由表
- 端点策略仅放行来自Account A同步角色的写入请求,拒绝所有匿名公网访问
- 目标桶默认开启「阻止公网访问」全选项,桶策略增加
aws:SourceVpce条件,仅允许通过指定VPC端点发起的访问
2. 源端S3桶基础配置
- 源桶开启版本控制,不要开启跨账号复制默认的删除同步选项
- 配置桶事件通知:仅勾选
ObjectCreated类事件(包含PutObject、PostObject、CopyObject、分片上传完成等所有新增/覆盖对象的操作),触发目标绑定同步链路(原生S3复制规则直接绑定事件,自定义同步就绑定SQS/Lambda) - 所有
ObjectRemoved类事件(包括手动删除、生命周期策略删除、删除标记写入)一律不绑定任何同步触发规则,从触发层切断删除操作的同步路径
3. 跨账号权限配置
- 在Account B创建目标S3桶,开启版本控制,配置桶策略:信任Account A下的同步执行角色,仅授予该角色
s3:PutObject、s3:PutObjectAcl权限,显式添加拒绝策略,禁止该角色执行s3:DeleteObject、s3:DeleteObjectVersion操作,从权限层堵死删除操作同步的可能 - 在Account A创建同步执行角色,权限收敛到最小:仅允许读取源桶指定前缀下的对象、写入目标桶对应路径;角色信任策略添加VPC条件,仅允许VPC内的同步服务代入角色,禁止公网环境下的角色调用
- 如果用S3原生SRR/CRR复制功能,直接在复制规则配置页关闭「同步删除标记」「同步副本删除」两个开关;如果用Lambda做自定义同步,代码逻辑里直接过滤所有非创建类事件,只处理新增对象
4. 细粒度同步规则配置
原生S3复制和自定义Lambda同步都支持文件夹/子文件夹级别的规则配置,可按需求叠加:
- 前缀匹配:直接填写需要同步的文件夹路径即可,比如配置
operation/logs/就同步该目录下所有对象,配置operation/logs/202409/就仅同步对应子文件夹内容;支持配置多条独立规则,不同前缀可单独设置同步优先级、目标端存储类型 - 标签匹配:可给需要同步的对象打自定义标签(如
NeedSync=AccountB),规则中仅匹配带指定标签的对象,实现更灵活的筛选 - 可选过滤:用Lambda同步的话,还可以加文件大小、后缀名的过滤逻辑,比如仅同步大于100KB的.jpg文件,不需要额外服务支撑
5. 连通性校验
所有配置完成后在VPC内的测试EC2上做验证:
- 向匹配同步规则的路径上传测试文件,验证目标端是否正常接收(原生复制延迟通常在1-15分钟,Lambda触发延迟在秒级)
- 在源端删除已同步的测试文件,等待30分钟后确认目标端文件仍然存在
- 向不匹配规则的路径上传文件,确认不会被同步到目标端
- 查VPC流日志和S3访问日志,确认所有同步流量的源IP均为VPC内网段,无公网流量参与传输
配套安全防护措施
- 网络层:全链路走VPC网关端点,不经过公网;两端S3桶全量开启公网访问阻断,所有访问请求必须通过指定VPC端点发起
- 权限层:同步角色遵循最小权限原则,显式拒绝删除类操作;目标桶可选开启合规模式对象锁,给同步过来的对象设置固定保留期,保留期内任何角色都无法删除对象;两端桶默认开启AES256服务端加密,同步传输强制要求TLS1.2+加密,禁止HTTP明文访问
- 审计监控层:两端S3桶都开启访问日志,投递到独立的审计存储桶,留存至少180天;配置CloudWatch告警,监控同步失败事件、异常删除尝试、公网访问S3的异常事件,触发后立即推送通知;定期用Access Analyzer扫描桶策略、角色策略的过度授权风险
成本构成说明
所有费用按实际使用量后付费,无预付成本,主要分为4部分:
- 存储成本:Account A源桶的存储费用,按选择的存储层级(标准、低频、归档等)单价*实际存储容量计算;Account B目标桶的存储费用,可根据业务需求将同步过去的文件转低频/归档存储,成本比标准存储低30%-70%
- 同步传输与请求成本:同区域同步无跨区流量费,仅收取PUT请求费用,约0.005美元/1000次请求;跨区域同步会产生跨区数据传输费,按传输容量计费,不同区域单价在0.02-0.08美元/GB区间;走VPC端点的内网传输不会产生公网流出费,相比公网传输可节省约0.09美元/GB的公网流量成本;如果用Lambda做自定义同步,额外收取Lambda调用费(约0.2美元/100万次请求)和计算资源费,小文件场景下每百万文件同步成本约1-2美元
- 配套服务成本:S3网关VPC端点无实例费,仅收取极低的流量处理费,每GB不到0.01美元;S3事件通知用SQS解耦的话,请求费约0.4美元/100万次,基本可以忽略;访问日志、流日志、CloudWatch监控的日志存储成本,按日志生成量计算,通常每TB每月存储成本几美元
- 可选安全特性成本:S3对象锁无额外费用,和普通存储单价一致;如果开启GuardDuty做S3威胁检测,数据处理费约0.002美元/GB,可按需选择
内容的提问来源于stack exchange,提问作者Landerson
相关产品推荐
相关产品推荐

