如何使用CDN加速,解决校园的校庆视频播放问题
第1章 现状调研
某中小型学院的上云前的情况,有2台服务器来部署官方网站,并通过负载均衡技术确保网站的高可用性。每台服务器配置为4核8GB内存,配备500GB磁盘。有一服务器做MySQL数据库(4C8G)存储,约使用了350G数据,用于存储教师、学生、图书馆等信息,并在其Redis作为缓存以提高访问速度。同时,服务器也物理存储常用的数据,如视频和图片。网站、数据库和静态资源都会进行两份本地备份,以确保数据安全。在招生、期末考试、成绩发布、校庆等高峰期间,网站的并发用户可能会达到50至500人。网站中存储了大量的学习资源,包括约3TB的学习视频和PDF文件。为了确保全国各地的学生在访问这些学习资源时不会出现卡顿,网站需要能够顺畅地读取视频和图片等资源。
IDC中心的资源不足以满足官网的业务运行,迁移业务上云是一个很好的数字化转型的机会;可以充分使用云上的产品对业务进行弹性扩展,做到降本增效的效果。以及,网站偶有黑客进行攻击,致使服务不稳定,为了提高服务的安全性,在安全性方面,阿里云有大量的数据能够帮助客户更好的应对互联网上的攻击。
第2章 云上架构设计
2.1 产品选型
2.1.1 基础设备
ECS:4C8G,系统盘500G、ESSD;
MySQL:4C8G,集群版,RDS支持自动全备,本地备份免费额度(云盘,200%;本地盘50%),不需要再使用OSS等的产品做备份了。同时,如果也可以做异地备份(流量费用和存储费用);
Redis:分片两片,各1GB;
OSS:存储学习视频、网站的静态数据等,以及ECS的快照备份等5TB。
2.1.2 网络设备
CDN:解决跨地域跨运营商网络性能问题,提供稳定快速的加速服务,遍布全球的加速节点,全球或出海业务均可获益,面向开发者的生态可自定义加速逻辑,提升用户体验。在本架构中按照一天10000次的HTTPS请求次数,让高峰期和平常对摊,一年就是4亿请求次数;以及下行流量;
EIP:是可以独立购买和持有的公网IP地址资源,在本架构中使用按流量收费,不使用固定带宽;
NAT:可以提供网络地址转换服务,通过转换和隐藏云服务地址,防止地址直接暴露,实现安全访问互联网,提升网络安全性。公网NAT网关还具有自动弹性、高性能、高可用、灵活计费等特性,可以帮助您更好地管理公网访问流量ECS;
SLB:负载均衡是对云上流量进行按需分发的服务。通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升应用系统的可用性;
ESS:其能根据您设定的策略自动调整计算资源数量(即业务所需的实例数量),帮助您应对业务流量波动的同时,提高资源利用率,有效降低成本。
2.1.3 安全设备
WAF:对业务流量进行恶意特征识别及防护,将正常、安全的流量回源到服务器,避免网站服务器被恶意入侵,保障业务的核心数据安全;支持对web应用防护,支持对常见的Web应用攻击防护、CC恶意攻击防护、精准访问控制等等。
云安全中心:涵盖网络层、主机层、应用层的安全纵深防护体系,包括网络入侵防护、主机入侵防护、Web应用防护、Web漏洞检测、木马检测等完整的安全防护。云安全中心是一款集持续监测、深度防御、全面分析、快速响应能力于一体的云上安全管理平台。基于云原生架构优势,提供云上资产管理、配置核查、主动防御、安全加固、云产品配置评估和安全可视化等能力,可有效发现和阻止病毒传播、黑客攻击、勒索加密、漏洞利用、AK泄漏等风险事件,帮助您实现一体化、自动化的安全运营闭环,保护多云环境下的主机、容器、虚拟机等工作负载安全性,同时满足监管合规要求;
SSL证书:提供数据HTTPS加密协议访问,保障数据的安全,数字证书管理服务集云上SSL证书生命周期管理和数字证书应用为一体的SAAS服务。该服务具备签发、管理服务器证书和各类终端证书的能力,同时提供云上证书自动化应用部署的解决方案,便于客户轻松实现数据传输加密和信源加密,保障数据安全。有着即开即用、一站式监控、提升运维效率、灵活报警等的优势。
2.1.4 运维设备
堡垒机:运维安全中心(堡垒机)是阿里云提供的运维和安全审计管控平台,可集中管理运维权限,全程管控操作行为,实时还原运维场景,保障运维行为身份可鉴别、权限可管控、操作可审计,解决资产多难管理、运维职责权限不清晰以及运维事件难追溯等问题, 助力企业满足等保合规需求。
云监控(CloudMonitor)是一项针对阿里云资源和互联网应用进行监控的服务。云监控为云上用户提供开箱即用的企业级开放型一站式监控解决方案。云监控涵盖IT设施基础监控和外网网络质量拨测监控,是基于事件、自定义指标和日志的业务监控,为您全方位提供更高效、全面、省钱的监控服务。使用云监控,不但可以帮助您提升系统服务可用时长,还可以降低企业IT运维监控成本。
云监控通过提供跨云服务和跨地域的应用分组管理模型和报警模板,帮助您快速构建支持几十种云服务、管理数万实例的高效监控报警管理体系。云监控用于监控各云服务资源的监控指标,探测云服务ECS和运营商站点的可用性,并针对指定监控指标设置报警。使您全面了解阿里云上资源的使用情况和业务运行状况,并及时对故障资源进行处理,保证业务正常运行。
2.1.5 IDC中架构及其网络
IDC中心的业务架构图:
图2.1-1 **架构图**
IDC中心的设备与IP地址映射表:
表2.1-1 IP**地址**
设备 | IP |
---|---|
官网01 | 192.168.0.20/24 |
官网02 | 192.168.0.21/24 |
Redis | 192.168.0.22/24 |
MySQL | 192.168.0.23/24 |
2.2 云上架构设计
将高校官方网站及其后台交互的数据库迁移至云端并搭建网站高可用,学校视频等资源上传至云存储内,使用CDN静态资源加速OSS,提高资源访问速度。并搭建相应的安全设备,防护官方网站受到攻击。
2.2.1 架构图及其网络
规划线上网络架构图:
图2.2-1 架构图
设备与IP的映射:
表2.2-1
设备 | 可用区(同一VPC) | IP |
---|---|---|
官网01 | 可用区H | 172.16.0.20/24 |
Redis-主 | ||
MySQL-主 | ||
官网02 | 可用区G | 172.16.1.20/24 |
Redis-备 | ||
MySQL-备 | ||
NAT | 可用区J |
2.2.2 描述
基础架构:
应用部署中采用多可用区的高可用架构,更安全,单机房故障可以无缝切换,跨机房内网连接稳定。
网络:
使用阿里云的VPC服务,在VPC内部建立两个虚拟交换机,不同可用区部署环境实现高可用。
业务访问需通过SLB,SLB带宽按量计费,将网站的外部访问分发到应用集群上,且VPC内的应用服务器无公网IP,避免公网暴露被恶意攻击。
在内部需要访问外网时,通过NAT地址转换访问外网。
使用OSS保存学校校庆视频以及学习视频、文档,配合CDN加速用户访问相关静态资源。
安全**:**
WAF对网站的业务流量进行恶意特征的识别和防护,在进行对流量的清洗和处理后,将正常、安全的流量返回给服务器,避免网站服务器被恶意入侵导致性能异常问题。
云安全中心(态势感知)是对主机层面的防御,通过在服务器上安装Agent并与云端防护中心协同工作,监控服务器内部的活动,如可疑文件、进程、异常连接、漏洞、基线合规等功能特色提供包括漏洞管理与修复、防病毒防勒索、入侵防御与检测、日志审计与合规等综合安全服务特别强调对容器环境的支持。
SSL证书保证数据传输安全。
运维:
堡垒机:运维统一入口,易于管理;身份双因子认证,防止非法用户窃取账号密码;权限细粒度划分,最小权限化;可以溯源审计。
云监控:自动获取各云产品的资源信息,如云服务器,数据库,负载均衡等,提供监控项的运行状态和指标使用情况这有助于用户实时了解资源健康状况;对于ECS可监控CPU使用率、内存使用率、磁盘使用率等关键性能指标,确保主机稳定运行;并可以根据云监控的数据设置报警规则,当数据达到设置的阈值云监控会自动发送报警通知,使用户可以迅速得知异常等等。
备份恢复:
ECS的系统盘与数据盘均支持快照功能,使用自动快照策略,备份数据自动保存至OSS,能够通过快照实现系统或数据的回滚操作。OSS数据设计持久性最高可达99.9999999999%(12个9)。
对于MySQL和Redis等数据库系统,采用DBS创建备份计划作备份到OSS。DBS支持按需恢复到任意时间点,包括单库恢复和细粒度备份,有助于降低RTO(恢复时间目标)。RDS、Redis通过结合自身默认备份机制与DBS服务,能够实现数据的自动全量+增量备份,并且支持备份数据直接或间接存储至OSS,确保数据安全、高效地管理和恢复。
使用云备份服务为OSS进行备份,确保数据的安全与可恢复性。
备份:ECS、OSS、等都需要备份,备份流程。waf怎么配,源站,CDN和WAF怎么配,CDN的源站怎么配,云安全中心怎么用他呢,堡垒机怎么去?
2.3 云资源预算
对于云资源价格估算:
表2.3-1
产品 | 数量 | 规格 | 价格(年) |
---|---|---|---|
ECS云服务器 | 2 | 规格:4核8G 实例规格:ecs.u1-c1m2.xlarge 磁盘:120G系统盘+400G数据盘 ESSD 4218.10*2—>3581.76 | 8436.2 |
SLB | 1 | 简约型I(slb.s1.small) 按使用流量计费+后付费 | |
NAT | 1 | 按量付费+后付费 | |
ESS | 1 | 弹性伸缩 | |
云监控 | 1 | 云监控 | 0.00 |
MySQL | 1 | 规格:4核8G 高可用系列标准版 实例规格:mysql.n2.large.2c 存储:500G | 12542.40 |
Redis | 1 | Redis云原生 Redis6.0社区版 集群版 实例规格:2 GB集群版(共2分片,每分片1GB) | 3,459.84 |
OSS | 1 | 标准本地冗余存储 存储:5TB | 4977 |
CDN | 1 | 下行流量:100TB 10亿请求次数 5950*2+3200 | 15100 |
WAF | 1 | 高级版 日志:3TB | 54876 |
堡垒机 | 1 | 企业双擎版 资产数:50资产 | 37800 |
云安全中心 | 1 | 高级版 保有服务器台数:2台 防勒索病毒:100G 日志分析:80G | 1938 |
SSL证书 | 1 | OV证书 通配符域名 品牌:GeoTrust | 4704 |
合计 | 142,389.6 |
第3章 迁移方案设计
3.1 需求分析
为顺应企业数字化转型的战略,客户计划将官方网站从本地IDC迁移到阿里云。
3.2 需求梳理
(1) 两台官方网站服务器计划迁移上云。
(2) 数据库计划迁移上云。
(3) 存储数据迁移至**OSS**。
3.3 方案流程
业务调研——->迁移方案设计——->关键方案POC——->迁移方案制定——->业务迁移——->上线保障
3.4 迁移工具及配置流程
3.4.1 组件迁移方案
服务器迁移:
服务器迁移中心(SMC):是阿里云提供给您的迁移平台。专注于提供能力普惠、体验一致、效率至上的迁移服务,满足您在阿里云的迁移需求。支持多种迁移方式和迁移源头,有着以下的特点:
Ÿ 高度成熟化,支持多平台、多环境迁移 Ÿ 高度自动化,释放人工 Ÿ 简单操作即可执行迁移,迁移过程中可完全无人值守,自动化完成,迁移进度支持在控制台或API中查询。 Ÿ 高度智能化,自动修复与验证 Ÿ 迁移前自动检测并自动提供修复方案,迁移后,可一键验证迁移结果迁移**ECS步骤-SMC**:
Ÿ 在账号中提前创建安全组,配置安全组规则。 Ÿ 在ECS内安装SMS-Agent,并启动Agent配置AK。 Ÿ 在阿里云账号下配置目标端服务器,目标服务器配置与本地服务器配置相同或性价比更优。 Ÿ 配置VPC专有网络中VSW交换机,安全组,私网IP等配置。 Ÿ 登录ECS查看系统以及应用正常与否,数据数量大小等是否正常。数据库迁移:
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,支持关系型数据库(RDBMS)、非关系型的数据库(NoSQL)、数据多维分析(OLAP)等数据源间的数据交互,集数据同步、迁移、订阅、集成、加工于一体,助您构建安全、可扩展、高可用的数据架构。支持RDBMS、NoSQL、OLAP等多种数据源之间的数据传输。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输方式。相对于第三方数据流工具,DTS为您提供功能更丰富、传输性能更强、易用性更高且安全可靠的服务,帮助您简化复杂的数据交互工作,专注于上层的业务开发。
支持不停机迁移、数据异地灾备、异地多活、加速全球化业务访问速度、助力快速搭建定制化BI系统、轻量级缓存更新策略业务、异步解耦、横向扩展读能力等的多种典型应用场景。
RDS for **MySQL、Redis数据迁移-DTS**:
Ÿ 在账号下创建 RDS/Redis。主可用区:××区,备用可用区:××区,达到同地域跨机房高可用。 Ÿ 创建 DTS 任务,进行全量与增量迁移工作,确保将数据迁移到新实例完整无差别。 Ÿ 客户授权后,进行新建数据库账号信息与白名单操作,与本地数据库保持一致。 Ÿ 连接测试,检查数据库反馈是否正常。图3.4-1
图3.4-2
上述操作,将与客户确认好非业务时间,安排专职的专家级阿里云运维工程师,不同职责主备协同监督实施。
3.4.2 配置流程
Ÿ ICP备案 Ÿ 创建VPC,交换机 Ÿ 使用SMC迁移服务器镜像,并用镜像创建ECS实例 Ÿ 购买MySQL、Redis Ÿ 使用DTS全量加增量迁移MySQL、Redis Ÿ 配置安全组,测试连通性 Ÿ 将视频等资源ossutil通过工具上传至OSS Ÿ 配置NAT Ÿ 购买SSL证书,配置配置负载均衡并绑定SSL证书 Ÿ 配置WAF,并在DNS添加CNAME Ÿ 配置CDN,添加两条加速域名;修改DNS的CNAME记录,修改默认回源地址为在配置WAF时所得的CNAME记录值,在官网域名加速的HTTPS配置中添加SSL证书 Ÿ 购买云安全中心,堡垒机 Ÿ 配置弹性伸缩 Ÿ 备份 Ÿ 配置DNS解析第4章 迁移实施
4.1 账号体系
为了预先做好后续云资源和应用系统上云的准备工作,应先在主账号下设立RAM子账号,定义授权范围明确的RAM角色,为用户组及RAM子账号分配相应的访问控制策略。
Ÿ 在主账号进行资源管理,根据不同的业务创建不同的资源组,先将创建的所有官网使用到的产品加入官网资源组; Ÿ 根据官网业务创建财务单元,便于业务管账; Ÿ 创建RAM子账户、用户组、角色,将RAM账号按照资源组授予权限,将RAM账号根据应用划分用户组。4.2 配置网络
创建VPC时鉴于主要用户群体集中于华东1区域,选择杭州确保网络访问的低延迟与高可用性。当前在自有IDC机房内已部署了192.168.0.0/16网络地址段,为避免潜在的地址冲突及简化网络管理,云上使用172.16.0.0/20作为VPC内的网段。此网段不仅规避了与现有网络架构的冲突,还充分考虑了未来的可扩展性。通过预留足够的IP地址空间,为日后可能上云的其他业务或应用预留了充足的网络资源,确保在业务快速发展时能够无缝扩展,无需因网络地址耗尽而受阻。
交换机创建时可用区的选择,根据即将创建的相关资源来判断选定可用区来创建交换机。但实际是否可以创建资源,具体情况是否能够创建也需要根据售卖页来判断。我们选择了G可用区和H可用区作为实践。在选择可用区时,有着H/G/I/J/K等。为了确定最合适的可用区,依据即将在该区域创建的相关资源需求进行了综合评估。关于实际能否在可用区成功创建资源,仍需参考官方售卖页面的最新信息来确认。基于这一流程,我们最终选定了G可用区和H可用区作为我们的实践区域,以确保资源部署的顺利进行。
VPC**:**
图4.2-1 创建**vpc**
VSwitch:
图4.2-2 创建交换机
4.3 迁移
通过SMC方案将线下服务器迁移至阿里云为云服务器镜像,并使用镜像创建ECS实例
对于待迁移的**IDC中心的服务器进行迁移前备份:**
对数据盘和系统盘在本地进行快照备份用于快速恢复,并对某个时间的快照用准确清晰的名字命名;对IDC服务器的数据盘和系统盘使用备份工具生成合适的格式上传至OSS、物理盘、NAS等存储;使用快照测试回滚是否可以成功,在进行回滚前同时再次创建当时的快照;若快照回滚失败,将当前系统盘的数据进行备份,并将前一份快照转为自定义镜像,通过更换系统盘的方式恢复实例,再将数据盘快照转为云盘,重新挂载至实例上。在安全的测试环境中,将系统盘的备份转为镜像进行部署系统并将系统盘的备份转为云盘重新挂载至实例上;会在迁移的过程中,准备好迁移计划,业务中断会迅速恢复减少业务中断的时间。
迁移步骤:
迁入源:线下IDC中的服务器,迁移类型选择物理机/虚拟机;导入方式有控制台导入、命令行导入、客户端导入。控制台导入简化操作,操作直观简便;命令行导入适合自动化和批量处理;客户端导入则提供了高度的灵活性和定制性。在本次项目中采用命令行导入方式。将生成的激活码复制粘贴至服务器,出现“Import Source Server [s-bp16zfoljido48jnud8f] Successfully!”信息表示导入迁移源成功。
迁移为云服务镜像,通过镜像快速创建具有相同配置的新实例。利用同一镜像创建多个实例,保证环境一致性用于替换已有实例的操作系统盘。
ECS中付费类型选择包年包月更加优惠;网络选择vpc中的可用区G/H;实例规格根据IDC中心使用的规格配置4C8G,依据IDC中磁盘规格迁云时使用系统盘120G数据盘400GESSD盘能满足网站的需求;镜像选择由SMC迁移到杭州区域的自定义镜像;密码是选择自定义密码或者密钥对,根据对安全性的要求和运维效率建议选择密钥对,在实践中为了便宜选择自定义密码;
并购买两台ECS,一台在G可用区,一台在H可用区,配合后续实现负载均衡。
1.导入迁入源图4.3-1 导入迁移源**在物理机中配置**
2.创建迁移任务,迁移为云服务器实例或者云服务器镜像表4.3-1 创建迁移任务
3.迁移成功后,根据自定义镜像创建ECS实例表4.3-2 创建**ECS实例**
4.4 创建数据库
MySQL**:**
Ÿ 版本:依据在IDC中使用MySQL8.0版本,且没有大量的读写,故而选择RDS MySQL8.0作为数据库引擎; Ÿ 产品系列:依据对于容灾的要求选择高可用系列标准版,其中标准版使用了X86架构,支持更大的容量和更丰富的规格族,为企业提供高安全、高稳定、高性能的数据库服务。 Ÿ 存储类型:通用云盘的IO性能等可以满足需求,故选择通用云盘作为存储类型,并在根据IDC中的数据库存储350G的数据,为了更好的冗余扩展选择存储空间设定为500G; Ÿ 部署:根据ECS的部署搭配实现高可用系列选择主可用区G备可用区H; Ÿ 实例规格:IDC中心的MySQL服务器使用4C8G的规格能够正常稳健的运行MySQL,故选择mysql.n2.large.2c的实例规格;在创建的RDS MySQL实例中创建账号wp以及密码,账号密码可以选择自定义。
Redis:
Ÿ 部署模式:选择云原生实例,此相比于传统实例架构更加灵活,扩容速度更快,对业务影响更小,实例扩容无闪断; Ÿ 系列:使用标准版,相比于倚天版可选择的区域不受限制,并且支持集群架构,双可用区,主备可用区与RDS、ECS一致; Ÿ 版本:选择大版本Redis6.0,更兼容IDC向云迁移; Ÿ 连接模式:选用代理连接,客户端的请求由代理节点转发至数据分片,可享受代理节点带来的负载均衡、读写分离、故障转移、代理查询缓存、长连接等特性能力; Ÿ 分片规格:2G*2片,MySQL有 8G 可用内存,按照50%的比例为 Redis 分配 4G 内存是符合使用需求的。 Ÿ 在Redis实例中,重置账号密码,授权相应白名单,开启内网链接地址。RDS:
图4.4-1 **创建RDS**数据库
Redis:
图4.4-2 创建**Redis**数据库
4.5 迁移数据库
4.5.1 迁移前备份
MySQL:
在线下IDC数据库服务器上执行mysqldump命令,将整个数据库结构和数据导出为SQL文件,并将SQL文件上传到阿里云服务器或OSS对象存储中
在安全的测试环境中,使用命令将备份的SQL文件导入还原,测试备份数据前后是否一致。
Redis:
使用Redis内置命令BGSAVE进行物理备份,BGSAVE是异步执行,不会影响Redis运行;
将备份文件上传至阿里云OSS、物理盘等进行存储;
在云上创建一个测试环境,将备份文件下载至测试实例中,验证数据是都一致无误。
4.5.2 迁移
RDS **MySQL迁移:**
Ÿ 配置源库及目标库:在源库的信息中选择MySQL,实例地区,域名或IP,端口使用默认3306,并输入源数据库中的账号及密码;目的库中选择MySQL、云实例,实例地区,步骤3中所创建的RDS实例ID,以及创建的数据库和账号。 Ÿ 对象配置:根据业务的需要选择库表结构迁移+全量迁移+增量迁移;其他选择默认即可,选择需要迁移的源数据库; Ÿ 高级配置:保持默认; Ÿ 数据校验:按照需求选择校验方式的组合,在本项目迁移中选择结构校验;后续第一次迁移后,进行全量校验再进行增量迁移,此后每次进行增量迁移时,都需要进行全量校验和增量校验; Ÿ 购买:选择后付费,链路规格选择medium,此开始进行一次迁移。Redis迁移:
Ÿ 配置源库及目标库:在Redis实例中设置白名单,开启连接,并修改账号密码;输入密码以“auth 用户名:passwd”的格式进行输入, Ÿ 对象配置:为保证保证源库不停机下的数据一致性,需要选择全量迁移+增量迁移;其余保持默认,并将所有库进行全选; Ÿ 高级配置:保持默认; Ÿ 数据校验:选择全量校验,其余选项保持默认; Ÿ 购买:链路规格选择medium。MySQL**:使用数据传输服务进行数据迁移**
1**.**配置源库及目标库
图4.5-1
2.象配置、高级配置保持默认
图4.5-2
3.进行结构校验
图4.5-3
4.迁移
图4.5-4
Redis:
1.在Redis中配置白名单,开通连接地址,重置账号密码
图4.5-5
2.配置源库及目标库
图4.5-6
3.配置对象
图4.5-7
4.预图检查购买并迁移
图4.5-8
5.登录ECS实例,根据迁移后的数据库MySQL、Redis的新链接地址更改项目数据库连接地址
图4.5-9 修改服务器的配置文件
4.6 配置安全组
使用ping测试到数据库的连通性,并使用telnet 用于远程管理连接数据库,同时也是测试数据库的TCP端口是否开放。
图4.6-1 安全组
测试连通性:
图4.6-2 P**ing**数据库
4.7 配置存储
OSS:OSS是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。bucket名称不可以重复以及在选择与ECS相同的地域杭州,相同地域可以内网互通,视频会经常的被拉取,存储类型选用标准存储以及同城冗余存储,同城冗余存储是多可用区内的数据冗余存储机制,将用户的数据冗余存储在同一地域(Region)的多个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。OSS同城冗余存储提供99.9999999999%(12个9)的数据设计持久性。
配置:在IDC中心的服务器上拉取ossutils工具,并进行配置,在账号中申请AccessKey使用./ossutil config进行配置。并使用命令将服务器的数据上传至OSS中。
1.开通OSS服务,创建bucket
2.在本地服务器下载上传工具,将数据上传至OSS
4.8 配置NAT
公网NAT网关:选择与服务器相同的区域以及VPC,交换机可以任意选择,在为了规范使用在同一个vpc中新创建了交换机J作为NAT关联的交换机,访问模式选择稍后配置;新建的NAT实例中绑定弹性公网IP地址,在SNAT新建条目根据需求,选择VPC粒度在所有交换机中可以建立统一出口,同时也实现了防止内网IP地址的暴露。
测试出口验证
4.9 配置CLB
购买SSL证书:选择域名类型为通配符域名,OV证书是企业SSL证书的首选,通过企业认证确保代表企业SSL证书的真实性,拒绝网站风险,故而选择OV证书;品牌选择GeoTrust即可;
在本场景中不需要**ALB或NLB提供的高级特性和灵活性时,CLB就成为了一个相当好的选择。**
Ÿ 创建CLB:购买CLB使用按量付费,地域选择杭州,实例计费方式选择按使用量付费,不使用固定带宽,流量的峰值是不确定的,在特定的时间段并发率会高涨; Ÿ 配置监听:需要配置SSL整数在CLB上,即选择监听HTTPS协议,后端监听为HTTP,监听端口443是负载均衡对外提供的端口; Ÿ 配置SSL:选择购买的SSL证书 Ÿ 配置后端服务器组:选择默认服务器组,添加步骤2创建的两台分别在G可用区和H可用区的ECS,并将后端服务器端口选择80,是服务器对CLB提供的端口; Ÿ 最后选择验证,提交!并通过https://EIP进行对官网的访问。1、购买SSL证书
2、配置CLB
4.10 配置WAF
Ÿ 接入:在WAF界面中接入管理选择CNAME接入 Ÿ 配置监听:选择官网的域名,使用SSL证书的并行下选择HTTPS协议,选择已有证书,在本项目的架构在WAF前有CDN,即选择是有七层代理,以及选择官网资源组 Ÿ 配置转发:根据场景需要选择负载均衡算法使用IP hash,服务器地址使用的是后端负载均衡的公网IP地址。 Ÿ 修改网站DNS解析实现网站接入防护,模拟跨站脚本攻击验证WAF攻击防护效果。 Ÿ 创建访问控制策略组:将web应用防火墙回源IP段列表在CLB中创建访问控制策略组,在实例的管理中修改监听规则,点击高级配置修改,开启访问控制,方式选择白名单并选择创建的访问控制策略组。其余保持前面所选择的,并进行提交。1.CNAME接入,配置证书
2.修改DNS解析A值记录
3.模拟攻击:
4.开启CLB访问控制组:
4.11 配置CDN
CDN是为高效加速边缘节点转发,优化用户体验。在CDN添加两条域名,一是为OSS对象存储加速,一是为官网网站加速。
Ÿ 添加官网域名加速:选择加速区域为全球,业务类型根据官网的定量选择图片小文件,选择相应的资源组。根据CLB中的IP地址填写源站信息,CLB时添加了SSL证书故端口选择443,其余保持默认即可。修改CDN解析的CNAME记录,改为创建CDN所得到的CNAME记录值。实现全链路的HTTPS服务,在域名管理中选择HTTPS配置,开启HTTPS安全加速并选择与WAF、CLB相同的证书。在回源配置中开启并修改默认回源HOST,类型选择自定义,回源的HOST地址填写配置WAF所得的CNAME记录值。 Ÿ 验证:使用ping命令看回包,从开始配置了WAF由WAF进行回包,配置了CDN后由边缘节点进行回包。 Ÿ 添加OSS域名加速:选择加速区域为全球,业务类型根据官网的定量选择图片小文件,选择相应的资源组。选择OSS为源站信息,端口选择80。1.添加加速域名
2.新增源站信息
3.修改DNS解析的A值记录
4.开启HTTPS
5.验证
6.新增源站信息OSS
7.配置OSS的回源
4.12 云安全中心、云上堡垒机
根据网站的需求,选择购买云安全中心,更细粒度的保障服务器的安全。官网属于长期的项目选择包年包月价格会更加优惠。防护场景选用主机安全。在对比需求版本选择高级版即可符合场景中使用,其他参数选择保持默认。
再在主机中写入一些脚本对云安全中心进行效果测试。
1.在/var/www/html文件夹下写入一个php文件,内容如下:
2.在云安全中心可以发现有了新的告警任务,点击AI分析可以进行溯源,选择处理
3.配置网页防篡改;使用ssh登录服务器,并进入/var/www/html文件夹,对其中内容进行更改。因为目录被设置了防篡改,所以创建目录应该创建不成功。
4.13 配置弹性伸缩
弹性伸缩可以让业务在高峰访问期间可以弹性扩展,在访问量低于一定程度时可以弹性收缩,保证业务不会因为流量保障而骤然中断。
Ÿ 创建伸缩组:选择ECS类型,实例来源选择创建好的ECS,并根据要求设定最小实例数为2以及最大实例数可以设置为无上限。 Ÿ 创建伸缩规则:创建简单规则,一条增加一台ECS和一条减少一台ECS。 Ÿ 创建报警任务:报警任务需要配合伸缩规则使用,一条是在CPU平均使用率大于70%时,重复报警三次后触发增加ECS的伸缩规则,另一条是CPU平均使用率小于30%时,重复报警三次后触发减少ECS的伸缩规则。1.创建伸缩组
2.创建伸缩规则
3.创建报警任务
4.14 备份
MySQL、Redis备份策略:
1.购买备份计划,创建备份,系统会在源实例中进行白名单授权并测试连接
2.选择备份对象
3.配置周期备份,全量备份时间为01:00(业务低谷时间),开启增量备份10min
4.预检并启动
4.配置数据盘、系统盘自动快照策略
4.15 在DNS中配置CNAME,A记录
4.16 测试
在应用上云割接前,需要进行充分的功能测试与联调测试,验证云上环境应用运行情况。功能测试及联调测试依赖企业自己的测试团队及流程工作,不作过多描述,仅在此建议,对应用功能点进行分级,优先测试验证核心功能点,对不同级别功能点测试问题,制定不同紧急程度的问题跟踪。
第5章 割接实施
迁移实施完成后,进行割接演练并割接实施上云。
应用的割接上线是整个应用上云迁移实施的最关键环节,这一环节出问题,可能会造成重大故障。针对割接上线的重要性,我们建议在实施应用割接前,制定详细的割接前检查清单,这个清单的严谨程度很大程度上决定了割接成功率。根据我们以往的经验,对割接上线前的准备工作,以下给出几点经验:
割接前需要严格确认是否所有需要预先准备的工具、迁移环境(客户本地数据中心端、网络、云端)等已经就绪。
检查和确认云环境Landing Zone已经就绪,并且确认云环境中的规模,安全,控制,网络以及身份验证与设计保持一致。
割接上线时需多方人员参与,软件厂商、集成商、用户方、云厂商等,确认这些相关人员是否已经就绪。支持的方式是现场、远程还是电话。
回滚预案是否就绪。割接过程好像在打一场大的战役,很多的任务或子任务会分配半小时内计划执行结束,整个过程可能会非常紧张。为降低压力,即使因为某个主客观原因导致迁移无法成功进行,如果有补救措施会让整个迁移团队降低很多压力。这个补救措施之一就是回滚预案,也即是失败后回滚到客户的原数据中心恢复业务应用,需要在割接时预留回滚执行的时间。回滚执行后,然后拥有充足的时间排查问题,以备下一个割接窗口期内再次割接。
根据项目实际场景,设计一个检查清单,这个清单包含了迁移割接任务的全部前置条件。下图给出一个检查清单的示例模板,在具体的项目中可以根据项目需求来设计定制。
制定详细的割接实施方案
迁移项目是复杂的,大部分迁移割接的时候都会或多或少的遇到一些无法预料的问题。造成割接失败,可能有主观原因和客观因素。主观原因可能因为迁移调研问题、迁移方案设计缺陷、迁移验证过程不够全面等。客观因素通常是客户IDC、运营商网络、云数据中心故障等。无论哪种问题导致,都可能会对迁移割接造成失败。根据以往的项目经验,我们建议在割接前制定详细的割接实施方案,以下是关于割接实施方案的一些建议。
数据验证,确认割接时与割接前数据保持一致。通常客户的大部分服务器镜像及数据会在割接前预先在云端复制完成。在割接窗口期开启后需要确保云端复制的数据与客户数据中心下线前保持严格一致。
并非所有问题都会导致迁移失败。遇到问题的时候,首先评估问题的严重程度,如果不是关键业务应用的重要的问题,可以将割接流程继续进行,同时该问题继续解决。与客户协商,该问题是否会对业务有很大影响,如果客户可以接受的话,可以先上线,然后尽快解决该问题。
迁移时间拖延问题处理。如果割接时不够顺利,因为种种主客观原因导致迁移割接时间长于计划时间,可以与客户协调,一起决定是否可以延迟一些时间上线。通常设计割接计划时都会留出一些缓冲时间,如果需要延迟的时间过长是客户无法接受的,那就只能执行回滚预案了。
网络切换问题处理。比如IP,端口,网络配置,DNS等问题,在之前的调研和检查中出现遗漏。这种问题在割接时经常会遇到,出现这种问题紧急联系相关负责方尽快解决,但并不一定会影响割接整体进行。
迁移的不仅是服务器或数据。而是整个企业的IT应用及环境,客户应用需要的身份管理、安全配置、数据及系统备份、高可用性架构配置,容灾方案等都需要完成。
严格按照迁移设计方案中指定的云服务型号匹配云上资源。拿VM举例,通常云上会提供十几个系列,数百种VM型号,使用错误的VM即使能够将服务启动起来,但会带来性能、功能以及成本的问题。
迁移过程确保安全合规。数据迁移严格使用加密数据传输,加密数据存储。证书、密码、权限按照合规的方式申请和使用,杜绝泄露隐患。避免因安全合规性问题带给客户严重损失。
制定详细的割接及回滚步骤,明确每个步骤执行时间点,前置条件,相关责任人等。以下是割接及回滚步骤的示例模板,在具体的项目中可以根据项目需求来设计定制。
割接实施步骤模板示例:
回滚实施步骤模板示例:
割接后持续观察验证
割接后对迁移的应用云上运行情况持续观察验证,做好业务和数据做好监控,持续观察业务的运行状态,直到确认完全没有问题,割接执行工作才算基本结束。
第6章 项目验收
割接业务后,完成项目验收。