Corgex Group
Corgex Group
科杰斯集团主要客户位于海外。公司有经营电子商务板块业务及广告投放业务的业务,旨在为客户提供便捷、快速的折扣点券在线兑换体验,使消费者能够以更加低廉的价格享受到相关的产品及服务;并通过在点券兑换平台承接一部分广告投放业务,增加公司的营收渠道。
在与AWG技术团队接触之前,Corgex的现有系统有如下问题:
1、性能与稳定性:目前客户服务部署在本地托管的IDC和其他云厂商上,当遇到稳定性问题时,其应用和数据库的抗压能力明显不足,无法应对用户日益增长的并发访问需求。用户现在使用的多种数据库及数据库架构需要转换为AWS支持的数据库类型,需要配置DMS迁移数据库包含 Polar DB, Mongo DB, CloudSQL等,并且需要针对无法迁移的系统库手动配置,例如数据库账号。
2、有大量私有域名用于程序之间的连接。
3、网络延迟:用户在访问平台时延迟较高,经常会接到关于平台打开缓慢的投诉,影响用户体验。
4、迁移问题:测试和生产资源分布IDC和阿里云环境中,迁移需要有多云环境的技术专家支持以保障业务安全迁移上云,并且合理规划云上架构。
5、成本管理:客户资源部署在本地IDC和多云环境下,客户支出成本较高,希望迁移上云后能合理降低资源成本。
6、安全问题:客户在云上管理不规范,导致客户技术将AKSK泄漏到Github,以及本该是私有对象存储设置成了可以公网访问等安全问题。客户希望我们通过提供相关解决方案保护云上安全。
7、监控问题:多云环境下,监控指标及告警通知难以统一。监控日志复杂且监控数据量大,难以提供全局主机、数据库、网络、应用性能等统一监控视图,以便高层作决策。
8、故障处理:客户技术对于公有云认知较浅,当出现重大和紧急的故障和事情时,不能及时有效地处理问题。
基于客户的业务诉求,AWG团队重新设计了基于AWS的业务架构:
- 基础架构设计:
网络设计
生产环境规划多可用区,四层子网架构设计(包括:公网子网、应用私有子网、K8S私有子网、数据库子网)。在公网部署ELB实现流量传输到运行状况良好的目标,同时需要配合CDN对访问资源进行加速。将EKS业务系统、RDS和ElastiCache部署在私网中,实现系统的安全和高可用。
通过部署DNS Forward服务(EC2)配置域名转发策略实现AWS云上业务可以通过域名访问ALI、IDC等环境,实现跨云间业务间通信。
通过部署Proxy或者飞塔服务(EC2)配置网络出网策略并保留出网日志。实现云上服务出网行为可控可查。
基础服务选型设计
由于涉及到微服务场景,所以选取了Graviton2 类型的M6g/M6gd 实例。因为该类型服务器适用于微服务,数据库等场景下服务。
- 数据存储设计:
基于服务背景提供存储设计
- 持久化存储:对象存储S3和EBS。
- 非结构化数据:由于业务中存在非结构化数据(如位置 、属性、状态等),所以选择非关系型数据库DocumentDB来存储。
- 关系型数据库:由于在本地使用了关系型数据库保存用户数据,所以在AWS上需要RDS for MySQL 。
- 缓存数据库:由于在本地使用了缓存数据库Redis,所以在AWS上需要ElastiCache for Redis。
- 网络安全设计:
- 账户安全:在公有云账号公有子网配置部署运维跳板机,仅允许企业公网固定IP访问,同时接入AWS创建的用户。根据团队成员工作范围使用IAM创建用户组和用户,附加角色设置访问策略,所有用户启用MFA,提高账号安全性。账号按业务域属性规划,生产与测试环境账号分离,共用预生产环境账号。
- 网络安全:公有子网提供AWS WAF服务能够阻止恶意流量攻击,同时AWS CloudFront、Elastic Load Balancing (ELB)等服务给应用提供最大程度的保护;网络层可使用ACL策略开启黑白名单保护应用安全;EC2主机层可使用安全组配置策略,只开启必要网络端口,严禁限制入站网络子网范围。
- 数据安全:数据库资源(如ElastiCache、RDS)部署在独立私有子网,只允许私网应用程序访问,不允许外网直接访问,保障客户VPC网络访问安全。
- SCP权限边界:在Organizations 上针对OU附加针对用户基础设施的SCP策略,用于管控用户执行的危险操作,例如:删除角色、用户、VPC、Subnet、Backup 策略、审计等。
- 统一监控设计:
- 资源监控:结合Lambda,采用AWS CloudWatch 监控资源,收集和跟踪EC2、ElastiCache、S3和EKS等指标,同时可结合部署或使用AWS的Pormethes服务收集自定义监控指标以满足应用的特定监控需求。使用AWS Managed Grafana服务可按监控需求定制看板,集中采集各区域的Promethes监控指标,实现监控数据可分析、报表和大屏视图管理等功能。
- 操作审计:通过 AWS CloudTrail 实现 AWS 环境中记录的审计日志服务。并且基于Landing Zone理念设置审计日志,投递到审计账号下。此操作需要结合SCP策略管控删除投递动作。
- 日志收集与报警设计:
通过结合Amazon OpenSearch、Lambda、S3和SNS服务,构建一个完整的日志告警解决方案。将应用和集群日志存储到S3中,通过OpenSearch集群对S3日志进行分板,编写Lambda函数处理日志并发送告警通知。
- Backup备份:
- 通过Backup 提供的一种集中化的备份服务对资源进行备份。实现备份集中化管理、自动化备份,AWS Backup支持AWS Organizations,可以防止账户级别的备份数据删除。S3存储桶启用版本控制,用于恢复因意外删除或覆盖操作而失去的数据。