亚马逊AWS官方博客
DTH 跨境数据同步最佳实践
背景
随着全球化进程的不断推进,中国企业”走出去”拓展国际市场已经成为一种大趋势。这不仅有助于企业开拓新的市场和客户群体,还能促进企业自身的创新发展和提升竞争力。在中国公司向全球范围内扩展业务的过程中,数据的跨境流动是一个极为重要的环节。
AWS 数据传输解决方案(Data Transfer Hub)正是针对客户的这一真实业务场景而推出的创新服务。DTH 为 Amazon S3 对象和 Amazon ECR 镜像提供了安全、可扩展和可跟踪的数据传输能力。传统的数据跨境传输方式通常是通过公网网络进行,但是公网网络的稳定性和安全性都难以得到有效保证。公网带宽、延迟等指标无法持续满足高效数据传输的需求,同时也存在数据在传输过程中被窃取、篡改的风险,无法满足数据安全合规要求。因此,对于需要高效、安全、合规的数据跨境传输需求,客户大都选择使用合规的专有线路连接国内外区域。专有线路可以为客户提供独立稳定的网络通道,确保网络质量和数据安全。
本篇内容根据客户的真实场景,总结介绍 DTH 如何使用专有线路结合 S3 interface endpoints,优化了 DTH 在跨境数据同步时的成本和效率。
解决方案
架构图
架构解释:
- 北京 region 部署 DTH 解决方案
- DTH worker 使用 S3 Gateway Endpoint 实现从 VPC 内访问 S3(cn-north-1)
- 北京 region 和俄勒冈 region 间使用专线进行连接,实现内网互通
- 使用 S3 Interface Endpoint 实现 VPC 内和北京 region 环境访问 S3(us-west-2)
- 使用 Route 53 Private Zone 实现 EC2 实例使用 us-west-2 的 s3-interface-endpoint
构建测试场景并测试
一. 基础环境准备
- DTH 解决方案部署详见 AWS 数据传输解决方案
- S3 Gateway Endpoint 部署详见官方文档
- 在 us-west-2 区域创建 S3 测试存储桶 dthtest
- 在 cn-north-1 区域 VPC 中创建 EC2 server 进行测试
- 本实验环境 cn-north-1 和 us-west-2 间已使用专线打通,线路连接设置费本篇讨论范畴,大家也可以使用海外两个区域间进行测试
二. 使用 S3 Interface Endpoint 实现 VPC 内和北京 region 环境访问 S3(us-west-2)
进入 VPC 控制台,在左侧找到 Endpoints 终端节点,点击创建。在创建 Endpoint 界面,选择服务类别 AWS Service,在搜索框中输入 S3 过滤显示结果,然后选择 S3 的 Interface 类型;选择对应的 VPC 安全组,策略选择完全访问。如下图:
注意:创建时需要正确进行 DNS 设置,如下图
仅适用于入站端点的私有 DNS
此选项仅适用于网关和接口端点均支持的服务。这样可以优化联网成本,因为源自 VPC 的服务流量通过不收取费用的网关端点路由,而来自本地的流量则通过接口端点路由。
S3-Interface-Endpoint 更多细节详见官方文档: https://docs.thinkwithwp.com/zh_cn/vpc/latest/privatelink/create-interface-endpoint.html。
三. 使用 Route 53 Private Zone 设置 EC2 实例使用 us-west-2 的 s3-interface-endpoint
1. 创建 Hosted Zone,域名位置输入 us-west-2 区域 S3 的默认域名:s3.us-west2.amazonaws.com,类型选择私有拖管区
2. 关联的 VPC 位置,选择 EC2 所在的区域和 VPC
3. 创建成功后,在 s3.us-west-2.amazonaws.com zone 中创建 CNAME 记录:(*.s3.us-west-2.amazonaws.com CNAME vpce-014448eb2dc087430-ige0ic2x.s3.us-west-2.vpce.amazonaws.com) 如下图
四. 集成测试
登录 BJS EC2 实例进行测试。
1. 测试 us-west-2 s3 DNS 解析
可以正常解析到 vpce-014448eb2dc087430-ige0ic2x.s3.us-west-2.vpce.amazonaws.com
2. 使用 AWSCLI 访问 us-west-2 s3 进行测试
awscli 命令指定 Endpoint,显式声明新的 S3 Endpoint 进行测试(此方法会对客户端代码进行了侵入,可根据自有情况进行选择,本测试只是为了方便大家理解):
3. 使用默认的方式访问 us-west-2 s3 进行文件上传测试
至此环境已设置完成,DTH 已使用专有线路通过 s3-interface-endpoint 进行数据上传。
小结
使用专有线路在网络流量成本上更有优势,按照官方费用统计,北京 region 出公网费用为 ¥0.93/G,出 DX 专线的费用为 ¥0.28/G,加上 S3 interface 的流量处理费约 ¥0.07/G,客户数据通过专线到同步数据海外 S3,流量整体费用比使用公网费用更低。本方案充分利用了 AWS 的产品组合优势,通过 Direct Connect 专线 + Route 53 Private Zone + S3 Interface Endpoint 的创新组合,为客户提供了安全性、成本和效率均有保证的数据跨境同步解决方案,极大满足了企业”走出去”过程中对数据流动的需求。
费用对比 | ||
传输方式 | 数据量 | 流量总费用 |
公网传输 | 1TB | ¥952 |
本方案传输 | 1TB | ¥358 |
参考资料
https://www.amazonaws.cn/solutions/data-transfer-hub
https://awslabs.github.io/data-transfer-hub/en