• 助力某电商系统平台成功迁移至AWS云

    项目背景

    中免集团成立于1984年,是经国务院授权在全国范围内开展免税业务的国有专营公司,在海内外经营200+家免税店,每年为近2亿人次的国内外旅客提供服务,是全球最大的免税运营商。
    中免日上以消费者为中心、以诚信经营为理念,坚持“正品、优价、好物”。为消费者提供更多的全球优质商品、更好的购物体验、更周到的关怀服务,不断满足消费者对美好生活的追求和向往。
    为更好支持电商平台的业务持续性、安全和稳定性,将基础实施架构迁移至AWS云平台。

    项目范围

    • 对客户应用系统上线进行可行性评估
    • 为客户AWS提供基础架构部署解决方案
    • 为客户提供本项目所需的技术支持服务
    • 为客户提供本项目所需的AWS培训辅导
    • 迁移现有应用服务器,数据库服务器,以及其他业务系统

    新钛云服职责

    • 负责中免日上环境中间件验证部署项目管理,制定项目管理制度和项目管理计划
    • 负责对中免日上环境中间件验证部署项目涉及的业务部门和供应商进行需求调研,根据需求调研结果进行梳理及分析
    • 负责AWS环境中间件进行架构评估,编写技术方案
    • 在中免日上运维人员的配合下,负责对AWS环境中间件技术方案进行部署和联调

    验收标准

    对于本次项目的验收标准,是以在与客户互相确认通过的迁移计划中所列出的每个阶段时间节点内完成的工作安排以及针对本阶段用于验收的交付物进行评审、评估和测试。在确定每个交付物满足特定交付的验收标准,并客户在书面验收上进行确认,已完成整个验收过程。在交付物在客户验收期内不能满足或者不符合,由项目经理进行双方沟通并确定在所要求的范围内进行纠正不符合项,以使交付物达到和满足验收标准。达到验收标准后,双方确认项目验收报告并签字。

    现状分析

    对目前运行在其他友商云的基础设施资源清单进行分析,从业务、性能和架构维度进行细粒度调研,基于调研信息进行AWS云上架构规划设计。

    资源现状

    序号 名称 实际使用情况 区域 系统类型(版本号) 备注
    CPU 内存 磁盘(GB) cpu 内存
    1 xxx 16 64 1024 51.00% 62% xxx xxx
    2 xxx 16 64 1024 42.00% 65% xxx xxx
    3 xxx 16 64 1024 56.00% 71% xxx xxx
    4 xxx 16 64 1024 76.00% 82% xxx xxx
    5 xxx 16 64 1024 69.00% 83% xxx xxx
    6 xxx 16 64 1024 77.00% 81% xxx xxx
    7 xxx 16 64 1024 72.00% 77% xxx xxx
    8 xxx 16 64 1024 73.00% 79% xxx xxx
    9 xxx 16 64 1024 42.00% 55% xxx xxx
    10 xxx 16 64 1024 30.00% 51% xxx xxx
    11 xxx 16 64 1024 35.00% 48% xxx xxx
    12 xxx 16 64 1024 57.00% 65% xxx xxx
    13 xxx 16 64 1024 61.00% 65% xxx xxx
    14 xxx 16 64 1024 61.00% 64% xxx xxx
    15 xxx 16 64 1024 65.00% 59% xxx xxx
    16 xxx 16 64 1024 58.00% 58% xxx xxx
    17 xxx 16 64 1024 59.00% 70% xxx xxx
    18 xxx 16 64 1024 57.00% 76% xxx xxx
    19 xxx 16 64 1024 59.00% 55% xxx xxx
    20 xxx 16 64 1024 61.00% 52% xxx xxx
    21 xxx 16 64 1024 61.00% 76% xxx xxx
    22 xxx 16 64 1024 60.00% 65% xxx xxx
    23 Redis 4 16 / 56.00% / xxx xxx
    24 MySQL 8 32 1536 68.00% 72% xxx xxx
    25 MongoDB 2 16 500 51.00% 62% xxx xxx

    AWS架构设计

    基于业务需求、资产现状和拓扑结构等,进行迁移至AWS云上的架构规划设计。在系统功能侧,实现功能1:1的复制,整体架构不进行重构。对系统性能基于调研信息进行合理配置规划设计。

    AWS系统架构拓扑

    迁移工具

    根据AWS架构完善框架和最佳实践迁移方案采用AWS Application Migration Service服务对应用就行迁移,AWS Application Migration Service通过自动将您的源服务器从物理、虚拟或云基础设施转换为在 AWS 上本机运行,最大限度地减少费时、容易出错的手动流程。它使您能够在各种不同的应用程序中使用相同的自动化流程,从而进一步简化迁移。
    AWS Application Migration Service迁移架构图:

    迁移方案

    服务器系统迁移步骤

    1. 创建暂存子网,作为源服务器复制到AWS的数据暂存区,暂存子网中的复制服务器安全组需要开启TCP端口443将数据发送到应用迁移服务API端点
    2. 创建IAM用户,授权新用户钩选通过API访问AWS,下载AWS KeyID及密钥
    3. 设置复制服务器模版,子网选择上述创建的暂存区子网,复制实例类型,安全组,是否采用VPN
    4. 设置源服务器模版
    5. 设置模板进行恢复
    6. 进行数据复制
    7. 运行测试实例

    数据库迁移步骤

    1. 当创建一个database instance时, 下面会实际去创建一个EC2 instance,并安装相应的操作系统和数据库引擎,所以选择DB Instance class很重要。
    2. 为了保证数据的安全性、强的可用性和持久性。 三个重要的特性:备份、恢复、多可用区域部署,只读副本。
    3. 如果打开多可用区域部署,它将会在同一个region里的另一个可用区创建一个副本,一旦当前的数据库goes down, RDS 将会自动failover(故障转移) the instance in the other availability ,减少了down time。
    4. 只读副本:通常不会用在生产环境,它采用异步复制,即最终一致性,它主要用于数据库的查询。不会用于failover(故障转移)。

    数据引擎选型

    AWS提供了托管基于MySQL,Oracle,PostgreSQL等关系型数据库服务,支持原先基于这些数据库的数据快速迁移到云上。同时,AWS还提供了云原生关系型数据Aurora,兼容MySQL和PostgreSQL协议,为用户直接上云提供了更多了选择。

    传统数据库遇到的问题

    Amazon在日常开发和维护中发现,计算能力和存储性能已经不再是其工作的瓶颈了,取而代之的是网络的流量。其实对于Amazon来说,只要有钱,CPU能用最好的就能解决计算能力的问题,机械硬盘不够用固态硬盘,固态硬盘不够就上内存,存储性能也解决了,但是网络的延迟靠大带宽是很难解决的,而拉近机房位置也是有上限的,必须要从业务逻辑和服务组件上找问题。所以他们发现了MySQL在分布式系统中消耗了大量的流量,还提高了延迟。具体如下图所示

    计算和存储分离

    Aurora用WAL也就是Log来整合所有有用的信息并删去无用的信息,既减少了数据传输量又保证了需要保留的信息。同时,他们使用了链式复制结构代替主从结构,简化了保证数据一致性的复杂度。具体架构如下图所示
    以三个副本为例,当位于AZ1的主节点收到写请求后,它将请求的相关数据直接写入六个存储节点中,然后,将数据和一些额外的信息通过链式复制结构传递给位于AZ2和AZ3其他节点。和上图进行对比,明显可以看到主从节点之间网络通信中传输的数据减少了,主节点向存储节点写入数据时也从五种数据变为一种。这里要特别指出的是,此处的数据已经从MySQ定义的Log变为Amazon为Aurora量身定制的Log。由于需要传输数据量的减少,同步所消耗的网络带宽也大幅地减少了。
    另外,因为主节点负责将Log写入存储节点,而从节点仅存储Log不需要负责写入存储节点,这样就减少了在MySQL中额外的第四步和第五步操作的时间。而MySQL中的两级EBS存储操作也由一级Quorum的代替,就像上一篇文章提到的,两级存储的时间是两次操作的时间之和,而一级的Quorum操作的时间则是取决于Quorum中最长的应答时间。这样,Aurora也优化了应答延迟的时间。

    迁移概述

    • AWS Database Migration Service (AWS DMS) 是一项云服务,可轻松迁移关系数据库、数据仓库、NoSQL 数据库及其他类型的数据存储。您可以使用 AWS DMS 将数据迁移到 AWS 云,在本地实例之间(通过 AWS 云设置)进行迁移,或者在云与本地设置的组合之间进行迁移。
    • 利用 AWS DMS,可以执行一次性迁移,而且可以复制持续更改以保持源和目标同步。如果要更改数据库引擎,可以使用 AWS Schema Conversion Tool (AWS SCT) 将数据库架构转移到新平台。然后,可以使用 AWS DMS 迁移数据。由于 AWS DMS 是 AWS 云的一部分,您将获得 AWS 服务提供的成本效益、上市速度、安全性与灵活性
    • DMS通过复制实例,配置源和目标终端节点以及复制任务,可在一站式界面管理帮助客户实现数据库迁移。在数据库的迁移过程中,我们也发现了以下几个问题:
      • 任务分解导致网络带宽占满
      • 不支持断点续传
      • 数据校验缺少灵活性
    为此,依托DMS作为数据库迁移主的基础上,也借助开源工具mydumper/myloader和sync-diff-inspector并结合DMS解决MySQL同构数据库迁移中需要解决的一系列问题。
    AWS DMS AWS Database Migration Service (AWS DMS) 是一项云服务,可轻松迁移关系数据库、数据仓库、NoSQL 数据库及其他类型的数据存储。您可以使用 AWS DMS 将数据迁移到 AWS 云,在本地实例之间(通过 AWS 云设置)进行迁移,或者在云与本地设置的组合之间进行迁移。
    利用 AWS DMS,可以执行一次性迁移,而且可以复制持续更改以保持源和目标同步。如果要更改数据库引擎,可以使用 AWS Schema Conversion Tool (AWS SCT) 将数据库架构转移到新平台。然后,可以使用 AWS DMS 迁移数据。由于 AWS DMS 是 AWS 云的一部分,您将获得 AWS 服务提供的成本效益、上市速度、安全性与灵活性。
    AWS DMS迁移3种模式:
    • full load 完全加载,需要停机,等待源数据库将数据加载到目标数据库
    • full load+CDC 完全加载+持续更新,先完全把源数据库中数据加载到目标数据库,在加载过程中出现的数据更新缓存到复制实例的内存中,也可能会保存到复制实例的磁盘中。
    • Only CDC 同构数据库中采用原厂自带的迁移备份工具,仅迁移时间节点之后的更新采用CDC同步到目标库中。
    实施迁移流程:
    • 配置系统架构
    • 资源配置(DMS复制实例,DMS源和目标节点,EC2复制实例,RDS/Aurora MySQL)
    • 源和目标端网络配置(VPC,子网,Direct Connect/VPN,安全组)
    • 数据库配置(源数据库主从配置,目标端数据库参数配置等)
    • 源和目标端所需MySQL用户权限
    • 数据库全备
    • 全量导出检查
    • 全量导入和数据一致性校验
    • 配置DMS迁移任务开始节点同步数据
    • 打开CloudWatch监控
    项目中涉及文档数据库由于AWS 香港region暂时不支持托管DocumentDB本次采用自建MongoDB进行部署,部署三节点一主两从模式。后续优化推荐客户将文档型数据库存储到AWS DynamoDB中。原架构中在阿里云也是自建MongoDB方式部署,使用三节点一主两从模式,本次复制采用MongoDB主从复制功能,在AWS架构中创建三个从节点,通过vpn链路数据库主从复制机制将数据完成同步到AWS直到切换结束。
    项目收益

    项目收益

    新太云服实施团队在项目执行过程严格按照项目管理计划所执行,最终按照客户预期完成一期迁移项目。
    AWS多年来的行业经验能够满足游戏企业在国内和全球化部署时更高的安全合规要求。同时,AWS平台能够灵活地选择资源的购买方式,动态调整使用资源,可以满足某些资源用量突增或者临时需要快速对服务器升配的需求;并且在存储、带宽以及成本优化方面帮助用户节约成本。总结收益为以下几点:
    • 成本优势。AWS的云服务定价更加灵活和优惠,特别是对于大容量和高配置的用户。迁移到AWS可以降低整体基础设施成本,提高运营效率
    • 更丰富的服务。AWS提供超过165种云服务,涵盖计算、存储、数据库、网络、分析、机器学习、物联网等领域。
    • 更高的安全性。AWS作为全球公认的云服务安全领导者,在数据保护、网络安全、风险管理等方面具备更强的技术实力和丰富的经验。迁移到AWS可以更好保障电商平台业务的安全稳定运行
    • 更优的业务连续性。AWS可提供跨区域的业务持续性解决方案,确保业务在区域间快速恢复和中断迁移,最大限度减少对终端用户的影响
    • 更丰富的合作伙伴。AWS丰富的合作伙伴生态系统,可以为电商平台提供各类应用程序、工具软件和服务。这有利于平台拓展第三方服务,丰富用户体验。
    «
    »
以专业成就每一位客户,让企业IT只为效果和安全买单

以专业成就每一位客户,让企业IT只为效果和安全买单