贵林客交易平台迁移

贵州林客科技有限公司
贵州林客科技有限公司是一家互联网科技公司,主要提供定制类开发服务。核心产品有网约车平台 & 海内外电商系统。客户不同业务根据业主方要求部署在不同的云平台,其中,海外区块链项目部署在谷歌云。AWS专业全面的技术支撑与贵阳本地化服务团队尤其是快速响应与解决问题的能力比谷歌云更具优势。本次项目计划将谷歌云上的区块链平台整体迁移到aws东京region。
现在根据实施计划,需要对GCP云上的容器集群、虚拟机、对象存储、条目、托管数据库、托管PostgreSQL数据库、托管Mysql数据库,通过不同的迁移工具CloudEndure/Amazon SMS/Amazon DMS/Data 进行数据迁移和虚拟机迁移。
项目预期
AWS云服务期望
在本次项目中,客户业务系统所在区域受安全合规、成本优化需将业务系统快速从GCP迁移亚马逊云中,从而解决相关问题。但客户对亚马逊云服务技术了解程度不够,需要专业的亚马逊云技术支持,将业务迁移至亚马逊云。 其中亚马逊云为了帮助客户规划设计好迁移工作安排,邀请了伟仕佳杰团队负责项目的“计划阶段”和“设计阶段”工作内容,帮助客户规划与制定迁移流程、解决方案、成本评估、以及技术人员配合协调,并组织会议,沟通解答2个阶段中客户提出的问题,并加快推动迁移工作内容,同时通过合理的云上业务架构设计,保障客户系统上云后的高可用性和数据安全性。 另外亚马逊云拥有完善强大的基础服务体系,例如EC2,存储,网络,数据库,安全和计费管理服务等。尤其在公有云领域具有很大的优势,能大面积覆盖普遍大多数企业的要求。 例如CloudFront可加快分发静态和动态Web内容的过程,提供低延迟和高性能的全球边缘站点网络交付相应内容。使用WAF和Shield提高流量访问和网站安全,防止恶意攻击。使用RDS和Redis,使得用户能在云中轻松设置、操作和扩展数据库,提供经济有效的数据库。而且,监控系统的搭建在亚马逊云平台也是非常方便的。 其中,在数据库迁移方面,使用亚马逊云工具,集成亚马逊云服务,提高迁移效率和准确性,能加快客户业务系统应用的部署调配。最后,优化框架,提高架构的高可用性、可靠性和灵活性,最终实现整个项目的落地。
网络规划
在解决方案设计过程中AWS 架构完善的框架,给我们指明了确保工作负载架构设计符合最佳实践的关键元素。架构完善的框架还定义了一系列一般性设计原则,帮助我们为客户构建良好的分析应用程序云端设计。AWS 架构完善的框架建立在卓越运营、安全性、可靠性、性能效率和成本优化的基础上。对于分析工作负载和环境,AWS 提供了多个核心组件,可以为客户设计可靠的架构。参考AWS架构最佳实践,帮助客户构建云上网络方案。

应用整体架构规划
1.所有外部访问通过CDN全球加速转发到ELB,ELB作为EKS ingress流量入站点。将入站流量转发到Node节点中。
2.EKS Node节点主要应用容器订单中心,撮合交易引擎,行情服务,钱包。
3.CI/CD使用Jenkins和Gitlab实现,镜像仓库使用Amazon ECR存储镜像
4.EKS系统日志采用Prometheus进行采集,通过Grafana对日志进行展示,应用日志通过EFK进行日志分析,Elasticsearch 版本7.17 Kibana进行日志展示。
5.数据库采用RDS for MySQL,版本8.0,MySQL主要存储用户数据,身份信息等关系型数据,钱包信息,数据量大约4T。
6.中间件MSK,Elasticache
7.对象存储5T,主要是数据平台数据,需要将这部分数据迁移到AWS S3中。

迁移工作说明
数据库迁移
MySQL数据迁移采用AWS DMS工具,AWS DMS AWS Database Migration Service (AWS DMS) 是一项云服务,可轻松迁移关系数据库、数据仓库、NoSQL 数据库及其他类型的数据存储。您可以使用 AWS DMS 将数据迁移到 AWS 云,在本地实例之间(通过 AWS 云设置)进行迁移,或者在云与本地设置的组合之间进行迁移。 利用 AWS DMS,可以执行一次性迁移,而且可以复制持续更改以保持源和目标同步。可以使用 AWS DMS 迁移数据。由于 AWS DMS 是 AWS 云的一部分,您将获得 AWS 服务提供的成本效益、上市速度、安全性与灵活性。 迁移采用全备+增量+持续复制的模式进行备份,全备采用MySQL自带的备份工具如mysqldump或者mydumper备份业务库,记录binlog日志点,增量部分使用DMS通过binlog日志点开始持续复制,一直保持到业务切换测试完成。

Elasticsearch迁移架构图
采用ES自带的快照备份和恢复对原ES进行迁移,新环境版本和原环境一致,创建IAM获取AK/SK同时创建一个存储桶,使用该存储桶做为ES快照存储库。通过ES手动创建快照或者SLM策略进行快照创建,快照创建完成之后,通过该快照在AWS中恢复数据。

对象存储迁移
数据传输解决方案(Data Transfer Hub)为 Amazon Simple Storage Service(Amazon S3)对象和 Amazon Elastic Container Registry(Amazon ECR)镜像提供安全、可扩展和可跟踪的数据传输。将数据从其他云服务提供商的对象存储服务(包括阿里云OSS、腾讯COS和七牛Kodo)传输到Amazon S3。 Data Transfer Hub 中的每一种数据类型都对应于一个独立插件,这些插件通过 CloudFormation 打包,托管于统一的 S3 存储桶中。当用户在前端界面创建传输任务后,Lambda 将自动触发 CloudFormation 以开始创建传输任务所需要的资源。所有任务及任务的状态都存储在 DynamoDB 表中。